15 #include "../config/config.hpp" 83 #endif // MFEM_USE_OCCA 85 #endif // MFEM_OCCA_HPP const T * Read(MemoryClass mc, int size) const
Get read-only access to the memory with the given MemoryClass.
[device] OCCA CUDA backend. Enabled when MFEM_USE_OCCA = YES and MFEM_USE_CUDA = YES.
occa::memory OccaMemoryWrap(void *ptr, std::size_t bytes)
Wrap a pointer as occa::memory with the default occa::device used by MFEM.
[host] OCCA OpenMP backend. Enabled when MFEM_USE_OCCA = YES.
occa::device & OccaDev()
Return the default occa::device used by MFEM.
T * Write(MemoryClass mc, int size)
Get write-only access to the memory with the given MemoryClass.
std::map< occa_id_t, occa::kernel > occa_kernel_t
occa::memory OccaMemoryReadWrite(Memory< T > &mem, size_t size)
Wrap a Memory object as occa::memory for read-write access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
[host] OCCA CPU backend: sequential execution on each MPI rank. Enabled when MFEM_USE_OCCA = YES...
static MemoryClass GetDeviceMemoryClass()
Get the current Device MemoryClass. This is the MemoryClass used by most MFEM device kernels to acces...
bool DeviceCanUseOcca()
Function that determines if an OCCA kernel should be used, based on the current mfem::Device configur...
const occa::memory OccaMemoryRead(const Memory< T > &mem, size_t size)
Wrap a Memory object as occa::memory for read only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
Biwise-OR of all OpenMP backends.
occa::memory OccaMemoryWrite(Memory< T > &mem, size_t size)
Wrap a Memory object as occa::memory for write only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
static bool Allows(unsigned long b_mask)
Return true if any of the backends in the backend mask, b_mask, are allowed.
T * ReadWrite(MemoryClass mc, int size)
Get read-write access to the memory with the given MemoryClass.
Class used by MFEM to store pointers to host and/or device memory.
bool UseDevice() const
Read the internal device flag.
std::pair< int, int > occa_id_t
Biwise-OR of all device backends.