35 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
42 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm) &
43 bind(c, name =
'hip_coupled_vector_bc_projector_apply')
44 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
47 type(c_ptr),
value :: mixed_msk, x, y, z
48 type(c_ptr),
value :: constraint_n, constraint_t1, constraint_t2
49 type(c_ptr),
value :: n, t1, t2, strm
55 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm) &
56 bind(c, name =
'cuda_coupled_vector_bc_projector_apply')
57 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
60 type(c_ptr),
value :: mixed_msk, x, y, z
61 type(c_ptr),
value :: constraint_n, constraint_t1, constraint_t2
62 type(c_ptr),
value :: n, t1, t2, strm
68 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm) &
69 bind(c, name =
'opencl_coupled_vector_bc_projector_apply')
70 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
73 type(c_ptr),
value :: mixed_msk, x, y, z
74 type(c_ptr),
value :: constraint_n, constraint_t1, constraint_t2
75 type(c_ptr),
value :: n, t1, t2, strm
80 subroutine metal_coupled_vector_bc_projector_apply(mixed_msk, x, y, z, &
81 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm) &
82 bind(c, name =
'metal_coupled_vector_bc_projector_apply')
83 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
86 type(c_ptr),
value :: mixed_msk, x, y, z
87 type(c_ptr),
value :: constraint_n, constraint_t1, constraint_t2
88 type(c_ptr),
value :: n, t1, t2, strm
89 end subroutine metal_coupled_vector_bc_projector_apply
98 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)
99 integer,
intent(in) :: m
100 type(c_ptr),
intent(in) :: mixed_msk, x, y, z
101 type(c_ptr),
intent(in) :: constraint_n, constraint_t1, constraint_t2
102 type(c_ptr),
intent(in) :: n, t1, t2
103 type(c_ptr),
intent(in) :: strm
107 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)
110 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)
113 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)
115 call metal_coupled_vector_bc_projector_apply(mixed_msk, x, y, z, &
116 constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)
118 call neko_error(
'No device backend configured for coupled vector BC apply')
void opencl_coupled_vector_bc_projector_apply(void *mixed_msk, void *x, void *y, void *z, void *constraint_n, void *constraint_t1, void *constraint_t2, void *n, void *t1, void *t2, int *m, cl_command_queue cmd_queue)
void cuda_coupled_vector_bc_projector_apply(void *mixed_msk, void *x, void *y, void *z, void *constraint_n, void *constraint_t1, void *constraint_t2, void *n, void *t1, void *t2, int *m, cudaStream_t strm)
subroutine, public device_coupled_vector_bc_projector_apply(mixed_msk, x, y, z, constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm)