Provides a view over an MFEM grid function. MFEM grid functions are assumed to live in host memory. This class performs data movement needed to access the grid function data within a GPU device lambda. This view is limited in scope, though could be expanded in the future.
More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/quest/IntersectionShaper.hpp>
template<typename ExecSpace>
class axom::quest::GridFunctionView< ExecSpace >
Provides a view over an MFEM grid function. MFEM grid functions are assumed to live in host memory. This class performs data movement needed to access the grid function data within a GPU device lambda. This view is limited in scope, though could be expanded in the future.
- Template Parameters
-
ExecSpace | The execution space where the grid function data will be accessed. |
◆ GridFunctionView() [1/2]
template<typename ExecSpace >
Host constructor that accepts the grid function.
- Parameters
-
gf | The grid function that will be accessed/modified by the view. |
_needResult | Whether the data needs to be brought back to the host from the device. |
◆ GridFunctionView() [2/2]
template<typename ExecSpace >
Copy constructor, which is called to make a copy of the host object so it is accessible inside a RAJA kernel. Any data movement happened in the host constructor. This version sets hostData to nullptr so we know not to clean up in the destructor.
◆ ~GridFunctionView()
template<typename ExecSpace >
Destructor. On the host, this method may move data from the device and deallocate device storage.
◆ operator[]() [1/2]
template<typename ExecSpace >
Indexing operator for accessing the data.
- Parameters
-
i | The index at which to access the data. |
- Returns
- A reference to the data at index i.
◆ operator[]() [2/2]
template<typename ExecSpace >
The documentation for this class was generated from the following file: