A wrapper that converts a valid space into a generic backend.
More...
#include <Morpheus_GenericBackend.hpp>
|
using | backend = GenericBackend< Space > |
| The type of the generic backend.
|
|
using | execution_space = typename Space::execution_space |
| Execution space of generic backend.
|
|
using | memory_space = typename Space::memory_space |
| Memory space of generic backend.
|
|
using | device_type = Device< execution_space, memory_space, backend > |
| The device type of the generic backend.
|
|
template<typename Space>
struct Morpheus::GenericBackend< Space >
A wrapper that converts a valid space into a generic backend.
- Template Parameters
-
Space | A space to be converted as a generic. |
- Overview
- A wrapper like that is helpful if we want to distinguish algorithms that explicitly use a generic backend from the ones that we want to use a performance portable kernel and effectively keep a single source implementation.
- Example
#include <Morpheus_Core.hpp>
int main(){
using exec = Kokkos::DefaultHostSpace;
Morpheus::dot<exec>(x, y, z2);
Morpheus::dot<custom_back>(x, y, z1);
Morpheus::dot<generic_back>(x, y, z2);
}
The DenseVector container is a one-dimensional container that contains contiguous elements....
Definition: Morpheus_DenseVector.hpp:83
A wrapper that converts a valid space into a custom backend.
Definition: Morpheus_CustomBackend.hpp:75
A wrapper that converts a valid space into a generic backend.
Definition: Morpheus_GenericBackend.hpp:68
The documentation for this struct was generated from the following file: