34 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
38 use mpi_f08,
only: mpi_sum, mpi_in_place, mpi_allreduce
46 a21_d, a22_d, a23_d, &
47 a31_d, a32_d, a33_d, &
48 delta_d, nut_d, mult_d, c, eps, n) &
49 bind(c, name =
'hip_vreman_nut_compute')
50 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
52 type(c_ptr),
value :: a11_d, a12_d, a13_d, &
53 a21_d, a22_d, a23_d, &
54 a31_d, a32_d, a33_d, &
55 delta_d, nut_d, mult_d
63 a21_d, a22_d, a23_d, &
64 a31_d, a32_d, a33_d, &
65 delta_d, nut_d, mult_d, c, eps, n) &
66 bind(c, name =
'cuda_vreman_nut_compute')
67 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
69 type(c_ptr),
value :: a11_d, a12_d, a13_d, &
70 a21_d, a22_d, a23_d, &
71 a31_d, a32_d, a33_d, &
72 delta_d, nut_d, mult_d
86 a21_d, a22_d, a23_d, &
87 a31_d, a32_d, a33_d, &
88 delta_d, nut_d, mult_d, c, eps, n)
89 type(c_ptr) :: a11_d, a12_d, a13_d, &
90 a21_d, a22_d, a23_d, &
91 a31_d, a32_d, a33_d, &
92 delta_d, nut_d, mult_d
94 real(kind=
rp) :: c, eps
97 a21_d, a22_d, a23_d, &
98 a31_d, a32_d, a33_d, &
99 delta_d, nut_d, mult_d, c, eps, n)
102 a21_d, a22_d, a23_d, &
103 a31_d, a32_d, a33_d, &
104 delta_d, nut_d, mult_d, c, eps, n)
106 call neko_error(
'opencl backend is not supported for device_vreman_nut')
108 call neko_error(
'no device backend configured')
113end 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)