35#include <hip/hip_runtime.h>
39template<
typename T, const
int LX >
56 const int k =
jk /
LX;
66 for (
int l = 0; l <
LX; l++) {
72 for (
int l = 0; l <
LX; l++) {
78 for (
int l = 0; l <
LX; l++) {
85 if (
i == 0 ||
i ==
LX-1) {
90 if (
j == 0 ||
j ==
LX-1) {
95 if (
k == 0 ||
k ==
LX-1) {
110 int *nel,
int *
lxp) {
118 hipLaunchKernelGGL(HIP_KERNEL_NAME( jacobi_kernel<real, N> ),\
119 blocks, threads, 0, (hipStream_t) glb_cmd_queue,\
121 (real *) dxt, (real *) dyt, (real *) dzt,\
122 (real *) G11, (real *) G22, (real *) G33,\
123 (real *) G12, (real *) G13, (real *) G23,\
__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)
void hip_jacobi_update(void *d, void *dxt, void *dyt, void *dzt, void *G11, void *G22, void *G33, void *G12, void *G13, void *G23, int *nel, int *lxp)
__global__ void jacobi_kernel(T *__restrict__ du, const T *__restrict__ dxt, const T *__restrict__ dyt, const T *__restrict__ dzt, const T *__restrict__ G11, const T *__restrict__ G22, const T *__restrict__ G33, const T *__restrict__ G12, const T *__restrict__ G13, const T *__restrict__ G23, const int nel)