Block-Structured AMR Software Framework
AMReX_CTOParallelForImpl.H File Reference
#include <AMReX_BLassert.H>
#include <AMReX_Box.H>
#include <AMReX_TypeList.H>
#include <array>
#include <type_traits>

Go to the source code of this file.

Classes

struct  amrex::CompileTimeOptions< ctr >
 

Namespaces

 amrex
 

Functions

template<class L , class... Fs, typename... CTOs>
void amrex::AnyCTO ([[maybe_unused]] 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. More...
 
template<int MT, typename T , class F , typename... CTOs>
std::enable_if_t< std::is_integral_v< T > > 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, typename T , class F , int dim, typename... CTOs>
std::enable_if_t< std::is_integral_v< T > > amrex::ParallelFor (TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, BoxND< dim > const &box, T ncomp, F &&f)
 
template<typename T , class F , typename... CTOs>
std::enable_if_t< std::is_integral_v< T > > 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. More...
 
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. More...
 
template<typename T , class F , int dim, typename... CTOs>
std::enable_if_t< std::is_integral_v< T > > 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. More...