MFEM
v4.6.0
Finite element discretization library
|
MFEM backends. More...
#include <device.hpp>
Public Types | |
enum | Id : unsigned long { CPU = 1 << 0, OMP = 1 << 1, CUDA = 1 << 2, HIP = 1 << 3, RAJA_CPU = 1 << 4, RAJA_OMP = 1 << 5, RAJA_CUDA = 1 << 6, RAJA_HIP = 1 << 7, OCCA_CPU = 1 << 8, OCCA_OMP = 1 << 9, OCCA_CUDA = 1 << 10, CEED_CPU = 1 << 11, CEED_CUDA = 1 << 12, CEED_HIP = 1 << 13, DEBUG_DEVICE = 1 << 14 } |
In the documentation below, we use square brackets to indicate the type of the backend: host or device. More... | |
enum | { NUM_BACKENDS = 15, CPU_MASK = CPU | RAJA_CPU | OCCA_CPU | CEED_CPU, CUDA_MASK = CUDA | RAJA_CUDA | OCCA_CUDA | CEED_CUDA, HIP_MASK = HIP | RAJA_HIP | CEED_HIP, OMP_MASK = OMP | RAJA_OMP | OCCA_OMP, CEED_MASK = CEED_CPU | CEED_CUDA | CEED_HIP, DEVICE_MASK = CUDA_MASK | HIP_MASK | DEBUG_DEVICE, RAJA_MASK = RAJA_CPU | RAJA_OMP | RAJA_CUDA | RAJA_HIP, OCCA_MASK = OCCA_CPU | OCCA_OMP | OCCA_CUDA } |
Additional useful constants. For example, the *_MASK constants can be used with Device::Allows(). More... | |
MFEM backends.
Individual backends will generally implement only a subset of the kernels implemented by the default CPU backend. The goal of the backends is to accelerate data-parallel portions of the code and they can use a device memory space (e.g. GPUs) or share the memory space of the host (OpenMP).
Definition at line 26 of file device.hpp.
anonymous enum |
Additional useful constants. For example, the *_MASK constants can be used with Device::Allows().
Definition at line 80 of file device.hpp.
enum mfem::Backend::Id : unsigned long |
In the documentation below, we use square brackets to indicate the type of the backend: host or device.
Definition at line 30 of file device.hpp.