38 use,
intrinsic :: iso_c_binding
47 bind(c, name =
'hip_project_on')
48 use,
intrinsic :: iso_c_binding
51 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, mult_d, x_d
52 integer(c_int) :: j, n
58 w_d, xm_d, j, n, nrm) &
59 bind(c, name =
'hip_project_ortho')
60 use,
intrinsic :: iso_c_binding
63 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, w_d
64 type(c_ptr),
value :: xm_d
65 integer(c_int) :: j, n
72 bind(c, name =
'cuda_project_on')
73 use,
intrinsic :: iso_c_binding
76 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, mult_d, x_d
77 integer(c_int) :: j, n
83 w_d, xm_d, j, n, nrm) &
84 bind(c, name =
'cuda_project_ortho')
85 use,
intrinsic :: iso_c_binding
88 type(c_ptr),
value :: a_d, b_d, x_d_d, b_d_d, w_d
89 type(c_ptr),
value :: xm_d
90 integer(c_int) :: j, n
99 type(c_ptr),
value :: alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d
100 integer(c_int) :: j, n
103 call hip_project_on(alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d, j, n)
107 call neko_error(
'No device backend configured')
112 w_d, xm_d, j, n, nrm)
113 type(c_ptr),
value :: alpha_d, b_d, x_d_d, b_d_d
114 type(c_ptr),
value :: w_d, xm_d
115 integer(c_int) :: j, n
123 call neko_error(
'No device backend configured')
Interface for device projection.
subroutine, public device_proj_on(alpha_d, b_d, x_d_d, b_d_d, mult_d, xbar_d, j, n)
subroutine, public 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
integer, parameter, public rp
Global precision used in computations.
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)