Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_CTOParallelForImpl.H File Reference
#include <AMReX_BLassert.H>
#include <AMReX_Box.H>
#include <AMReX_TypeList.H>
#include <array>
#include <concepts>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  amrex::CompileTimeOptions< ctr >

Namespaces

namespace  amrex

Typedefs

template<int Begin, int End>
using amrex::CTOSeq

Functions

template<class L, class... Fs, typename... CTOs>
void amrex::AnyCTO (TypeList< CTOs... > list_of_compile_time_options, std::array< int, sizeof...(CTOs)> const &runtime_options, L &&l, Fs &&...cto_functs)
 Compile time optimization of kernels with run time options.
template<int MT, std::integral T, class F, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, T N, F &&f)
template<int MT, class F, int dim, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, BoxND< dim > const &box, F &&f)
template<int MT, std::integral T, class F, int dim, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, BoxND< dim > const &box, T ncomp, F &&f)
template<std::integral T, class F, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, T N, F &&f)
 ParallelFor with compile time optimization of kernels with run time options.
template<class F, int dim, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, BoxND< dim > const &box, F &&f)
 ParallelFor with compile time optimization of kernels with run time options.
template<std::integral T, class F, int dim, typename... CTOs>
void amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, BoxND< dim > const &box, T ncomp, F &&f)
 ParallelFor with compile time optimization of kernels with run time options.
template<int MT, std::integral T, class F, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, T N, F &&f)
template<int MT, class F, int dim, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, BoxND< dim > const &box, F &&f)
template<int MT, std::integral T, class F, int dim, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, BoxND< dim > const &box, T ncomp, F &&f)
template<std::integral T, class F, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, T N, F &&f)
 For with compile time optimization of kernels with run time options.
template<class F, int dim, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, BoxND< dim > const &box, F &&f)
 For with compile time optimization of kernels with run time options.
template<std::integral T, class F, int dim, typename... CTOs>
void amrex::For (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &option, BoxND< dim > const &box, T ncomp, F &&f)
 For with compile time optimization of kernels with run time options.