Namespaces | |
Utils | |
Classes | |
class | Array |
The Kokkos array class. More... | |
class | Array< T, 1 > |
The specialization of the Kokkos array class for each dimension. More... | |
class | Array< T, 2 > |
class | Array< T, 3 > |
class | Array< T, 4 > |
class | Array< T, 5 > |
class | ArrayBase |
The base class for Kokkos arrays. More... | |
struct | ArrayDeepCopy |
The type trait that determines the default behavior of copy constructor and deepCopy() If this type trait is set to true, the copy constructor will call deepCopy(), and the deepCopy() method will copy-construct each entry. More... | |
struct | ArrayDeepCopy< Array< T, dimension > > |
struct | ArrayDeepCopy< MaterialProperty< T, dimension > > |
class | Assembly |
The Kokkos assembly class. More... | |
class | AssemblyHolder |
The Kokkos interface that holds the host reference of the Kokkos assembly and copies it to device during parallel dispatch. More... | |
class | BoundaryCondition |
The base class for Kokkos boundary conditions. More... | |
class | Datum |
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object. More... | |
class | DirichletBCBase |
The base Kokkos boundary condition of a Dirichlet type. More... | |
struct | ElementInfo |
The Kokkos object that contains the information of an element The IDs used in Kokkos are different from the MOOSE or libMesh IDs The Kokkos IDs start from zero in each process and are contiguous. More... | |
class | FunctorCopy |
class | IntegratedBC |
The base class for a user to derive their own Kokkos integrated boundary conditions. More... | |
class | IntegratedBCBase |
The base class for Kokkos integrated boundary conditions. More... | |
class | Kernel |
The base class for a user to derive their own Kokkos kernels. More... | |
class | KernelBase |
The base class for Kokkos kernels. More... | |
class | KernelGrad |
The base class for a user to derive their own Kokkos kernels where the residual is of the form. More... | |
class | KernelValue |
The base class for a user to derive their own Kokkos kernels where the residual is of the form. More... | |
class | Map |
The Kokkos wrapper class for standard map. More... | |
class | Material |
The base class for a user to derive their own Kokkos materials. More... | |
class | MaterialBase |
The base class for Kokkos materials. More... | |
class | MaterialProperty |
The Kokkos material property class. More... | |
class | MaterialPropertyBase |
The base class for Kokkos material properties. More... | |
class | MaterialPropertyStorage |
The Kokkos class responsible for allocating and storing Kokkos material properties. More... | |
class | MaterialPropertyValue |
class | MaterialPropertyValue< T, 0 > |
class | MaterialPropertyValue< T, 1 > |
class | MaterialPropertyValue< T, 2 > |
class | MaterialPropertyValue< T, 3 > |
class | MaterialPropertyValue< T, 4 > |
class | MaterialPropertyValueBase |
The Kokkos wrapper class for accessing the material property values of a single quadrature point. More... | |
class | Matrix |
The Kokkos wrapper class for PETSc matrix. More... | |
class | MemoryChunk |
A temporary object returned by the Kokkos memory pool during memory chunk allocation. More... | |
class | MemoryPool |
The Kokkos class that manages memory pool for dynamically-sized temporary arrays in Kokkos parallel functions. More... | |
class | MemoryPoolHolder |
The Kokkos interface that holds the Kokkos memory pool. More... | |
class | Mesh |
The Kokkos mesh object. More... | |
class | MeshHolder |
The Kokkos interface that holds the host reference of the Kokkos mesh and copies it to device during parallel dispatch Maintains synchronization between host and device Kokkos mesh and provides access to the appropriate Kokkos mesh depending on the architecture. More... | |
class | NodalBC |
The base class for a user to derive their own Kokkos nodal boundary conditions. More... | |
class | NodalBCBase |
The base class for Kokkos nodal boundary conditions. More... | |
class | NodalKernel |
The base class for a user to derive their own Kokkos nodal kernels. More... | |
class | NodalKernelBase |
The base class for Kokkos nodal kernels. More... | |
struct | Pair |
struct | PropRecord |
A structure storing the metadata of Kokkos material properties. More... | |
struct | Real3 |
struct | Real33 |
class | ReferenceWrapper |
The Kokkos object that can hold the reference of a variable. More... | |
class | ResidualDatum |
The Kokkos object that holds thread-private data in the parallel operations of Kokkos residual objects. More... | |
class | ResidualObject |
The base class for Kokkos residual objects. More... | |
class | Scalar |
The Kokkos wrapper class that can hold the reference of an arithmetic scalar variable. More... | |
class | Scalar< const T, typename std::enable_if< std::is_arithmetic< T >::value >::type > |
class | System |
The Kokkos system class. More... | |
class | SystemHolder |
The Kokkos interface that holds the host reference of the Kokkos systems and copies it to device during parallel dispatch. More... | |
class | Thread |
The Kokkos thread object that aids in converting the one-dimensional thread index into multi-dimensional thread indices. More... | |
class | TimeKernel |
The base class for Kokkos time-derivative kernels. More... | |
class | TimeNodalKernel |
The base class for Kokkos time-derivative nodal kernels. More... | |
class | Variable |
The Kokkos variable object that carries the coupled variable and tag information. More... | |
class | VariableGradient |
class | VariableNodalValue |
class | VariablePhiGradient |
class | VariablePhiValue |
The Kokkos wrapper classes for MOOSE-like shape function access. More... | |
class | VariableTestGradient |
class | VariableTestValue |
class | VariableValue |
The Kokkos wrapper classes for MOOSE-like variable value access. More... | |
class | Vector |
The Kokkos wrapper class for PETSc vector. More... | |
Typedefs | |
template<typename T > | |
using | Array1D = Array< T, 1 > |
template<typename T > | |
using | Array2D = Array< T, 2 > |
template<typename T > | |
using | Array3D = Array< T, 3 > |
template<typename T > | |
using | Array4D = Array< T, 4 > |
template<typename T > | |
using | Array5D = Array< T, 5 > |
using | PostprocessorValue = Scalar< const PostprocessorValue > |
using | StorageKey = Moose::PassKey< MaterialPropertyStorage > |
using | PropertyStore = std::function< void(std::ostream &, void *)> |
using | PropertyLoad = std::function< void(std::istream &, void *)> |
Enumerations | |
enum | MemcpyKind { MemcpyKind::HOST_TO_HOST, MemcpyKind::HOST_TO_DEVICE, MemcpyKind::DEVICE_TO_HOST, MemcpyKind::DEVICE_TO_DEVICE } |
The enumerator that dictates the memory copy direction. More... | |
Functions | |
void | free (void *ptr) |
template<typename T > | |
void | copyToDeviceInner (T &) |
template<typename T , unsigned int dimension> | |
void | copyToDeviceInner (Array< T, dimension > &data) |
template<typename T , unsigned int dimension> | |
void | dataStore (std::ostream &stream, Array< T, dimension > &array, void *context) |
template<typename T , unsigned int dimension> | |
void | dataLoad (std::istream &stream, Array< T, dimension > &array, void *context) |
template<typename T > | |
KOKKOS_FUNCTION uint32_t | fnv1aHash (const T &key, uint32_t hash) |
template<typename T > | |
KOKKOS_FUNCTION uint32_t | fnv1aHash (const T &key) |
template<typename T1 , typename T2 > | |
KOKKOS_FUNCTION uint32_t | fnv1aHash (const Pair< T1, T2 > &key) |
template<typename T1 , typename T2 > | |
void | dataStore (std::ostream &stream, Map< T1, T2 > &map, void *context) |
template<typename T1 , typename T2 > | |
void | dataLoad (std::istream &stream, Map< T1, T2 > &map, void *context) |
KOKKOS_INLINE_FUNCTION Real3 | operator* (const Real left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator* (const Real3 left, const Real right) |
KOKKOS_INLINE_FUNCTION Real | operator* (const Real3 left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator* (const Real33 left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real33 | operator* (const Real33 left, const Real33 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator+ (const Real left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator+ (const Real3 left, const Real right) |
KOKKOS_INLINE_FUNCTION Real3 | operator+ (const Real3 left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator- (const Real left, const Real3 right) |
KOKKOS_INLINE_FUNCTION Real3 | operator- (const Real3 left, const Real right) |
KOKKOS_INLINE_FUNCTION Real3 | operator- (const Real3 left, const Real3 right) |
template<typename T1 , typename T2 > | |
bool | operator< (const Pair< T1, T2 > &left, const Pair< T1, T2 > &right) |
template<typename T , unsigned int dimension> | |
void | propertyStore (std::ostream &stream, void *prop) |
template<typename T , unsigned int dimension> | |
void | propertyLoad (std::istream &stream, void *prop) |
Variables | |
constexpr unsigned int | MAX_TAG = 30 |
Maximum tag ID. More... | |
constexpr unsigned int | MAX_CACHED_DOF = 30 |
Maximum number of DOFs to cache during residual and Jacobian computation. More... | |
constexpr uint32_t | FNV_PRIME = 0x01000193 |
constexpr uint32_t | FNV_OFFSET_BASIS = 0x811C9DC5 |
using Moose::Kokkos::Array1D = typedef Array<T, 1> |
Definition at line 1615 of file KokkosArray.h.
using Moose::Kokkos::Array2D = typedef Array<T, 2> |
Definition at line 1617 of file KokkosArray.h.
using Moose::Kokkos::Array3D = typedef Array<T, 3> |
Definition at line 1619 of file KokkosArray.h.
using Moose::Kokkos::Array4D = typedef Array<T, 4> |
Definition at line 1621 of file KokkosArray.h.
using Moose::Kokkos::Array5D = typedef Array<T, 5> |
Definition at line 1623 of file KokkosArray.h.
using Moose::Kokkos::PostprocessorValue = typedef Scalar<const PostprocessorValue> |
Definition at line 62 of file KokkosScalar.h.
using Moose::Kokkos::PropertyLoad = typedef std::function<void(std::istream &, void *)> |
Definition at line 71 of file KokkosMaterialPropertyDecl.h.
using Moose::Kokkos::PropertyStore = typedef std::function<void(std::ostream &, void *)> |
Definition at line 70 of file KokkosMaterialPropertyDecl.h.
using Moose::Kokkos::StorageKey = typedef Moose::PassKey<MaterialPropertyStorage> |
Definition at line 28 of file KokkosMaterialPropertyDecl.h.
|
strong |
The enumerator that dictates the memory copy direction.
Enumerator | |
---|---|
HOST_TO_HOST | |
HOST_TO_DEVICE | |
DEVICE_TO_HOST | |
DEVICE_TO_DEVICE |
Definition at line 44 of file KokkosArray.h.
void Moose::Kokkos::copyToDeviceInner | ( | T & | ) |
Definition at line 801 of file KokkosArray.h.
Referenced by Moose::Kokkos::ArrayBase< T, 4 >::copyToDeviceNested().
void Moose::Kokkos::copyToDeviceInner | ( | Array< T, dimension > & | data | ) |
Definition at line 807 of file KokkosArray.h.
void Moose::Kokkos::dataLoad | ( | std::istream & | stream, |
Map< T1, T2 > & | map, | ||
void * | context | ||
) |
Definition at line 335 of file KokkosMap.h.
void Moose::Kokkos::dataLoad | ( | std::istream & | stream, |
Array< T, dimension > & | array, | ||
void * | context | ||
) |
Definition at line 931 of file KokkosArray.h.
Referenced by dataLoad(), and propertyLoad().
void Moose::Kokkos::dataStore | ( | std::ostream & | stream, |
Map< T1, T2 > & | map, | ||
void * | context | ||
) |
Definition at line 323 of file KokkosMap.h.
void Moose::Kokkos::dataStore | ( | std::ostream & | stream, |
Array< T, dimension > & | array, | ||
void * | context | ||
) |
Definition at line 887 of file KokkosArray.h.
Referenced by dataStore(), and propertyStore().
KOKKOS_FUNCTION uint32_t Moose::Kokkos::fnv1aHash | ( | const T & | key, |
uint32_t | hash | ||
) |
Definition at line 28 of file KokkosMap.h.
Referenced by Moose::Kokkos::Map< unsigned int, unsigned int >::copy(), Moose::Kokkos::Map< unsigned int, unsigned int >::find(), and fnv1aHash().
KOKKOS_FUNCTION uint32_t Moose::Kokkos::fnv1aHash | ( | const T & | key | ) |
Definition at line 43 of file KokkosMap.h.
KOKKOS_FUNCTION uint32_t Moose::Kokkos::fnv1aHash | ( | const Pair< T1, T2 > & | key | ) |
Definition at line 53 of file KokkosMap.h.
Definition at line 242 of file KokkosTypes.h.
Referenced by UniqueStorage< T >::DereferenceIterator< BaseIterator >::operator*(), and UniqueStorage< T >::DereferenceIterator< BaseIterator >::operator->().
Definition at line 247 of file KokkosTypes.h.
Definition at line 252 of file KokkosTypes.h.
Definition at line 257 of file KokkosTypes.h.
Definition at line 264 of file KokkosTypes.h.
Definition at line 276 of file KokkosTypes.h.
Definition at line 281 of file KokkosTypes.h.
Definition at line 286 of file KokkosTypes.h.
Definition at line 291 of file KokkosTypes.h.
Definition at line 296 of file KokkosTypes.h.
Definition at line 301 of file KokkosTypes.h.
bool Moose::Kokkos::operator< | ( | const Pair< T1, T2 > & | left, |
const Pair< T1, T2 > & | right | ||
) |
Definition at line 325 of file KokkosTypes.h.
void Moose::Kokkos::propertyLoad | ( | std::istream & | stream, |
void * | prop | ||
) |
Definition at line 158 of file KokkosMaterialProperty.h.
void Moose::Kokkos::propertyStore | ( | std::ostream & | stream, |
void * | prop | ||
) |
Definition at line 150 of file KokkosMaterialProperty.h.
constexpr uint32_t Moose::Kokkos::FNV_OFFSET_BASIS = 0x811C9DC5 |
Definition at line 24 of file KokkosMap.h.
Referenced by fnv1aHash().
constexpr uint32_t Moose::Kokkos::FNV_PRIME = 0x01000193 |
Definition at line 23 of file KokkosMap.h.
Referenced by fnv1aHash().
constexpr unsigned int Moose::Kokkos::MAX_CACHED_DOF = 30 |
Maximum number of DOFs to cache during residual and Jacobian computation.
Definition at line 79 of file KokkosHeader.h.
Referenced by KokkosTimeDerivative< KokkosTimeDerivativeKernel >::computeJacobianInternal(), Moose::Kokkos::ResidualObject::computeJacobianInternal(), and Moose::Kokkos::ResidualObject::computeResidualInternal().
constexpr unsigned int Moose::Kokkos::MAX_TAG = 30 |
Maximum tag ID.
Definition at line 75 of file KokkosHeader.h.