46 void *G22,
void *G23,
void *G33,
53 const dim3 nthrds(1024, 1, 1);
54 const dim3 nblcks((*nel), 1, 1);
57 #define GEO_CASE(LX) \
59 coef_generate_geo_kernel<real, LX, 1024> \
60 <<<nblcks, nthrds, 0, stream>>> \
61 ((real *) G11, (real *) G12, (real *) G13, \
62 (real *) G22, (real *) G23, (real *) G33, \
63 (real *) drdx, (real *) drdy, (real *) drdz, \
64 (real *) dsdx, (real *) dsdy, (real *) dsdz, \
65 (real *) dtdx, (real *) dtdy, (real *) dtdz, \
66 (real *) jacinv, (real *) w3, *gdim); \
67 CUDA_CHECK(cudaGetLastError()); \
88 fprintf(stderr, __FILE__
": size not supported: %d\n", *lx);
100 void *dxdr,
void *dydr,
void *dzdr,
101 void *dxds,
void *dyds,
void *dzds,
102 void *dxdt,
void *dydt,
void *dzdt,
103 void *
dx,
void *
dy,
void *
dz,
104 void *
x,
void *y,
void *z,
108 const int n = (*nel) * (*lx) * (*lx) * (*lx);
109 const dim3 nthrds(1024, 1, 1);
110 const dim3 nblcks_dxyz((*nel), 1, 1);
111 const dim3 nblcks_drst((n + 1024 - 1)/ 1024, 1, 1);
114 #define DXYZDRST_CASE(LX) \
116 coef_generate_dxyz_kernel<real, LX, 1024> \
117 <<<nblcks_dxyz, nthrds, 0, stream>>> \
118 ((real *) dxdr, (real *) dydr, (real *) dzdr, \
119 (real *) dxds, (real *) dyds, (real *) dzds, \
120 (real *) dxdt, (real *) dydt, (real *) dzdt, \
121 (real *) dx, (real *) dy, (real *) dz, \
122 (real *) x, (real *) y, (real *) z); \
123 CUDA_CHECK(cudaGetLastError()); \
144 fprintf(stderr, __FILE__
": size not supported: %d\n", *lx);
149 coef_generate_drst_kernel<real>
150 <<<nblcks_drst, nthrds, 0, stream>>>
void cuda_coef_generate_dxyzdrst(void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *dxdr, void *dydr, void *dzdr, void *dxds, void *dyds, void *dzds, void *dxdt, void *dydt, void *dzdt, void *dx, void *dy, void *dz, void *x, void *y, void *z, void *jacinv, void *jac, int *lx, int *nel)
#define DXYZDRST_CASE(LX)
void cuda_coef_generate_geo(void *G11, void *G12, void *G13, void *G22, void *G23, void *G33, void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *jacinv, void *w3, int *nel, int *lx, int *gdim)
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ jacinv
__global__ void const T *__restrict__ x
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ w3