34 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
38 use mpi_f08,
only: mpi_sum, mpi_in_place, mpi_allreduce
47 a21_d, a22_d, a23_d, &
48 a31_d, a32_d, a33_d, &
49 delta_d, nut_d, mult_d, c, eps, n) &
50 bind(c, name =
'hip_vreman_nut_compute')
51 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
53 type(c_ptr),
value :: a11_d, a12_d, a13_d, &
54 a21_d, a22_d, a23_d, &
55 a31_d, a32_d, a33_d, &
56 delta_d, nut_d, mult_d
64 a21_d, a22_d, a23_d, &
65 a31_d, a32_d, a33_d, &
66 delta_d, nut_d, mult_d, c, eps, n) &
67 bind(c, name =
'cuda_vreman_nut_compute')
68 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
70 type(c_ptr),
value :: a11_d, a12_d, a13_d, &
71 a21_d, a22_d, a23_d, &
72 a31_d, a32_d, a33_d, &
73 delta_d, nut_d, mult_d
87 a21_d, a22_d, a23_d, &
88 a31_d, a32_d, a33_d, &
89 delta_d, nut_d, mult_d, c, eps, n)
90 type(c_ptr) :: a11_d, a12_d, a13_d, &
91 a21_d, a22_d, a23_d, &
92 a31_d, a32_d, a33_d, &
93 delta_d, nut_d, mult_d
95 real(kind=
rp) :: c, eps
98 a21_d, a22_d, a23_d, &
99 a31_d, a32_d, a33_d, &
100 delta_d, nut_d, mult_d, c, eps, n)
103 a21_d, a22_d, a23_d, &
104 a31_d, a32_d, a33_d, &
105 delta_d, nut_d, mult_d, c, eps, n)
107 call neko_error(
'opencl backend is not supported for device_vreman_nut')
109 call neko_error(
'no device backend configured')
114 end module device_vreman_nut
type(mpi_comm) neko_comm
MPI communicator.
type(mpi_datatype) mpi_real_precision
MPI type for working precision of REAL types.
integer pe_size
MPI size of communicator.
subroutine, public device_vreman_nut_compute(a11_d, a12_d, a13_d, a21_d, a22_d, a23_d, a31_d, a32_d, a33_d, delta_d, nut_d, mult_d, c, eps, n)
Compute the eddy viscosity field for the Sigma model indevice.
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.
void cuda_vreman_nut_compute(void *a11, void *a12, void *a13, void *a21, void *a22, void *a23, void *a31, void *a32, void *a33, void *delta, void *nut, void *mult, real *c, real *eps, int *n)