38 use,
intrinsic :: iso_c_binding
44 bind(c, name=
'hip_project_on')
45 use,
intrinsic :: iso_c_binding
48 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, mult_d, x_d
49 integer(c_int) :: j, n
55 w_d, xm_d, j, n, nrm) &
56 bind(c, name=
'hip_project_ortho')
57 use,
intrinsic :: iso_c_binding
60 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, w_d
61 type(c_ptr),
value :: xm_d
62 integer(c_int) :: j, n
69 bind(c, name=
'cuda_project_on')
70 use,
intrinsic :: iso_c_binding
73 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, mult_d, x_d
74 integer(c_int) :: j, n
80 w_d, xm_d, j, n, nrm) &
81 bind(c, name=
'cuda_project_ortho')
82 use,
intrinsic :: iso_c_binding
85 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, w_d
86 type(c_ptr),
value :: xm_d
87 integer(c_int) :: j, n
96 type(c_ptr),
value :: alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d
97 integer(c_int) :: j, n
100 call hip_project_on(alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d, j, n)
104 call neko_error(
'No device backend configured')
109 w_d, xm_d, j, n, nrm)
110 type(c_ptr),
value :: alpha_d, b_d, x_d_d, b_d_d
111 type(c_ptr),
value :: w_d, xm_d
112 integer(c_int) :: j, n
120 call neko_error(
'No device backend configured')
Interface for device projection.
subroutine device_proj_on(alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d, j, n)
subroutine device_project_ortho(alpha_d, b_d, x_d_d, b_d_d, w_d, xm_d, j, n, nrm)
integer, parameter, public c_rp
void cuda_project_ortho(void *alpha, void *b, void *xx, void *bb, void *w, void *xm, int *j, int *n, real *nrm)
void cuda_project_on(void *alpha, void *b, void *xx, void *bb, void *mult, void *xbar, int *j, int *n)