#include <KokkosFunctorRegistry.h>
|
| template<typename Object > |
| static char | addFunctor (const std::string &name) |
| | Register a functor.
|
| |
| template<typename Object > |
| static char | addFunction (const std::string &name) |
| | Register a function.
|
| |
| static std::unique_ptr< FunctorWrapperHostBase > | buildFunctor (const void *object, const std::string &name) |
| | Build and get a host wrapper of a functor.
|
| |
| static std::unique_ptr< FunctionWrapperHostBase > | buildFunction (const void *object, const std::string &name) |
| | Build and get a host wrapper of a function.
|
| |
|
| std::map< std::string, std::unique_ptr< FunctorRegistryEntryBase > > | _functors |
| | Map containing the host wrapper shells of functors with the key being the registered object type name.
|
| |
| std::map< std::string, std::unique_ptr< FunctionRegistryEntryBase > > | _functions |
| | Map containing the host wrapper shells of functions with the key being the registered object type name.
|
| |
Definition at line 60 of file KokkosFunctorRegistry.h.
◆ FunctorRegistry() [1/3]
| Moose::Kokkos::FunctorRegistry::FunctorRegistry |
( |
| ) |
|
|
default |
◆ FunctorRegistry() [2/3]
| Moose::Kokkos::FunctorRegistry::FunctorRegistry |
( |
FunctorRegistry const & |
| ) |
|
|
delete |
◆ FunctorRegistry() [3/3]
◆ addFunction()
template<typename Object >
| static char Moose::Kokkos::FunctorRegistry::addFunction |
( |
const std::string & |
name | ) |
|
|
inlinestatic |
Register a function.
- Template Parameters
-
| Object | The function class type |
- Parameters
-
| name | The registered function type name |
Definition at line 90 of file KokkosFunctorRegistry.h.
91 {
93
94 return 0;
95 }
static FunctorRegistry & getRegistry()
Get the registry singleton.
std::map< std::string, std::unique_ptr< FunctionRegistryEntryBase > > _functions
Map containing the host wrapper shells of functions with the key being the registered object type nam...
std::string name(const ElemQuality q)
◆ addFunctor()
template<typename Object >
| static char Moose::Kokkos::FunctorRegistry::addFunctor |
( |
const std::string & |
name | ) |
|
|
inlinestatic |
Register a functor.
- Template Parameters
-
| Object | The functor class type |
- Parameters
-
| name | The registered functor type name |
Definition at line 77 of file KokkosFunctorRegistry.h.
78 {
80
81 return 0;
82 }
std::map< std::string, std::unique_ptr< FunctorRegistryEntryBase > > _functors
Map containing the host wrapper shells of functors with the key being the registered object type name...
◆ buildFunction()
| static std::unique_ptr< FunctionWrapperHostBase > Moose::Kokkos::FunctorRegistry::buildFunction |
( |
const void * |
object, |
|
|
const std::string & |
name |
|
) |
| |
|
inlinestatic |
Build and get a host wrapper of a function.
- Parameters
-
| object | The pointer to the function |
| name | The registered function type name |
- Returns
- The host wrapper
Definition at line 121 of file KokkosFunctorRegistry.h.
123 {
126 mooseError(
"Kokkos function not registered for type '",
127 name,
128 "'. Double check that you used Kokkos-specific registration macro.");
129
130 return it->second->build(object);
131 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
◆ buildFunctor()
| static std::unique_ptr< FunctorWrapperHostBase > Moose::Kokkos::FunctorRegistry::buildFunctor |
( |
const void * |
object, |
|
|
const std::string & |
name |
|
) |
| |
|
inlinestatic |
Build and get a host wrapper of a functor.
- Parameters
-
| object | The pointer to the functor |
| name | The registered functor type name |
- Returns
- The host wrapper
Definition at line 103 of file KokkosFunctorRegistry.h.
105 {
108 mooseError(
"Kokkos functor not registered for type '",
109 name,
110 "'. Double check that you used Kokkos-specific registration macro.");
111
112 return it->second->build(object);
113 }
◆ getRegistry()
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ _functions
◆ _functors
The documentation for this class was generated from the following file: