1 #ifndef AMREX_MF_PARALLEL_FOR_C_H_
2 #define AMREX_MF_PARALLEL_FOR_C_H_
3 #include <AMReX_Config.H>
11 template <
typename MF,
typename F>
12 std::enable_if_t<IsFabArray<MF>::value>
18 for (MFIter mfi(mf,MFItInfo().EnableTiling(ts).SetDynamic(dynamic)); mfi.isValid(); ++mfi) {
19 Box const& bx = mfi.growntilebox(nghost);
20 int const lidx = mfi.LocalIndex();
23 for (
int k = lo.z; k <= hi.z; ++k) {
24 for (
int j = lo.y; j <= hi.y; ++j) {
26 for (
int i = lo.x; i <= hi.x; ++i) {
34 template <
typename MF,
typename F>
35 std::enable_if_t<IsFabArray<MF>::value>
41 for (MFIter mfi(mf,MFItInfo().EnableTiling(ts).SetDynamic(dynamic)); mfi.isValid(); ++mfi) {
42 Box const& bx = mfi.growntilebox(nghost);
43 int const lidx = mfi.LocalIndex();
46 for (
int n = 0; n < ncomp; ++n) {
47 for (
int k = lo.z; k <= hi.z; ++k) {
48 for (
int j = lo.y; j <= hi.y; ++j) {
50 for (
int i = lo.x; i <= hi.x; ++i) {
#define AMREX_PRAGMA_SIMD
Definition: AMReX_Extension.H:80
static int f(amrex::Real t, N_Vector y_data, N_Vector y_rhs, void *user_data)
Definition: AMReX_SundialsIntegrator.H:44
Definition: AMReX_MFParallelForG.H:53
std::enable_if_t< IsFabArray< MF >::value > ParallelFor(MF const &mf, IntVect const &nghost, int ncomp, IntVect const &, bool, F const &f)
Definition: AMReX_MFParallelForG.H:75
BoxND< AMREX_SPACEDIM > Box
Definition: AMReX_BaseFwd.H:27
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 ubound(Array4< T > const &a) noexcept
Definition: AMReX_Array4.H:315
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 lbound(Array4< T > const &a) noexcept
Definition: AMReX_Array4.H:308
IntVectND< AMREX_SPACEDIM > IntVect
Definition: AMReX_BaseFwd.H:30