1 #ifndef AMREX_MF_PARALLEL_FOR_H_
2 #define AMREX_MF_PARALLEL_FOR_H_
3 #include <AMReX_Config.H>
26 namespace experimental {
43 template <
typename MF,
typename F>
44 std::enable_if_t<IsFabArray<MF>::value>
66 template <
int MT,
typename MF,
typename F>
67 std::enable_if_t<IsFabArray<MF>::value>
93 template <
typename MF,
typename F>
94 std::enable_if_t<IsFabArray<MF>::value>
117 template <
int MT,
typename MF,
typename F>
118 std::enable_if_t<IsFabArray<MF>::value>
145 template <
typename MF,
typename F>
146 std::enable_if_t<IsFabArray<MF>::value>
170 template <
int MT,
typename MF,
typename F>
171 std::enable_if_t<IsFabArray<MF>::value>
198 template <
typename MF,
typename F>
199 std::enable_if_t<IsFabArray<MF>::value>
223 template <
int MT,
typename MF,
typename F>
224 std::enable_if_t<IsFabArray<MF>::value>
228 detail::ParallelFor<MT>(mf,
IntVect(0), ts.
tile_size,
false, std::forward<F>(
f));
252 template <
typename MF,
typename F>
253 std::enable_if_t<IsFabArray<MF>::value>
278 template <
int MT,
typename MF,
typename F>
279 std::enable_if_t<IsFabArray<MF>::value>
283 detail::ParallelFor<MT>(mf, ng, ts.
tile_size,
false, std::forward<F>(
f));
308 template <
typename MF,
typename F>
309 std::enable_if_t<IsFabArray<MF>::value>
335 template <
int MT,
typename MF,
typename F>
336 std::enable_if_t<IsFabArray<MF>::value>
340 detail::ParallelFor<MT>(mf, ng, ncomp, ts.
tile_size,
false, std::forward<F>(
f));
365 template <
typename MF,
typename F>
366 std::enable_if_t<IsFabArray<MF>::value>
392 template <
typename MF,
typename F>
393 std::enable_if_t<IsFabArray<MF>::value>
420 template <
int MT,
typename MF,
typename F>
421 std::enable_if_t<IsFabArray<MF>::value>
453 template <
int MT,
typename MF,
typename F>
454 std::enable_if_t<IsFabArray<MF>::value>
459 detail::ParallelFor<MT>(mf, ng, ncomp, ts.
tile_size, dt.
dynamic, std::forward<F>(
f));
static AMREX_EXPORT IntVect mfiter_tile_size
Default tilesize in MFIter.
Definition: AMReX_FabArrayBase.H:288
static int f(amrex::Real t, N_Vector y_data, N_Vector y_rhs, void *user_data)
Definition: AMReX_SundialsIntegrator.H:44
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
std::enable_if_t< IsFabArray< MF >::value > ParallelFor(MF const &mf, F &&f)
ParallelFor for MultiFab/FabArray.
Definition: AMReX_MFParallelFor.H:45
Definition: AMReX_Amr.cpp:49
IntVectND< AMREX_SPACEDIM > IntVect
Definition: AMReX_BaseFwd.H:30
Definition: AMReX_MFParallelFor.H:21
DynamicTiling(bool f) noexcept
Definition: AMReX_MFParallelFor.H:23
bool dynamic
Definition: AMReX_MFParallelFor.H:22
Definition: AMReX_MFParallelFor.H:16
TileSize(IntVect const &ts) noexcept
Definition: AMReX_MFParallelFor.H:18
IntVect tile_size
Definition: AMReX_MFParallelFor.H:17