37  use, 
intrinsic :: iso_c_binding, only : c_ptr, c_int
 
   44          bind(c, name=
'hip_fdm_do_fast')
 
   45       use, 
intrinsic :: iso_c_binding
 
   46       type(c_ptr), 
value :: e_d, r_d, s_d, d_d, stream
 
   47       integer(c_int) :: nl, nelv
 
 
   53          bind(c, name=
'cuda_fdm_do_fast')
 
   54       use, 
intrinsic :: iso_c_binding
 
   55       type(c_ptr), 
value :: e_d, r_d, s_d, d_d, stream
 
   56       integer(c_int) :: nl, nelv
 
   62          bind(c, name=
'opencl_fdm_do_fast')
 
   63       use, 
intrinsic :: iso_c_binding
 
   64       type(c_ptr), 
value :: e_d, r_d, s_d, d_d, stream
 
   65       integer(c_int) :: nl, nelv
 
   75    integer, 
intent(in) :: nl, nelv, ldim
 
   76    real(kind=
rp), 
intent(inout) :: e(nl**ldim, nelv)
 
   77    real(kind=
rp), 
intent(inout) :: r(nl**ldim, nelv)
 
   78    real(kind=
rp), 
intent(inout) :: s(nl*nl,2,ldim, nelv)
 
   79    real(kind=
rp), 
intent(inout) :: d(nl**ldim, nelv)
 
   80    type(c_ptr) :: e_d, r_d, s_d, d_d
 
   81    type(c_ptr), 
optional :: stream
 
   87    if (.not. 
present(stream)) stream = glb_cmd_queue
 
   88    if (ldim .ne. 3) 
call neko_error(
'fdm dim not supported')
 
   97    call neko_error(
'No device backend configured')
 
 
void opencl_fdm_do_fast(void *e, void *r, void *s, void *d, int *nl, int *nel, cl_command_queue cmd_queue)
 
void cuda_fdm_do_fast(void *e, void *r, void *s, void *d, int *nl, int *nel, cudaStream_t stream)
 
Return the device pointer for an associated Fortran array.
 
Device abstraction, common interface for various accelerators.
 
subroutine, public fdm_do_fast_device(e, r, s, d, nl, ldim, nelv, stream)
 
integer, parameter, public rp
Global precision used in computations.