36 use,
intrinsic :: iso_c_binding
42 bla_x, bla_y, bla_z, m, strm) &
43 bind(c, name =
'hip_inhom_dirichlet_apply_vector')
44 use,
intrinsic :: iso_c_binding
48 type(c_ptr),
value :: msk, x, y, z, bla_x, bla_y, bla_z, strm
54 bla_x, bla_y, bla_z, m, strm) &
55 bind(c, name =
'cuda_inhom_dirichlet_apply_vector')
56 use,
intrinsic :: iso_c_binding
60 type(c_ptr),
value :: msk, x, y, z, bla_x, bla_y, bla_z, strm
66 bla_x, bla_y, bla_z, m, strm) &
67 bind(c, name =
'opencl_inhom_dirichlet_apply_vector')
68 use,
intrinsic :: iso_c_binding
72 type(c_ptr),
value :: msk, x, y, z, bla_x, bla_y, bla_z, strm
78 subroutine metal_inhom_dirichlet_apply_vector(msk, x, y, z, &
79 bla_x, bla_y, bla_z, m, strm) &
80 bind(c, name =
'metal_inhom_dirichlet_apply_vector')
81 use,
intrinsic :: iso_c_binding
85 type(c_ptr),
value :: msk, x, y, z, bla_x, bla_y, bla_z, strm
86 end subroutine metal_inhom_dirichlet_apply_vector
94 bind(c, name =
'hip_inhom_dirichlet_apply_scalar')
95 use,
intrinsic :: iso_c_binding
99 type(c_ptr),
value :: msk, x, bla_x, strm
105 bind(c, name =
'cuda_inhom_dirichlet_apply_scalar')
106 use,
intrinsic :: iso_c_binding
110 type(c_ptr),
value :: msk, x, bla_x, strm
116 bind(c, name =
'opencl_inhom_dirichlet_apply_scalar')
117 use,
intrinsic :: iso_c_binding
121 type(c_ptr),
value :: msk, x, bla_x, strm
126 subroutine metal_inhom_dirichlet_apply_scalar(msk, x, bla_x, m, strm) &
127 bind(c, name =
'metal_inhom_dirichlet_apply_scalar')
128 use,
intrinsic :: iso_c_binding
132 type(c_ptr),
value :: msk, x, bla_x, strm
133 end subroutine metal_inhom_dirichlet_apply_scalar
140 bla_x, bla_y, bla_z, m, strm)
141 integer,
intent(in) :: m
142 type(c_ptr) :: msk, x, y, z, bla_x, bla_y, bla_z, strm
147 bla_x, bla_y, bla_z, m, strm)
150 bla_x, bla_y, bla_z, m, strm)
153 bla_x, bla_y, bla_z, m, strm)
155 call metal_inhom_dirichlet_apply_vector(msk, x, y, z, &
156 bla_x, bla_y, bla_z, m, strm)
158 call neko_error(
'No device backend configured')
164 integer,
intent(in) :: m
165 type(c_ptr) :: msk, x, bla_x, strm
175 call metal_inhom_dirichlet_apply_scalar(msk, x, bla_x, m, strm)
177 call neko_error(
'No device backend configured')
void opencl_inhom_dirichlet_apply_scalar(void *msk, void *x, void *bla_x, int *m, cl_command_queue cmd_queue)
void opencl_inhom_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, void *bla_x, void *bla_y, void *bla_z, int *m, cl_command_queue cmd_queue)
void cuda_inhom_dirichlet_apply_scalar(void *msk, void *x, void *bla_x, int *m, cudaStream_t strm)
void cuda_inhom_dirichlet_apply_vector(void *msk, void *x, void *y, void *z, void *bla_x, void *bla_y, void *bla_z, int *m, cudaStream_t strm)
subroutine device_inhom_dirichlet_apply_scalar(msk, x, bla_x, m, strm)
subroutine device_inhom_dirichlet_apply_vector(msk, x, y, z, bla_x, bla_y, bla_z, m, strm)
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.