35 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
44 bind(c, name=
'hip_tnsr3d_el_list')
45 use,
intrinsic :: iso_c_binding
46 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
47 integer(c_int) :: nu, nv, n_points
51 subroutine hip_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
52 bind(c, name=
'hip_tnsr3d')
53 use,
intrinsic :: iso_c_binding
54 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
55 integer(c_int) :: nu, nv, nelv
61 bind(c, name=
'cuda_tnsr3d_el_list')
62 use,
intrinsic :: iso_c_binding
63 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
64 integer(c_int) :: nu, nv, n_points
68 subroutine cuda_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
69 bind(c, name=
'cuda_tnsr3d')
70 use,
intrinsic :: iso_c_binding
71 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
72 integer(c_int) :: nu, nv, nelv
78 bind(c, name=
'opencl_tnsr3d_el_list')
79 use,
intrinsic :: iso_c_binding
80 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d, elements
81 integer(c_int) :: nu, nv, n_points
85 subroutine opencl_tnsr3d(v_d, nv, u_d, nu, A_d, Bt_d, Ct_d, nelv) &
86 bind(c, name=
'opencl_tnsr3d')
87 use,
intrinsic :: iso_c_binding
88 type(c_ptr),
value :: v_d, u_d, A_d, Bt_d, Ct_d
89 integer(c_int) :: nu, nv, nelv
96 type(c_ptr) :: v_d, u_d, a_d, bt_d, ct_d
97 integer(c_int) :: nu, nv, nelv
99 call hip_tnsr3d(v_d, nv, u_d, nu, a_d, bt_d, ct_d, nelv)
101 call cuda_tnsr3d(v_d, nv, u_d, nu, a_d, bt_d, ct_d, nelv)
105 call neko_error(
'No device backend configured')
110 type(c_ptr) :: v_d, u_d, a_d, bt_d, ct_d, elements
111 integer(c_int) :: nu, nv, n_points
119 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)