MFEM  v4.6.0
Finite element discretization library
Classes | Namespaces | Typedefs | Functions
forall.hpp File Reference

Go to the source code of this file.

Classes

struct  mfem::DeviceDofQuadLimits
 Maximum number of 1D DOFs or quadrature points for the current runtime configuration of the Device (used in fallback kernels). More...
 
struct  mfem::RajaCuWrap< Dim >
 
struct  mfem::RajaCuWrap< 1 >
 
struct  mfem::RajaCuWrap< 2 >
 
struct  mfem::RajaCuWrap< 3 >
 
struct  mfem::RajaHipWrap< Dim >
 
struct  mfem::RajaHipWrap< 1 >
 
struct  mfem::RajaHipWrap< 2 >
 
struct  mfem::RajaHipWrap< 3 >
 
struct  mfem::CuWrap< Dim >
 
struct  mfem::CuWrap< 1 >
 
struct  mfem::CuWrap< 2 >
 
struct  mfem::CuWrap< 3 >
 
struct  mfem::HipWrap< Dim >
 
struct  mfem::HipWrap< 1 >
 
struct  mfem::HipWrap< 2 >
 
struct  mfem::HipWrap< 3 >
 

Namespaces

 mfem
 

Typedefs

using mfem::DofQuadLimits = internal::DofQuadLimits_CUDA
 Maximum number of 1D DOFs or quadrature points for the architecture currently being compiled for (used in fallback kernels). More...
 
using mfem::cuda_launch_policy = RAJA::LaunchPolicy< RAJA::cuda_launch_t< true > >
 RAJA Cuda and Hip backends. More...
 
using mfem::cuda_teams_x = RAJA::LoopPolicy< RAJA::cuda_block_x_direct >
 
using mfem::cuda_threads_z = RAJA::LoopPolicy< RAJA::cuda_thread_z_direct >
 
using mfem::hip_launch_policy = RAJA::LaunchPolicy< RAJA::hip_launch_t< true > >
 
using mfem::hip_teams_x = RAJA::LoopPolicy< RAJA::hip_block_x_direct >
 
using mfem::hip_threads_z = RAJA::LoopPolicy< RAJA::hip_thread_z_direct >
 

Functions

template<typename HBODY >
void mfem::OmpWrap (const int N, HBODY &&h_body)
 OpenMP backend. More...
 
template<const int BLOCKS = MFEM_CUDA_BLOCKS, typename DBODY >
void mfem::RajaCuWrap1D (const int N, DBODY &&d_body)
 
template<typename DBODY >
void mfem::RajaCuWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ)
 
template<typename DBODY >
void mfem::RajaCuWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G)
 
template<const int BLOCKS = MFEM_HIP_BLOCKS, typename DBODY >
void mfem::RajaHipWrap1D (const int N, DBODY &&d_body)
 
template<typename DBODY >
void mfem::RajaHipWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ)
 
template<typename DBODY >
void mfem::RajaHipWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G)
 
template<typename HBODY >
void mfem::RajaOmpWrap (const int N, HBODY &&h_body)
 RAJA OpenMP backend. More...
 
template<typename HBODY >
void mfem::RajaSeqWrap (const int N, HBODY &&h_body)
 RAJA sequential loop backend. More...
 
template<const int BLCK = MFEM_CUDA_BLOCKS, typename DBODY >
void mfem::CuWrap1D (const int N, DBODY &&d_body)
 
template<typename DBODY >
void mfem::CuWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ)
 
template<typename DBODY >
void mfem::CuWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G)
 
template<const int BLCK = MFEM_HIP_BLOCKS, typename DBODY >
void mfem::HipWrap1D (const int N, DBODY &&d_body)
 
template<typename DBODY >
void mfem::HipWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ)
 
template<typename DBODY >
void mfem::HipWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G)
 
template<const int DIM, typename d_lambda , typename h_lambda >
void mfem::ForallWrap (const bool use_dev, const int N, d_lambda &&d_body, h_lambda &&h_body, const int X=0, const int Y=0, const int Z=0, const int G=0)
 The forall kernel body wrapper. More...
 
template<const int DIM, typename lambda >
void mfem::ForallWrap (const bool use_dev, const int N, lambda &&body, const int X=0, const int Y=0, const int Z=0, const int G=0)
 
template<typename lambda >
void mfem::forall (int N, lambda &&body)
 
template<typename lambda >
void mfem::forall_switch (bool use_dev, int N, lambda &&body)
 
template<typename lambda >
void mfem::forall_2D (int N, int X, int Y, lambda &&body)
 
template<typename lambda >
void mfem::forall_2D_batch (int N, int X, int Y, int BZ, lambda &&body)
 
template<typename lambda >
void mfem::forall_3D (int N, int X, int Y, int Z, lambda &&body)
 
template<typename lambda >
void mfem::forall_3D_grid (int N, int X, int Y, int Z, int G, lambda &&body)