36 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
45 drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
46 jacinv, w3, nel, lx, gdim) &
47 bind(c, name=
'hip_coef_generate_geo')
48 use,
intrinsic :: iso_c_binding
50 type(c_ptr),
value :: G11, G12, G13, G22, G23, G33
51 type(c_ptr),
value :: drdx, drdy, drdz
52 type(c_ptr),
value :: dsdx, dsdy, dsdz
53 type(c_ptr),
value :: dtdx, dtdy, dtdz
54 type(c_ptr),
value :: jacinv, w3
55 integer(c_int) :: nel, gdim, lx
61 dsdz, dtdx, dtdy, dtdz, dxdr, dydr, dzdr, dxds, dyds, dzds, dxdt, &
62 dydt, dzdt, dx, dy, dz, x, y, z, jacinv, jac, lx, nel) &
63 bind(c, name=
'hip_coef_generate_dxyzdrst')
64 use,
intrinsic :: iso_c_binding
66 type(c_ptr),
value :: drdx, drdy, drdz
67 type(c_ptr),
value :: dsdx, dsdy, dsdz
68 type(c_ptr),
value :: dtdx, dtdy, dtdz
69 type(c_ptr),
value :: dxdr, dydr, dzdr
70 type(c_ptr),
value :: dxds, dyds, dzds
71 type(c_ptr),
value :: dxdt, dydt, dzdt
72 type(c_ptr),
value :: dx, dy, dz, x, y, z
73 type(c_ptr),
value :: jacinv, jac
74 integer(c_int) :: lx, nel
80 drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
81 jacinv, w3, nel, lx, gdim) &
82 bind(c, name=
'cuda_coef_generate_geo')
83 use,
intrinsic :: iso_c_binding
85 type(c_ptr),
value :: G11, G12, G13, G22, G23, G33
86 type(c_ptr),
value :: drdx, drdy, drdz
87 type(c_ptr),
value :: dsdx, dsdy, dsdz
88 type(c_ptr),
value :: dtdx, dtdy, dtdz
89 type(c_ptr),
value :: jacinv, w3
90 integer(c_int) :: nel, gdim, lx
96 dsdz, dtdx, dtdy, dtdz, dxdr, dydr, dzdr, dxds, dyds, dzds, dxdt, &
97 dydt, dzdt, dx, dy, dz, x, y, z, jacinv, jac, lx, nel) &
98 bind(c, name=
'cuda_coef_generate_dxyzdrst')
99 use,
intrinsic :: iso_c_binding
101 type(c_ptr),
value :: drdx, drdy, drdz
102 type(c_ptr),
value :: dsdx, dsdy, dsdz
103 type(c_ptr),
value :: dtdx, dtdy, dtdz
104 type(c_ptr),
value :: dxdr, dydr, dzdr
105 type(c_ptr),
value :: dxds, dyds, dzds
106 type(c_ptr),
value :: dxdt, dydt, dzdt
107 type(c_ptr),
value :: dx, dy, dz, x, y, z
108 type(c_ptr),
value :: jacinv, jac
109 integer(c_int) :: lx, nel
115 drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
116 jacinv, w3, nel, lx, gdim) &
117 bind(c, name=
'opencl_coef_generate_geo')
118 use,
intrinsic :: iso_c_binding
120 type(c_ptr),
value :: G11, G12, G13, G22, G23, G33
121 type(c_ptr),
value :: drdx, drdy, drdz
122 type(c_ptr),
value :: dsdx, dsdy, dsdz
123 type(c_ptr),
value :: dtdx, dtdy, dtdz
124 type(c_ptr),
value :: jacinv, w3
125 integer(c_int) :: nel, gdim, lx
131 dsdz, dtdx, dtdy, dtdz, dxdr, dydr, dzdr, dxds, dyds, dzds, dxdt, &
132 dydt, dzdt, dx, dy, dz, x, y, z, jacinv, jac, lx, nel) &
133 bind(c, name=
'opencl_coef_generate_dxyzdrst')
134 use,
intrinsic :: iso_c_binding
136 type(c_ptr),
value :: drdx, drdy, drdz
137 type(c_ptr),
value :: dsdx, dsdy, dsdz
138 type(c_ptr),
value :: dtdx, dtdy, dtdz
139 type(c_ptr),
value :: dxdr, dydr, dzdr
140 type(c_ptr),
value :: dxds, dyds, dzds
141 type(c_ptr),
value :: dxdt, dydt, dzdt
142 type(c_ptr),
value :: dx, dy, dz, x, y, z
143 type(c_ptr),
value :: jacinv, jac
144 integer(c_int) :: lx, nel
152 G23_d, G33_d, drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, &
153 dsdz_d, dtdx_d, dtdy_d, dtdz_d, jacinv_d, w3_d, nel, lx, gdim)
154 type(c_ptr) :: g11_d, g12_d, g13_d, g22_d, g23_d, g33_d
155 type(c_ptr) :: drdx_d, drdy_d, drdz_d
156 type(c_ptr) :: dsdx_d, dsdy_d, dsdz_d
157 type(c_ptr) :: dtdx_d, dtdy_d, dtdz_d
158 type(c_ptr) :: jacinv_d, w3_d
159 integer :: nel, gdim, lx
163 g33_d, drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, dsdz_d, &
164 dtdx_d, dtdy_d, dtdz_d, jacinv_d, w3_d, nel, lx, gdim)
167 g33_d, drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, dsdz_d, &
168 dtdx_d, dtdy_d, dtdz_d, jacinv_d, w3_d, nel, lx, gdim)
171 g33_d, drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, dsdz_d, &
172 dtdx_d, dtdy_d, dtdz_d, jacinv_d, w3_d, nel, lx, gdim)
174 call neko_error(
'No device backend configured')
180 dsdz_d, dtdx_d, dtdy_d, dtdz_d, dxdr_d, dydr_d, dzdr_d, dxds_d, &
181 dyds_d, dzds_d, dxdt_d, dydt_d, dzdt_d, dx_d, dy_d, dz_d, &
182 x_d, y_d, z_d, jacinv_d, jac_d, lx, nel)
183 type(c_ptr) :: drdx_d, drdy_d, drdz_d
184 type(c_ptr) :: dsdx_d, dsdy_d, dsdz_d
185 type(c_ptr) :: dtdx_d, dtdy_d, dtdz_d
186 type(c_ptr) :: dxdr_d, dydr_d, dzdr_d
187 type(c_ptr) :: dxds_d, dyds_d, dzds_d
188 type(c_ptr) :: dxdt_d, dydt_d, dzdt_d
189 type(c_ptr) :: dx_d, dy_d, dz_d, x_d, y_d, z_d
190 type(c_ptr) :: jacinv_d, jac_d
195 dsdy_d, dsdz_d, dtdx_d, dtdy_d, dtdz_d, dxdr_d, dydr_d, &
196 dzdr_d, dxds_d, dyds_d, dzds_d, dxdt_d, dydt_d, dzdt_d, &
197 dx_d, dy_d, dz_d, x_d, y_d, z_d, jacinv_d, jac_d, lx, nel)
200 dsdy_d, dsdz_d, dtdx_d, dtdy_d, dtdz_d, dxdr_d, dydr_d, &
201 dzdr_d, dxds_d, dyds_d, dzds_d, dxdt_d, dydt_d, dzdt_d, &
202 dx_d, dy_d, dz_d, x_d, y_d, z_d, jacinv_d, jac_d, lx, nel)
205 dsdy_d, dsdz_d, dtdx_d, dtdy_d, dtdz_d, dxdr_d, dydr_d, &
206 dzdr_d, dxds_d, dyds_d, dzds_d, dxdt_d, dydt_d, dzdt_d, &
207 dx_d, dy_d, dz_d, x_d, y_d, z_d, jacinv_d, jac_d, lx, nel)
209 call neko_error(
'No device backend configured')
void opencl_coef_generate_geo(void *G11, void *G12, void *G13, void *G22, void *G23, void *G33, void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *jacinv, void *w3, int *nel, int *lx, int *gdim)
void opencl_coef_generate_dxyzdrst(void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *dxdr, void *dydr, void *dzdr, void *dxds, void *dyds, void *dzds, void *dxdt, void *dydt, void *dzdt, void *dx, void *dy, void *dz, void *x, void *y, void *z, void *jacinv, void *jac, int *lx, int *nel)
void cuda_coef_generate_dxyzdrst(void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *dxdr, void *dydr, void *dzdr, void *dxds, void *dyds, void *dzds, void *dxdt, void *dydt, void *dzdt, void *dx, void *dy, void *dz, void *x, void *y, void *z, void *jacinv, void *jac, int *lx, int *nel)
void cuda_coef_generate_geo(void *G11, void *G12, void *G13, void *G22, void *G23, void *G33, void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *jacinv, void *w3, int *nel, int *lx, int *gdim)
subroutine, public device_coef_generate_dxydrst(drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, dsdz_d, dtdx_d, dtdy_d, dtdz_d, dxdr_d, dydr_d, dzdr_d, dxds_d, dyds_d, dzds_d, dxdt_d, dydt_d, dzdt_d, dx_d, dy_d, dz_d, x_d, y_d, z_d, jacinv_d, jac_d, lx, nel)
subroutine, public device_coef_generate_geo(G11_d, G12_d, G13_d, G22_d, G23_d, G33_d, drdx_d, drdy_d, drdz_d, dsdx_d, dsdy_d, dsdz_d, dtdx_d, dtdy_d, dtdz_d, jacinv_d, w3_d, nel, lx, gdim)
integer, parameter, public rp
Global precision used in computations.