52                           void *
u, 
void *
v, 
void *
w,
 
   53                           void *
dx, 
void *
dy, 
void *
dz,
 
   59                           void *
jacinv, 
void *
w3, 
int *nelv, 
int *lx) {
 
   65#define CASE_VECTOR_KSTEP(LX)                                                            \ 
   66    ax_helm_stress_kernel_vector_kstep<real, LX>                                         \ 
   67    <<<nblcks, nthrds, 0, stream>>> ((real *) au, (real *) av, (real *) aw,              \ 
   68                                     (real *) u, (real *) v, (real *) w,                 \ 
   69                                     (real *) dx, (real *) dy, (real *) dz,  (real *) h1,\ 
   70                                     (real *) drdx, (real *) drdy, (real *) drdz,        \ 
   71                                     (real *) dsdx, (real *) dsdy, (real *) dsdz,        \ 
   72                                     (real *) dtdx, (real *) dtdy, (real *) dtdz,        \ 
   73                                     (real *) jacinv, (real *) w3);                      \ 
   74    CUDA_CHECK(cudaGetLastError()); 
   76#define CASE_VECTOR_KSTEP_PADDED(LX)                                                     \ 
   77    ax_helm_stress_kernel_vector_kstep_padded<real, LX>                                  \ 
   78    <<<nblcks, nthrds, 0, stream>>> ((real *) au, (real *) av, (real *) aw,              \ 
   79                                     (real *) u, (real *) v, (real *) w,                 \ 
   80                                     (real *) dx, (real *) dy, (real *) dz,  (real *) h1,\ 
   81                                     (real *) drdx, (real *) drdy, (real *) drdz,        \ 
   82                                     (real *) dsdx, (real *) dsdy, (real *) dsdz,        \ 
   83                                     (real *) dtdx, (real *) dtdy, (real *) dtdz,        \ 
   84                                     (real *) jacinv, (real *) w3);                      \ 
   85    CUDA_CHECK(cudaGetLastError()); 
   87#define CASE_VECTOR(LX)                                                         \ 
   89      CASE_VECTOR_KSTEP(LX);                                                    \ 
   92#define CASE_VECTOR_PADDED(LX)                                                  \ 
   94      CASE_VECTOR_KSTEP_PADDED(LX);                                             \ 
 
  125                                 void *
u, 
void *
v, 
void *
w,
 
  126                                 void *h2, 
void *
B, 
int *n) {
 
  129    const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
 
 
void cuda_ax_helm_stress_vector(void *au, void *av, void *aw, void *u, void *v, void *w, void *dx, void *dy, void *dz, void *dxt, void *dyt, void *dzt, void *h1, void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *jacinv, void *w3, int *nelv, int *lx)
 
void cuda_ax_helm_stress_vector_part2(void *au, void *av, void *aw, void *u, void *v, void *w, void *h2, void *B, int *n)
 
#define CASE_VECTOR_PADDED(LX)
 
__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__ aw
 
__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__ w
 
__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__ u
 
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dx
 
__global__ void T *__restrict__ av
 
__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__ v
 
__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__ const T *__restrict__ const T *__restrict__ h1
 
__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__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ w3
 
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dzt
 
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dyt
 
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dxt
 
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)