AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Namespaces | |
ArrayOptions | |
detail | |
experimental | |
inlet | |
klee | |
lumberjack | |
mint | |
multimat | |
numerics | |
primal | |
quest | |
runtime_policy | |
sidre | |
slam | |
slic | |
sol | |
spin | |
utilities | |
Classes | |
class | Array |
Provides a generic multidimensional array container. More... | |
class | ArrayBase |
class | ArrayBase< T, 1, ArrayType > |
Array implementation specific to 1D Arrays. More... | |
class | ArrayIteratorBase |
An iterator type for Array-like types. Each increment operation advances the iterator to the next element in the Array-like. More... | |
class | ArrayView |
Provides a view over a generic array container. More... | |
class | FlatMap |
Provides a generic associative key-value container. More... | |
class | IteratorBase |
Base class for a random access iterator over positions in a set. More... | |
class | Path |
Path class for performing basic path operations with a user-selectable delimiter character. More... | |
class | StackArray |
Provides a wrapper for a compile time sized array, similar to std::array. This class is needed because NVCC doesn't capture standard stack arrays in device lambdas. Furthermore we can't use std::array because it is not host-device decorated. More... | |
struct | execution_space |
The execution_space is a traits class that binds the execution space to a corresponding RAJA execution policies and default memory allocator. More... | |
class | ArrayIndexer |
Indexing into a multidimensional structured array. More... | |
Typedefs | |
template<typename T > | |
using | MCArray = Array< T, 2 > |
Helper alias for multi-component arrays. More... | |
using | float32 = float |
using | float64 = double |
using | IndexType = std::int32_t |
ArrayView to wrap a pointer and provide indexing semantics | |
template<typename T > | |
using | MCArrayView = ArrayView< T, 2 > |
Helper alias for multi-component arrays. More... | |
Enumerations | |
enum class | MemorySpace { Dynamic } |
Memory spaces supported by Array-like types. More... | |
enum class | ArrayStrideOrder : int { ARBITRARY = 0 , ROW = 1 , COLUMN = 2 , BOTH = ROW | COLUMN } |
Indicator for stride ordering. More... | |
Functions | |
template<typename T , int DIM, typename ArrayType > | |
std::ostream & | print (std::ostream &os, const ArrayBase< T, DIM, ArrayType > &array) |
Free functions implementing ArrayBase's operator(s) More... | |
bool | operator== (const Path &lhs, const Path &rhs) |
Equality operator (equals) More... | |
bool | operator!= (const Path &lhs, const Path &rhs) |
Equality operator (not equals) More... | |
template<typename T , int N> | |
AXOM_HOST_DEVICE bool | operator== (const StackArray< T, N > &lhs, const StackArray< T, N > &rhs) |
Equality comparison operator for StackArray. More... | |
template<typename T , int N> | |
AXOM_HOST_DEVICE bool | operator!= (const StackArray< T, N > &lhs, const StackArray< T, N > &rhs) |
Inequality comparison operator for StackArray. More... | |
template<typename T , int N> | |
AXOM_HOST_DEVICE bool | operator< (const StackArray< T, N > &lhs, const StackArray< T, N > &rhs) |
Less than operator for StackArray. More... | |
std::string | gitSHA () |
Returns the Git SHA if Axom was built in Git repository, empty if not. More... | |
void | about () |
Prints info about how Axom was configured and built to stdout. More... | |
void | about (std::ostream &oss) |
Prints info about how Axom was configured and built to a stream. More... | |
std::string | getVersion () |
Returns a string consisting of the Axom version. More... | |
template<typename ExecSpace > | |
void | synchronize () noexcept |
Synchronizes all execution threads when using an ASYNC policy with the specified execution space. More... | |
template<> | |
void | synchronize< SEQ_EXEC > () noexcept |
Overloaded ArrayBase Operator(s) | |
template<typename T , int DIM, typename ArrayType > | |
std::ostream & | operator<< (std::ostream &os, const ArrayBase< T, DIM, ArrayType > &arr) |
Overloaded output stream operator. Outputs the Array-like to the given output stream. More... | |
template<typename T1 , typename T2 , int DIM, typename LArrayType , typename RArrayType > | |
bool | operator== (const ArrayBase< T1, DIM, LArrayType > &lhs, const ArrayBase< T2, DIM, RArrayType > &rhs) |
Equality comparison operator for Array-likes. More... | |
template<typename T1 , typename T2 , int DIM, typename LArrayType , typename RArrayType > | |
bool | operator!= (const ArrayBase< T1, DIM, LArrayType > &lhs, const ArrayBase< T2, DIM, RArrayType > &rhs) |
Inequality comparison operator for Arrays. More... | |
Memory Management Routines | |
void | setDefaultAllocator (int allocId) |
Sets the default memory allocator to use. More... | |
int | getDefaultAllocatorID () |
Returns the ID of the current default allocator. More... | |
template<typename T > | |
T * | allocate (std::size_t n, int allocID=getDefaultAllocatorID()) noexcept |
Allocates a chunk of memory of type T. More... | |
template<typename T > | |
void | deallocate (T *&p) noexcept |
Frees the chunk of memory pointed to by the supplied pointer, p. More... | |
template<typename T > | |
T * | reallocate (T *p, std::size_t n, int allocID=getDefaultAllocatorID()) noexcept |
Reallocates the chunk of memory pointed to by the supplied pointer. More... | |
void | copy (void *dst, const void *src, std::size_t numbytes) noexcept |
Copies memory from the source to the destination. More... | |
Generic Loop Traversal Functions | |
template<typename ExecSpace , typename KernelType > | |
void | for_all (const IndexType &begin, const IndexType &end, KernelType &&kernel) noexcept |
Loops over a specified contiguous range, I:[begin,end-1]. More... | |
template<typename ExecSpace , typename KernelType > | |
void | for_all (const IndexType &N, KernelType &&kernel) noexcept |
Loops over the contiguous range, I:[0,N-1], given by its length, N. More... | |
Variables | |
constexpr int | INVALID_ALLOCATOR_ID = -1 |
using axom::MCArray = typedef Array<T, 2> |
Helper alias for multi-component arrays.
using axom::MCArrayView = typedef ArrayView<T, 2> |
Helper alias for multi-component arrays.
using axom::float32 = typedef float |
using axom::float64 = typedef double |
using axom::IndexType = typedef std::int32_t |
|
strong |
|
strong |
std::ostream & axom::operator<< | ( | std::ostream & | os, |
const ArrayBase< T, DIM, ArrayType > & | arr | ||
) |
Overloaded output stream operator. Outputs the Array-like to the given output stream.
[in,out] | os | output stream object. |
[in] | arr | user-supplied Array-like instance. |
References print().
bool axom::operator== | ( | const ArrayBase< T1, DIM, LArrayType > & | lhs, |
const ArrayBase< T2, DIM, RArrayType > & | rhs | ||
) |
Equality comparison operator for Array-likes.
[in] | lhs | left Array-like to compare |
[in] | rhs | right Array-like to compare |
References axom::ArrayBase< T, DIM, ArrayType >::flatIndex(), axom::detail::getAllocatorID(), and axom::ArrayBase< T, DIM, ArrayType >::shape().
|
inline |
Free functions implementing ArrayBase's operator(s)
References axom::detail::getAllocatorID(), and axom::utilities::processAbort().
|
inline |
Sets the default memory allocator to use.
[in] | allocId | the Umpire allocator id |
References AXOM_UNUSED_VAR.
|
inline |
Returns the ID of the current default allocator.
|
inlinenoexcept |
Allocates a chunk of memory of type T.
[in] | n | the number of elements to allocate. |
[in] | allocID | the Umpire allocator to use (optional) |
T | the type of pointer returned. |
References AXOM_UNUSED_VAR.
|
inlinenoexcept |
Frees the chunk of memory pointed to by the supplied pointer, p.
[in/out] | p a pointer to memory allocated with allocate/reallocate or a nullptr. |
|
inlinenoexcept |
Reallocates the chunk of memory pointed to by the supplied pointer.
[in] | p | pointer to memory allocated with allocate/reallocate, or a nullptr. |
[in] | n | the number of elements to allocate. |
[in] | allocID | the ID of the allocator to use if pointer is null (optional) |
T | the type pointer p points to. |
References AXOM_UNUSED_VAR.
|
inlinenoexcept |
Copies memory from the source to the destination.
[in/out] | dst the destination to copy to. | |
[in] | src | the source to copy from. |
[in] | numbytes | the number of bytes to copy. |
AXOM_HOST_DEVICE bool axom::operator== | ( | const StackArray< T, N > & | lhs, |
const StackArray< T, N > & | rhs | ||
) |
Equality comparison operator for StackArray.
[in] | lhs | left StackArray to compare |
[in] | rhs | right StackArray to compare |
AXOM_HOST_DEVICE bool axom::operator!= | ( | const StackArray< T, N > & | lhs, |
const StackArray< T, N > & | rhs | ||
) |
Inequality comparison operator for StackArray.
[in] | lhs | left StackArray to compare |
[in] | rhs | right StackArray to compare |
AXOM_HOST_DEVICE bool axom::operator< | ( | const StackArray< T, N > & | lhs, |
const StackArray< T, N > & | rhs | ||
) |
Less than operator for StackArray.
[in] | lhs | left StackArray to compare |
[in] | rhs | right StackArray to compare |
std::string axom::gitSHA | ( | ) |
Returns the Git SHA if Axom was built in Git repository, empty if not.
Note: This will not update unless you re-run CMake between commits.
void axom::about | ( | ) |
Prints info about how Axom was configured and built to stdout.
void axom::about | ( | std::ostream & | oss | ) |
Prints info about how Axom was configured and built to a stream.
[in,out] | oss | the target stream where to append the Axom info |
std::string axom::getVersion | ( | ) |
Returns a string consisting of the Axom version.
|
inlinenoexcept |
Loops over a specified contiguous range, I:[begin,end-1].
[in] | begin | start index of the iteration. |
[in] | end | length of the iteration space. |
[in] | kernel | user-supplied kernel, i.e., a lambda or functor. |
ExecSpace | the execution space where to run the supplied kernel |
KernelType | the type of the supplied kernel (detected by the compiler) |
Usage Example:
References AXOM_STATIC_ASSERT.
|
inlinenoexcept |
Loops over the contiguous range, I:[0,N-1], given by its length, N.
[in] | N | the length of the contiguous range. |
[in] | kernel | user-supplied kernel, i.e., a lambda or functor. |
ExecSpace | the execution space where to run the supplied kernel |
KernelType | the type of the supplied kernel (detected by the compiler) |
Usage Example:
References AXOM_STATIC_ASSERT.
|
inlinenoexcept |
Synchronizes all execution threads when using an ASYNC policy with the specified execution space.
ExecSpace | the execution space |
References AXOM_STATIC_ASSERT.
|
inlinenoexcept |
|
constexpr |