MFEM  v4.5.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
mfem::Ginkgo::GinkgoExecutor Class Reference

#include <ginkgo.hpp>

Public Types

enum  ExecType { REFERENCE = 0, OMP = 1, CUDA = 2, HIP = 3 }

Public Member Functions

 GinkgoExecutor (ExecType exec_type)
 GinkgoExecutor (Device &mfem_device)
virtual ~GinkgoExecutor ()=default
std::shared_ptr< gko::Executor > GetExecutor () const

Detailed Description

This class wraps a Ginkgo Executor for use in MFEM. Note that objects in the Ginkgo namespace intended to work together, e.g. a Ginkgo solver and preconditioner, should use the same GinkgoExecutor object. In general, most users will want to create one GinkgoExecutor object for use with all Ginkgo-related objects. The wrapper can be created to match MFEM's device configuration.

Definition at line 437 of file ginkgo.hpp.

Member Enumeration Documentation


Reference CPU Executor.


OpenMP CPU Executor.


CUDA GPU Executor.


HIP GPU Executor.

Definition at line 441 of file ginkgo.hpp.

Constructor & Destructor Documentation

mfem::Ginkgo::GinkgoExecutor::GinkgoExecutor ( ExecType  exec_type)

Constructor. Takes an GinkgoExecType argument and creates an Executor.

Definition at line 31 of file ginkgo.cpp.

mfem::Ginkgo::GinkgoExecutor::GinkgoExecutor ( Device mfem_device)

Constructor. Takes an MFEM Device object and creates an Executor that "matches" (e.g., if MFEM is using the CPU, Ginkgo will choose the OmpExecutor; if MFEM is using CUDA, Ginkgo will choose the CudaExecutor).

Definition at line 82 of file ginkgo.cpp.

virtual mfem::Ginkgo::GinkgoExecutor::~GinkgoExecutor ( )


Member Function Documentation

std::shared_ptr<gko::Executor> mfem::Ginkgo::GinkgoExecutor::GetExecutor ( ) const

Definition at line 472 of file ginkgo.hpp.

The documentation for this class was generated from the following files: