44 use,
intrinsic :: iso_c_binding, only : c_ptr, c_null_ptr, c_associated
65 G11_d, G22_d, G33_d, G12_d, G13_d, G23_d, nelv, lx) &
66 bind(c, name=
'hip_jacobi_update')
67 use,
intrinsic :: iso_c_binding
68 type(c_ptr),
value :: d_d, dxt_d, dyt_d, dzt_d
69 type(c_ptr),
value :: G11_d, G22_d, G33_d, G12_d, G13_d, G23_d
70 integer(c_int) :: nelv, lx
76 G11_d, G22_d, G33_d, G12_d, G13_d, G23_d, nelv, lx) &
77 bind(c, name=
'cuda_jacobi_update')
78 use,
intrinsic :: iso_c_binding
79 type(c_ptr),
value :: d_d, dxt_d, dyt_d, dzt_d
80 type(c_ptr),
value :: G11_d, G22_d, G33_d, G12_d, G13_d, G23_d
81 integer(c_int) :: nelv, lx
87 G11_d, G22_d, G33_d, G12_d, G13_d, G23_d, nelv, lx) &
88 bind(c, name=
'opencl_jacobi_update')
89 use,
intrinsic :: iso_c_binding
90 type(c_ptr),
value :: d_d, dxt_d, dyt_d, dzt_d
91 type(c_ptr),
value :: G11_d, G22_d, G33_d, G12_d, G13_d, G23_d
92 integer(c_int) :: nelv, lx
98 G11_d, G22_d, G33_d, G12_d, G13_d, G23_d, nelv, lx) &
99 bind(c, name=
'metal_jacobi_update')
100 use,
intrinsic :: iso_c_binding
101 type(c_ptr),
value :: d_d, dxt_d, dyt_d, dzt_d
102 type(c_ptr),
value :: G11_d, G22_d, G33_d, G12_d, G13_d, G23_d
103 integer(c_int) :: nelv, lx
168 integer :: lz, ly, lx
169 associate(dof => this%dof, coef => this%coef, xh => this%dof%Xh, &
170 gs_h => this%gs_h, nelv => this%dof%msh%nelv)
178 coef%G11_d, coef%G22_d, coef%G33_d, &
179 coef%G12_d, coef%G13_d, coef%G23_d, &
183 coef%G11_d, coef%G22_d, coef%G33_d, &
184 coef%G12_d, coef%G13_d, coef%G23_d, &
188 coef%G11_d, coef%G22_d, coef%G33_d, &
189 coef%G12_d, coef%G13_d, coef%G23_d, &
193 coef%G11_d, coef%G22_d, coef%G33_d, &
194 coef%G12_d, coef%G13_d, coef%G23_d, &
198 call device_col2(this%d_d, coef%h1_d, coef%dof%size())
201 call device_addcol3(this%d_d, coef%h2_d, coef%B_d, coef%dof%size())
204 call gs_h%op(this%d, dof%size(), gs_op_add, this%gs_event)
__device__ T solve(const T u, const T y, const T guess, const T nu, const T kappa, const T B)
subroutine, public device_col3(a_d, b_d, c_d, n, strm)
Vector multiplication with 3 vectors .
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...