MFEM v4.7.0
Finite element discretization library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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< 1 >
 
struct  mfem::RajaCuWrap< 2 >
 
struct  mfem::RajaCuWrap< 3 >
 
struct  mfem::RajaHipWrap< 1 >
 
struct  mfem::RajaHipWrap< 2 >
 
struct  mfem::RajaHipWrap< 3 >
 
struct  mfem::CuWrap< 1 >
 
struct  mfem::CuWrap< 2 >
 
struct  mfem::CuWrap< 3 >
 
struct  mfem::HipWrap< 1 >
 
struct  mfem::HipWrap< 2 >
 
struct  mfem::HipWrap< 3 >
 

Namespaces

namespace  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).
 
using mfem::cuda_launch_policy
 RAJA Cuda and Hip backends.
 
using mfem::cuda_teams_x
 
using mfem::cuda_threads_z
 
using mfem::hip_launch_policy
 
using mfem::hip_teams_x
 
using mfem::hip_threads_z
 

Functions

template<typename HBODY >
void mfem::OmpWrap (const int N, HBODY &&h_body)
 OpenMP backend.
 
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.
 
template<typename HBODY >
void mfem::RajaSeqWrap (const int N, HBODY &&h_body)
 RAJA sequential loop backend.
 
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.
 
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)
 
template<typename lambda >
void mfem::hypre_forall_cpu (int N, lambda &&body)
 
template<typename lambda >
void mfem::hypre_forall_gpu (int N, lambda &&body)
 
template<typename lambda >
void mfem::hypre_forall (int N, lambda &&body)