34 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
38 use mpi_f08,
only : mpi_sum, mpi_in_place, mpi_allreduce
46 s12_d, s13_d, s23_d, &
48 bind(c, name =
'hip_s_abs_compute')
49 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
51 type(c_ptr),
value :: s_abs_d, s11_d, s22_d, s33_d, &
58 l12_d, l13_d, l23_d, &
61 fuu_d, fvv_d, fww_d, &
62 fuv_d, fuw_d, fvw_d, n) &
63 bind(c, name =
'hip_lij_compute_part1')
64 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
66 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
67 u_d, v_d, w_d, fu_d, fv_d, fw_d, &
68 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
74 l12_d, l13_d, l23_d, &
75 fuu_d, fvv_d, fww_d, &
76 fuv_d, fuw_d, fvw_d, n) &
77 bind(c, name =
'hip_lij_compute_part2')
78 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
80 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
81 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
87 m12_d, m13_d, m23_d, &
88 s_abs_d, s11_d, s22_d, s33_d, &
89 s12_d, s13_d, s23_d, &
90 fs_abs_d, fs11_d, fs22_d, fs33_d, &
91 fs12_d, fs13_d, fs23_d, &
92 fsabss11_d, fsabss22_d, fsabss33_d, &
93 fsabss12_d, fsabss13_d, fsabss23_d, &
95 bind(c, name =
'hip_mij_compute_part1')
96 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
98 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
99 m12_d, m13_d, m23_d, &
100 s_abs_d, s11_d, s22_d, s33_d, &
101 s12_d, s13_d, s23_d, &
102 fs_abs_d, fs11_d, fs22_d, fs33_d, &
103 fs12_d, fs13_d, fs23_d, &
104 fsabss11_d, fsabss22_d, fsabss33_d, &
105 fsabss12_d, fsabss13_d, fsabss23_d
106 real(c_rp) :: delta_ratio2
112 m12_d, m13_d, m23_d, &
113 l11_d, l22_d, l33_d, &
114 l12_d, l13_d, l23_d, &
115 fsabss11_d, fsabss22_d, fsabss33_d, &
116 fsabss12_d, fsabss13_d, fsabss23_d, &
117 num_d, den_d, c_dyn_d, delta_d, &
118 s_abs_d, nut_d, alpha, n) &
119 bind(c, name =
'hip_mij_nut_compute_part2')
120 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
122 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
123 m12_d, m13_d, m23_d, &
124 l11_d, l22_d, l33_d, &
125 l12_d, l13_d, l23_d, &
126 fsabss11_d, fsabss22_d, fsabss33_d, &
127 fsabss12_d, fsabss13_d, fsabss23_d, &
128 num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d
136 s12_d, s13_d, s23_d, &
138 bind(c, name =
'cuda_s_abs_compute')
139 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
141 type(c_ptr),
value :: s_abs_d, s11_d, s22_d, s33_d, &
148 l12_d, l13_d, l23_d, &
151 fuu_d, fvv_d, fww_d, &
152 fuv_d, fuw_d, fvw_d, n) &
153 bind(c, name =
'cuda_lij_compute_part1')
154 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
156 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
157 u_d, v_d, w_d, fu_d, fv_d, fw_d, &
158 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
164 l12_d, l13_d, l23_d, &
165 fuu_d, fvv_d, fww_d, &
166 fuv_d, fuw_d, fvw_d, n) &
167 bind(c, name =
'cuda_lij_compute_part2')
168 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
170 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
171 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
177 m12_d, m13_d, m23_d, &
178 s_abs_d, s11_d, s22_d, s33_d, &
179 s12_d, s13_d, s23_d, &
180 fs_abs_d, fs11_d, fs22_d, fs33_d, &
181 fs12_d, fs13_d, fs23_d, &
182 fsabss11_d, fsabss22_d, fsabss33_d, &
183 fsabss12_d, fsabss13_d, fsabss23_d, &
185 bind(c, name =
'cuda_mij_compute_part1')
186 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
188 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
189 m12_d, m13_d, m23_d, &
190 s_abs_d, s11_d, s22_d, s33_d, &
191 s12_d, s13_d, s23_d, &
192 fs_abs_d, fs11_d, fs22_d, fs33_d, &
193 fs12_d, fs13_d, fs23_d, &
194 fsabss11_d, fsabss22_d, fsabss33_d, &
195 fsabss12_d, fsabss13_d, fsabss23_d
196 real(c_rp) :: delta_ratio2
202 m12_d, m13_d, m23_d, &
203 l11_d, l22_d, l33_d, &
204 l12_d, l13_d, l23_d, &
205 fsabss11_d, fsabss22_d, fsabss33_d, &
206 fsabss12_d, fsabss13_d, fsabss23_d, &
207 num_d, den_d, c_dyn_d, delta_d, &
208 s_abs_d, nut_d, alpha, n) &
209 bind(c, name =
'cuda_mij_nut_compute_part2')
210 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
212 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
213 m12_d, m13_d, m23_d, &
214 l11_d, l22_d, l33_d, &
215 l12_d, l13_d, l23_d, &
216 fsabss11_d, fsabss22_d, fsabss33_d, &
217 fsabss12_d, fsabss13_d, fsabss23_d, &
218 num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d
226 s12_d, s13_d, s23_d, &
228 bind(c, name =
'opencl_s_abs_compute')
229 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
231 type(c_ptr),
value :: s_abs_d, s11_d, s22_d, s33_d, &
238 l12_d, l13_d, l23_d, &
241 fuu_d, fvv_d, fww_d, &
242 fuv_d, fuw_d, fvw_d, n) &
243 bind(c, name =
'opencl_lij_compute_part1')
244 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
246 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
247 u_d, v_d, w_d, fu_d, fv_d, fw_d, &
248 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
254 l12_d, l13_d, l23_d, &
255 fuu_d, fvv_d, fww_d, &
256 fuv_d, fuw_d, fvw_d, n) &
257 bind(c, name =
'opencl_lij_compute_part2')
258 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
260 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
261 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
267 m12_d, m13_d, m23_d, &
268 s_abs_d, s11_d, s22_d, s33_d, &
269 s12_d, s13_d, s23_d, &
270 fs_abs_d, fs11_d, fs22_d, fs33_d, &
271 fs12_d, fs13_d, fs23_d, &
272 fsabss11_d, fsabss22_d, fsabss33_d, &
273 fsabss12_d, fsabss13_d, fsabss23_d, &
275 bind(c, name =
'opencl_mij_compute_part1')
276 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
278 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
279 m12_d, m13_d, m23_d, &
280 s_abs_d, s11_d, s22_d, s33_d, &
281 s12_d, s13_d, s23_d, &
282 fs_abs_d, fs11_d, fs22_d, fs33_d, &
283 fs12_d, fs13_d, fs23_d, &
284 fsabss11_d, fsabss22_d, fsabss33_d, &
285 fsabss12_d, fsabss13_d, fsabss23_d
286 real(c_rp) :: delta_ratio2
292 m12_d, m13_d, m23_d, &
293 l11_d, l22_d, l33_d, &
294 l12_d, l13_d, l23_d, &
295 fsabss11_d, fsabss22_d, fsabss33_d, &
296 fsabss12_d, fsabss13_d, fsabss23_d, &
297 num_d, den_d, c_dyn_d, delta_d, &
298 s_abs_d, nut_d, alpha, n) &
299 bind(c, name =
'opencl_mij_nut_compute_part2')
300 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
302 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
303 m12_d, m13_d, m23_d, &
304 l11_d, l22_d, l33_d, &
305 l12_d, l13_d, l23_d, &
306 fsabss11_d, fsabss22_d, fsabss33_d, &
307 fsabss12_d, fsabss13_d, fsabss23_d, &
308 num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d
315 subroutine metal_s_abs_compute(s_abs_d, s11_d, s22_d, s33_d, &
316 s12_d, s13_d, s23_d, &
318 bind(c, name =
'metal_s_abs_compute')
319 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
321 type(c_ptr),
value :: s_abs_d, s11_d, s22_d, s33_d, &
324 end subroutine metal_s_abs_compute
327 subroutine metal_lij_compute_part1(l11_d, l22_d, l33_d, &
328 l12_d, l13_d, l23_d, &
331 fuu_d, fvv_d, fww_d, &
332 fuv_d, fuw_d, fvw_d, n) &
333 bind(c, name =
'metal_lij_compute_part1')
334 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
336 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
337 u_d, v_d, w_d, fu_d, fv_d, fw_d, &
338 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
340 end subroutine metal_lij_compute_part1
343 subroutine metal_lij_compute_part2(l11_d, l22_d, l33_d, &
344 l12_d, l13_d, l23_d, &
345 fuu_d, fvv_d, fww_d, &
346 fuv_d, fuw_d, fvw_d, n) &
347 bind(c, name =
'metal_lij_compute_part2')
348 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
350 type(c_ptr),
value :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
351 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
353 end subroutine metal_lij_compute_part2
356 subroutine metal_mij_compute_part1(m11_d, m22_d, m33_d, &
357 m12_d, m13_d, m23_d, &
358 s_abs_d, s11_d, s22_d, s33_d, &
359 s12_d, s13_d, s23_d, &
360 fs_abs_d, fs11_d, fs22_d, fs33_d, &
361 fs12_d, fs13_d, fs23_d, &
362 fsabss11_d, fsabss22_d, fsabss33_d, &
363 fsabss12_d, fsabss13_d, fsabss23_d, &
365 bind(c, name =
'metal_mij_compute_part1')
366 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
368 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
369 m12_d, m13_d, m23_d, &
370 s_abs_d, s11_d, s22_d, s33_d, &
371 s12_d, s13_d, s23_d, &
372 fs_abs_d, fs11_d, fs22_d, fs33_d, &
373 fs12_d, fs13_d, fs23_d, &
374 fsabss11_d, fsabss22_d, fsabss33_d, &
375 fsabss12_d, fsabss13_d, fsabss23_d
376 real(c_rp) :: delta_ratio2
378 end subroutine metal_mij_compute_part1
381 subroutine metal_mij_nut_compute_part2(m11_d, m22_d, m33_d, &
382 m12_d, m13_d, m23_d, &
383 l11_d, l22_d, l33_d, &
384 l12_d, l13_d, l23_d, &
385 fsabss11_d, fsabss22_d, fsabss33_d, &
386 fsabss12_d, fsabss13_d, fsabss23_d, &
387 num_d, den_d, c_dyn_d, delta_d, &
388 s_abs_d, nut_d, alpha, n) &
389 bind(c, name =
'metal_mij_nut_compute_part2')
390 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
392 type(c_ptr),
value :: m11_d, m22_d, m33_d, &
393 m12_d, m13_d, m23_d, &
394 l11_d, l22_d, l33_d, &
395 l12_d, l13_d, l23_d, &
396 fsabss11_d, fsabss22_d, fsabss33_d, &
397 fsabss12_d, fsabss13_d, fsabss23_d, &
398 num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d
401 end subroutine metal_mij_nut_compute_part2
412 s12_d, s13_d, s23_d, &
414 type(c_ptr) :: s_abs_d, s11_d, s22_d, s33_d, &
419 s12_d, s13_d, s23_d, &
423 s12_d, s13_d, s23_d, &
427 s12_d, s13_d, s23_d, &
430 call metal_s_abs_compute(s_abs_d, s11_d, s22_d, s33_d, &
431 s12_d, s13_d, s23_d, &
434 call neko_error(
'no device backend configured')
440 l12_d, l13_d, l23_d, &
443 fuu_d, fvv_d, fww_d, &
444 fuv_d, fuw_d, fvw_d, n)
445 type(c_ptr) :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
446 u_d, v_d, w_d, fu_d, fv_d, fw_d, &
447 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
451 l12_d, l13_d, l23_d, &
454 fuu_d, fvv_d, fww_d, &
455 fuv_d, fuw_d, fvw_d, n)
458 l12_d, l13_d, l23_d, &
461 fuu_d, fvv_d, fww_d, &
462 fuv_d, fuw_d, fvw_d, n)
465 l12_d, l13_d, l23_d, &
468 fuu_d, fvv_d, fww_d, &
469 fuv_d, fuw_d, fvw_d, n)
471 call metal_lij_compute_part1(l11_d, l22_d, l33_d, &
472 l12_d, l13_d, l23_d, &
475 fuu_d, fvv_d, fww_d, &
476 fuv_d, fuw_d, fvw_d, n)
478 call neko_error(
'no device backend configured')
484 l12_d, l13_d, l23_d, &
485 fuu_d, fvv_d, fww_d, &
486 fuv_d, fuw_d, fvw_d, n)
487 type(c_ptr) :: l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, &
488 fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d
492 l12_d, l13_d, l23_d, &
493 fuu_d, fvv_d, fww_d, &
494 fuv_d, fuw_d, fvw_d, n)
497 l12_d, l13_d, l23_d, &
498 fuu_d, fvv_d, fww_d, &
499 fuv_d, fuw_d, fvw_d, n)
502 l12_d, l13_d, l23_d, &
503 fuu_d, fvv_d, fww_d, &
504 fuv_d, fuw_d, fvw_d, n)
506 call metal_lij_compute_part2(l11_d, l22_d, l33_d, &
507 l12_d, l13_d, l23_d, &
508 fuu_d, fvv_d, fww_d, &
509 fuv_d, fuw_d, fvw_d, n)
511 call neko_error(
'no device backend configured')
517 m12_d, m13_d, m23_d, &
518 s_abs_d, s11_d, s22_d, s33_d, &
519 s12_d, s13_d, s23_d, &
520 fs_abs_d, fs11_d, fs22_d, fs33_d, &
521 fs12_d, fs13_d, fs23_d, &
522 fsabss11_d, fsabss22_d, fsabss33_d, &
523 fsabss12_d, fsabss13_d, fsabss23_d, &
525 type(c_ptr) :: m11_d, m22_d, m33_d, &
526 m12_d, m13_d, m23_d, &
527 s_abs_d, s11_d, s22_d, s33_d, &
528 s12_d, s13_d, s23_d, &
529 fs_abs_d, fs11_d, fs22_d, fs33_d, &
530 fs12_d, fs13_d, fs23_d, &
531 fsabss11_d, fsabss22_d, fsabss33_d, &
532 fsabss12_d, fsabss13_d, fsabss23_d
533 real(kind=
rp) :: delta_ratio2
538 m12_d, m13_d, m23_d, &
539 s_abs_d, s11_d, s22_d, s33_d, &
540 s12_d, s13_d, s23_d, &
541 fs_abs_d, fs11_d, fs22_d, fs33_d, &
542 fs12_d, fs13_d, fs23_d, &
543 fsabss11_d, fsabss22_d, fsabss33_d, &
544 fsabss12_d, fsabss13_d, fsabss23_d, &
548 m12_d, m13_d, m23_d, &
549 s_abs_d, s11_d, s22_d, s33_d, &
550 s12_d, s13_d, s23_d, &
551 fs_abs_d, fs11_d, fs22_d, fs33_d, &
552 fs12_d, fs13_d, fs23_d, &
553 fsabss11_d, fsabss22_d, fsabss33_d, &
554 fsabss12_d, fsabss13_d, fsabss23_d, &
558 m12_d, m13_d, m23_d, &
559 s_abs_d, s11_d, s22_d, s33_d, &
560 s12_d, s13_d, s23_d, &
561 fs_abs_d, fs11_d, fs22_d, fs33_d, &
562 fs12_d, fs13_d, fs23_d, &
563 fsabss11_d, fsabss22_d, fsabss33_d, &
564 fsabss12_d, fsabss13_d, fsabss23_d, &
567 call metal_mij_compute_part1(m11_d, m22_d, m33_d, &
568 m12_d, m13_d, m23_d, &
569 s_abs_d, s11_d, s22_d, s33_d, &
570 s12_d, s13_d, s23_d, &
571 fs_abs_d, fs11_d, fs22_d, fs33_d, &
572 fs12_d, fs13_d, fs23_d, &
573 fsabss11_d, fsabss22_d, fsabss33_d, &
574 fsabss12_d, fsabss13_d, fsabss23_d, &
577 call neko_error(
'no device backend configured')
583 m12_d, m13_d, m23_d, &
584 l11_d, l22_d, l33_d, &
585 l12_d, l13_d, l23_d, &
586 fsabss11_d, fsabss22_d, fsabss33_d, &
587 fsabss12_d, fsabss13_d, fsabss23_d, &
588 num_d, den_d, c_dyn_d, delta_d, &
589 s_abs_d, nut_d, alpha, n)
590 type(c_ptr) :: m11_d, m22_d, m33_d, &
591 m12_d, m13_d, m23_d, &
592 l11_d, l22_d, l33_d, &
593 l12_d, l13_d, l23_d, &
594 fsabss11_d, fsabss22_d, fsabss33_d, &
595 fsabss12_d, fsabss13_d, fsabss23_d, &
596 num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d
597 real(kind=
rp) :: alpha
602 m12_d, m13_d, m23_d, &
603 l11_d, l22_d, l33_d, &
604 l12_d, l13_d, l23_d, &
605 fsabss11_d, fsabss22_d, fsabss33_d, &
606 fsabss12_d, fsabss13_d, fsabss23_d, &
607 num_d, den_d, c_dyn_d, delta_d, &
608 s_abs_d, nut_d, alpha, n)
611 m12_d, m13_d, m23_d, &
612 l11_d, l22_d, l33_d, &
613 l12_d, l13_d, l23_d, &
614 fsabss11_d, fsabss22_d, fsabss33_d, &
615 fsabss12_d, fsabss13_d, fsabss23_d, &
616 num_d, den_d, c_dyn_d, delta_d, &
617 s_abs_d, nut_d, alpha, n)
620 m12_d, m13_d, m23_d, &
621 l11_d, l22_d, l33_d, &
622 l12_d, l13_d, l23_d, &
623 fsabss11_d, fsabss22_d, fsabss33_d, &
624 fsabss12_d, fsabss13_d, fsabss23_d, &
625 num_d, den_d, c_dyn_d, delta_d, &
626 s_abs_d, nut_d, alpha, n)
628 call metal_mij_nut_compute_part2(m11_d, m22_d, m33_d, &
629 m12_d, m13_d, m23_d, &
630 l11_d, l22_d, l33_d, &
631 l12_d, l13_d, l23_d, &
632 fsabss11_d, fsabss22_d, fsabss33_d, &
633 fsabss12_d, fsabss13_d, fsabss23_d, &
634 num_d, den_d, c_dyn_d, delta_d, &
635 s_abs_d, nut_d, alpha, n)
637 call neko_error(
'no device backend configured')
void opencl_lij_compute_part1(void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *u, void *v, void *w, void *fu, void *fv, void *fw, void *fuu, void *fvv, void *fww, void *fuv, void *fuw, void *fvw, int *n)
void opencl_s_abs_compute(void *s_abs, void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, int *n)
void opencl_mij_nut_compute_part2(void *m11, void *m22, void *m33, void *m12, void *m13, void *m23, void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *fsabss11, void *fsabss22, void *fsabss33, void *fsabss12, void *fsabss13, void *fsabss23, void *num, void *den, void *c_dyn, void *delta, void *s_abs, void *nut, real *alpha, int *n)
void opencl_mij_compute_part1(void *m11, void *m22, void *m33, void *m12, void *m13, void *m23, void *s_abs, void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, void *fs_abs, void *fs11, void *fs22, void *fs33, void *fs12, void *fs13, void *fs23, void *fsabss11, void *fsabss22, void *fsabss33, void *fsabss12, void *fsabss13, void *fsabss23, real *delta_ratio2, int *n)
void opencl_lij_compute_part2(void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *fuu, void *fvv, void *fww, void *fuv, void *fuw, void *fvw, int *n)
void cuda_mij_compute_part1(void *m11, void *m22, void *m33, void *m12, void *m13, void *m23, void *s_abs, void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, void *fs_abs, void *fs11, void *fs22, void *fs33, void *fs12, void *fs13, void *fs23, void *fsabss11, void *fsabss22, void *fsabss33, void *fsabss12, void *fsabss13, void *fsabss23, real *delta_ratio2, int *n)
void cuda_s_abs_compute(void *s_abs, void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, int *n)
void cuda_lij_compute_part1(void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *u, void *v, void *w, void *fu, void *fv, void *fw, void *fuu, void *fvv, void *fww, void *fuv, void *fuw, void *fvw, int *n)
void cuda_mij_nut_compute_part2(void *m11, void *m22, void *m33, void *m12, void *m13, void *m23, void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *fsabss11, void *fsabss22, void *fsabss33, void *fsabss12, void *fsabss13, void *fsabss23, void *num, void *den, void *c_dyn, void *delta, void *s_abs, void *nut, real *alpha, int *n)
void cuda_lij_compute_part2(void *l11, void *l22, void *l33, void *l12, void *l13, void *l23, void *fuu, void *fvv, void *fww, void *fuv, void *fuw, void *fvw, int *n)
type(mpi_datatype), public mpi_real_precision
MPI type for working precision of REAL types.
integer, public pe_size
MPI size of communicator.
type(mpi_comm), public neko_comm
MPI communicator.
subroutine, public device_lij_compute_part1(l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, u_d, v_d, w_d, fu_d, fv_d, fw_d, fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d, n)
part 1 of the computing of the lij field
subroutine, public device_mij_nut_compute_part2(m11_d, m22_d, m33_d, m12_d, m13_d, m23_d, l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, fsabss11_d, fsabss22_d, fsabss33_d, fsabss12_d, fsabss13_d, fsabss23_d, num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d, alpha, n)
part 1 of the computing of the mij field
subroutine, public device_mij_compute_part1(m11_d, m22_d, m33_d, m12_d, m13_d, m23_d, s_abs_d, s11_d, s22_d, s33_d, s12_d, s13_d, s23_d, fs_abs_d, fs11_d, fs22_d, fs33_d, fs12_d, fs13_d, fs23_d, fsabss11_d, fsabss22_d, fsabss33_d, fsabss12_d, fsabss13_d, fsabss23_d, delta_ratio2, n)
part 1 of the computing of the mij field
subroutine, public device_s_abs_compute(s_abs_d, s11_d, s22_d, s33_d, s12_d, s13_d, s23_d, n)
Compute the s_abs field for the Sigma model indevice.
subroutine, public device_lij_compute_part2(l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d, n)
part 2 of the computing of the lij field
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.