35 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
45 bind(c, name =
'hip_tnsr3d_el_list')
46 use,
intrinsic :: iso_c_binding
47 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
48 integer(c_int) :: nu, nv, n_points
52 subroutine hip_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
53 bind(c, name =
'hip_tnsr3d')
54 use,
intrinsic :: iso_c_binding
55 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
56 integer(c_int) :: nu, nv, nelv
63 bind(c, name =
'cuda_tnsr3d_el_list')
64 use,
intrinsic :: iso_c_binding
65 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
66 integer(c_int) :: nu, nv, n_points
70 subroutine cuda_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
71 bind(c, name =
'cuda_tnsr3d')
72 use,
intrinsic :: iso_c_binding
73 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
74 integer(c_int) :: nu, nv, nelv
81 bind(c, name =
'opencl_tnsr3d_el_list')
82 use,
intrinsic :: iso_c_binding
83 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
84 integer(c_int) :: nu, nv, n_points
88 subroutine opencl_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
89 bind(c, name =
'opencl_tnsr3d')
90 use,
intrinsic :: iso_c_binding
91 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
92 integer(c_int) :: nu, nv, nelv
99 type(c_ptr) :: v_d, u_d, a_d, bt_d, ct_d
100 integer(c_int) :: nu, nv, nelv
102 call hip_tnsr3d(v_d, nv, u_d, nu, a_d, bt_d, ct_d, nelv)
104 call cuda_tnsr3d(v_d, nv, u_d, nu, a_d, bt_d, ct_d, nelv)
108 call neko_error(
'No device backend configured')
114 type(c_ptr) :: v_d, u_d, a_d, bt_d, ct_d, elements
115 integer(c_int) :: nu, nv, n_points
126 call neko_error(
'No device backend configured')
subroutine, public tnsr3d_el_list_device(v_d, nv, u_d, nu, a_d, bt_d, ct_d, elements, n_points)
subroutine, public tnsr3d_device(v_d, nv, u_d, nu, a_d, bt_d, ct_d, nelv)
void opencl_tnsr3d(void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *nel)
void opencl_tnsr3d_el_list(void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *elements, int *n_points)
void cuda_tnsr3d(void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *nel)
void cuda_tnsr3d_el_list(void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *elements, int *n_points)