Block-Structured AMR Software Framework
AMReX_GpuLaunchFunctsC.H File Reference
#include <AMReX_Config.H>

Go to the source code of this file.

Namespaces

 amrex
 
 amrex::detail
 

Functions

template<typename F , typename N >
AMREX_FORCE_INLINE auto amrex::detail::call_f_scalar_handler (F const &f, N i) noexcept -> decltype(f(0))
 
template<typename F , std::size_t... Ns, class... Args>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_inner (std::index_sequence< Ns... >, F const &f, IntVectND< 1 > iv, Args...args) noexcept -> decltype(f(0, 0, 0, args...))
 
template<typename F , std::size_t... Ns, class... Args>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_inner (std::index_sequence< Ns... >, F const &f, IntVectND< 2 > iv, Args...args) noexcept -> decltype(f(0, 0, 0, args...))
 
template<typename F , int dim, std::size_t... Ns, class... Args>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_inner (std::index_sequence< Ns... >, F const &f, IntVectND< dim > iv, Args...args) noexcept -> decltype(f(iv, args...))
 
template<typename F , int dim>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_engine (F const &f, IntVectND< dim > iv, RandomEngine engine) noexcept -> decltype(call_f_intvect_inner(std::make_index_sequence< dim >(), f, iv, engine))
 
template<typename F , int dim>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_handler (F const &f, IntVectND< dim > iv) noexcept -> decltype(call_f_intvect_inner(std::make_index_sequence< dim >(), f, iv))
 
template<typename F , typename T , int dim>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_ncomp_engine (F const &f, IntVectND< dim > iv, T n, RandomEngine engine) noexcept -> decltype(call_f_intvect_inner(std::make_index_sequence< dim >(), f, iv, n, engine))
 
template<typename F , typename T , int dim>
AMREX_FORCE_INLINE auto amrex::detail::call_f_intvect_ncomp_handler (F const &f, IntVectND< dim > iv, T n) noexcept -> decltype(call_f_intvect_inner(std::make_index_sequence< dim >(), f, iv, n))
 
template<typename T , typename L >
void amrex::launch (T const &n, L &&f) noexcept
 
template<int MT, typename T , typename L >
void amrex::launch (T const &n, L &&f) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::For (T n, L const &f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (T n, L &&f) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelFor (T n, L const &f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (T n, L &&f) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<int idim, typename L , int dim>
AMREX_FORCE_INLINE void amrex::detail::For_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv) noexcept
 
template<typename L , int dim>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::For (BoxND< dim > const &box, L const &f) noexcept
 
template<int MT, typename L , int dim>
void amrex::For (BoxND< dim > const &box, L &&f) noexcept
 
template<typename L , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int idim, typename L , int dim>
AMREX_FORCE_INLINE void amrex::detail::ParallelFor_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv) noexcept
 
template<typename L , int dim>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelFor (BoxND< dim > const &box, L const &f) noexcept
 
template<int MT, typename L , int dim>
void amrex::ParallelFor (BoxND< dim > const &box, L &&f) noexcept
 
template<typename L , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int idim, typename L , typename T , int dim>
AMREX_FORCE_INLINE void amrex::detail::For_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv, T n) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::For (BoxND< dim > const &box, T ncomp, L const &f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int idim, typename L , typename T , int dim>
AMREX_FORCE_INLINE void amrex::detail::ParallelFor_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv, T n) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelFor (BoxND< dim > const &box, T ncomp, L const &f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::For (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::For (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::For (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::For (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::For (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::For (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::For (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::For (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::For (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::ParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::ParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::ParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::ParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::ParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::ParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::ParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::ParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::ParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (T n, L &&f) noexcept
 
template<typename L , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceParallelFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (T n, L &&f) noexcept
 
template<typename L , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , int dim, typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceFor (BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceFor (BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<typename L , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceParallelFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<int MT, typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, T n, L &&f) noexcept
 
template<typename L , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<int MT, typename L , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box, L &&f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<int MT, typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box, T ncomp, L &&f) noexcept
 
template<typename L1 , typename L2 , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<int MT, typename L1 , typename L2 , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, L1 &&f1, L2 &&f2) noexcept
 
template<typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<int MT, typename L1 , typename L2 , typename L3 , int dim>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, BoxND< dim > const &box2, BoxND< dim > const &box3, L1 &&f1, L2 &&f2, L3 &&f3) noexcept
 
template<typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<int MT, typename T1 , typename T2 , typename L1 , typename L2 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2) noexcept
 
template<typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<int MT, typename T1 , typename T2 , typename T3 , typename L1 , typename L2 , typename L3 , int dim, typename M1 = std::enable_if_t<std::is_integral_v<T1>>, typename M2 = std::enable_if_t<std::is_integral_v<T2>>, typename M3 = std::enable_if_t<std::is_integral_v<T3>>>
void amrex::HostDeviceFor (Gpu::KernelInfo const &, BoxND< dim > const &box1, T1 ncomp1, L1 &&f1, BoxND< dim > const &box2, T2 ncomp2, L2 &&f2, BoxND< dim > const &box3, T3 ncomp3, L3 &&f3) noexcept
 
template<typename T , typename L , typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelForRNG (T n, L const &f) noexcept
 
template<int idim, typename L , int dim>
AMREX_FORCE_INLINE void amrex::detail::ParallelForRNG_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv) noexcept
 
template<int idim, typename L , typename T , int dim>
AMREX_FORCE_INLINE void amrex::detail::ParallelForRNG_impND (L const &f, IntVectND< dim > const lo, IntVectND< dim > const hi, IntVectND< dim > iv, T n) noexcept
 
template<typename L , int dim>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelForRNG (BoxND< dim > const &box, L const &f) noexcept
 
template<typename T , typename L , int dim, typename M = std::enable_if_t<std::is_integral_v<T>>>
AMREX_ATTRIBUTE_FLATTEN_FOR void amrex::ParallelForRNG (BoxND< dim > const &box, T ncomp, L const &f) noexcept
 
template<typename L >
void amrex::single_task (L &&f) noexcept