36 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
43 bind(c, name=
'hip_dirichlet_apply_scalar')
44 use,
intrinsic :: iso_c_binding
49 type(c_ptr),
value :: msk, x
55 bind(c, name=
'hip_dirichlet_apply_vector')
56 use,
intrinsic :: iso_c_binding
61 type(c_ptr),
value :: msk, x, y, z
67 bind(c, name=
'cuda_dirichlet_apply_scalar')
68 use,
intrinsic :: iso_c_binding
73 type(c_ptr),
value :: msk, x
79 bind(c, name=
'cuda_dirichlet_apply_vector')
80 use,
intrinsic :: iso_c_binding
85 type(c_ptr),
value :: msk, x, y, z
91 bind(c, name=
'opencl_dirichlet_apply_scalar')
92 use,
intrinsic :: iso_c_binding
97 type(c_ptr),
value :: msk, x
103 bind(c, name=
'opencl_dirichlet_apply_vector')
104 use,
intrinsic :: iso_c_binding
109 type(c_ptr),
value :: msk, x, y, z
119 integer,
intent(in) :: m
120 type(c_ptr) :: msk, x
121 real(kind=
rp),
intent(in) :: g
130 call neko_error(
'No device backend configured')
136 integer,
intent(in) :: m
137 type(c_ptr) :: msk, x, y, z
138 real(kind=
rp),
intent(in) :: g
147 call neko_error(
'No device backend configured')
void opencl_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, real *g, int *m)
void opencl_dirichlet_apply_scalar(void *msk, void *x, real *g, int *m)
void cuda_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, real *g, int *m)
void cuda_dirichlet_apply_scalar(void *msk, void *x, real *g, int *m)
subroutine, public device_dirichlet_apply_scalar(msk, x, g, m)
subroutine, public device_dirichlet_apply_vector(msk, x, y, z, g, m)
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.