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)