__device__ matrix module_potentialDerivatives_totalGradient2_81_SOA_GPU(const struct point *pImage, const struct Potential_SOA *lens, int shalos, int nhalos){
__device__ matrix module_potentialDerivatives_totalGradient2_14_SOA_GPU(const struct point *pImage, const struct Potential_SOA *lens, int shalos, int nhalos){
int col = blockIdx.x*blockDim.x + threadIdx.x;
int row = blockIdx.y*blockDim.y + threadIdx.y;
//if(row == 0 && col == 0) printf("Start GPU Grad 14 %f %f\n",lens->anglecos[0],lens->anglesin[0]);
struct matrix grad2, grad2_temp, clump;
grad2.a = 0;
grad2.b = 0;
grad2.c = 0;
grad2.d = 0;
for(int i = shalos; i < shalos + nhalos; i++)
{
//if(col == 0 and row == 0)printf(" 14! : I %d %f %f %f ",i, lens->anglecos[i],lens->anglesin[i],lens->ellipticity_potential[i]);