35 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
41 bind(c, name =
'hip_zero_dirichlet_apply_scalar')
42 use,
intrinsic :: iso_c_binding
45 type(c_ptr),
value :: msk, x, strm
51 bind(c, name =
'hip_zero_dirichlet_apply_vector')
52 use,
intrinsic :: iso_c_binding
55 type(c_ptr),
value :: msk, x, y, z, strm
61 bind(c, name =
'cuda_zero_dirichlet_apply_scalar')
62 use,
intrinsic :: iso_c_binding
65 type(c_ptr),
value :: msk, x, strm
71 bind(c, name =
'cuda_zero_dirichlet_apply_vector')
72 use,
intrinsic :: iso_c_binding
75 type(c_ptr),
value :: msk, x, y, z, strm
81 bind(c, name =
'opencl_zero_dirichlet_apply_scalar')
82 use,
intrinsic :: iso_c_binding
85 type(c_ptr),
value :: msk, x, strm
91 bind(c, name =
'opencl_zero_dirichlet_apply_vector')
92 use,
intrinsic :: iso_c_binding
95 type(c_ptr),
value :: msk, x, y, z, strm
106 integer,
intent(in) :: m
107 type(c_ptr) :: msk, x, strm
116 call neko_error(
'No device backend configured')
122 integer,
intent(in) :: m
123 type(c_ptr) :: msk, x, y, z, strm
132 call neko_error(
'No device backend configured')
subroutine, public device_zero_dirichlet_apply_vector(msk, x, y, z, m, strm)
subroutine, public device_zero_dirichlet_apply_scalar(msk, x, m, strm)
void opencl_zero_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, int *m, cl_command_queue cmd_queue)
void opencl_zero_dirichlet_apply_scalar(void *msk, void *x, int *m, cl_command_queue cmd_queue)
void cuda_zero_dirichlet_apply_scalar(void *msk, void *x, int *m, cudaStream_t strm)
void cuda_zero_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, int *m, cudaStream_t strm)