1#ifndef AMREX_MF_PARALLEL_FOR_H_
2#define AMREX_MF_PARALLEL_FOR_H_
3#include <AMReX_Config.H>
42template <FabArrayType MF,
typename F>
65template <
int MT, FabArrayType MF,
typename F>
92template <FabArrayType MF,
typename F>
116template <
int MT, FabArrayType MF,
typename F>
144template <FabArrayType MF,
typename F>
169template <
int MT, FabArrayType MF,
typename F>
197template <FabArrayType MF,
typename F>
201 detail::ParallelFor_doit(mf,
IntVect(0), ts.
tile_size,
false, std::forward<F>(f));
222template <
int MT, FabArrayType MF,
typename F>
227 detail::ParallelFor_doit<MT>(mf,
IntVect(0), 1, ts.
tile_size,
false, std::forward<F>(f));
229 detail::ParallelFor_doit(mf,
IntVect(0), ts.
tile_size,
false, std::forward<F>(f));
251template <FabArrayType MF,
typename F>
255 detail::ParallelFor_doit(mf, ng, ts.
tile_size,
false, std::forward<F>(f));
277template <
int MT, FabArrayType MF,
typename F>
282 detail::ParallelFor_doit<MT>(mf, ng, 1, ts.
tile_size,
false, std::forward<F>(f));
284 detail::ParallelFor_doit(mf, ng, ts.
tile_size,
false, std::forward<F>(f));
307template <FabArrayType MF,
typename F>
311 detail::ParallelFor_doit(mf, ng, ncomp, ts.
tile_size,
false, std::forward<F>(f));
334template <
int MT, FabArrayType MF,
typename F>
339 detail::ParallelFor_doit<MT>(mf, ng, ncomp, ts.
tile_size,
false, std::forward<F>(f));
341 detail::ParallelFor_doit(mf, ng, ncomp, ts.
tile_size,
false, std::forward<F>(f));
364template <FabArrayType MF,
typename F>
368 detail::ParallelFor_doit(mf, ng, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
391template <FabArrayType MF,
typename F>
396 detail::ParallelFor_doit(mf, ng, ncomp, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
419template <
int MT, FabArrayType MF,
typename F>
425 detail::ParallelFor_doit<MT>(mf, ng, 1, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
427 detail::ParallelFor_doit(mf, ng, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
452template <
int MT, FabArrayType MF,
typename F>
458 detail::ParallelFor_doit<MT>(mf, ng, ncomp, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
460 detail::ParallelFor_doit(mf, ng, ncomp, ts.
tile_size, dt.
dynamic, std::forward<F>(f));
static IntVect mfiter_tile_size
Default tilesize in MFIter.
Definition AMReX_FabArrayBase.H:289
Definition AMReX_Amr.cpp:50
void ParallelFor(TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, T N, F &&f)
Definition AMReX_CTOParallelForImpl.H:202
IntVectND< 3 > IntVect
IntVect is an alias for amrex::IntVectND instantiated with AMREX_SPACEDIM.
Definition AMReX_BaseFwd.H:33
Definition AMReX_MFParallelFor.H:22
DynamicTiling(bool f) noexcept
Definition AMReX_MFParallelFor.H:24
bool dynamic
Definition AMReX_MFParallelFor.H:23
Definition AMReX_MFParallelFor.H:17
TileSize(IntVect const &ts) noexcept
Definition AMReX_MFParallelFor.H:19
IntVect tile_size
Definition AMReX_MFParallelFor.H:18