MFEM
v4.0
Finite element discretization library
|
MFEM backends. More...
#include <device.hpp>
Public Types | |
enum | Id { CPU = 1 << 0, OMP = 1 << 1, CUDA = 1 << 2, RAJA_CPU = 1 << 3, RAJA_OMP = 1 << 4, RAJA_CUDA = 1 << 5, OCCA_CPU = 1 << 6, OCCA_OMP = 1 << 7, OCCA_CUDA = 1 << 8 } |
In the documentation below, we use square brackets to indicate the type of the backend: host or device. More... | |
enum | { NUM_BACKENDS = 9, CPU_MASK = CPU | RAJA_CPU | OCCA_CPU, CUDA_MASK = CUDA | RAJA_CUDA | OCCA_CUDA, OMP_MASK = OMP | RAJA_OMP | OCCA_OMP, DEVICE_MASK = CUDA_MASK, RAJA_MASK = RAJA_CPU | RAJA_OMP | RAJA_CUDA, 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 59 of file device.hpp.
enum mfem::Backend::Id |
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.