|
Kokkos Node API and Local Linear Algebra Kernels Version of the Day
|
A default implementation of the Node memory architecture for a single memory space allocated by standard library calls. More...
#include <Kokkos_StandardNodeMemoryModel.hpp>

Public Member Functions | |
| template<class T > | |
| ArrayRCP< T > | allocBuffer (size_t size) |
| Allocate a parallel buffer, returning it as a pointer ecnapsulated in an ArrayRCP. | |
| template<class T > | |
| void | copyFromBuffer (size_t size, const ArrayRCP< const T > &buffSrc, const ArrayView< T > &hostDest) |
| Copy data to host memory from a parallel buffer. | |
| template<class T > | |
| void | copyToBuffer (size_t size, const ArrayView< const T > &hostSrc, const ArrayRCP< T > &buffDest) |
| Copy data to host memory from a parallel buffer. | |
| template<class T > | |
| void | copyBuffers (size_t size, const ArrayRCP< const T > &buffSrc, const ArrayRCP< T > &buffDest) |
| Copy data between buffers. | |
| template<class T > | |
| ArrayRCP< const T > | viewBuffer (size_t size, ArrayRCP< const T > buff) |
| Return a const view of a buffer for use on the host. | |
| template<class T > | |
| ArrayRCP< T > | viewBufferNonConst (ReadWriteOption rw, size_t size, const ArrayRCP< T > &buff) |
| Return a non-const view of a buffer for use on the host. | |
Static Public Attributes | |
| static const bool | isHostNode = true |
| Indicates that parallel buffers allocated by this node are available for use on the host thread. | |
A default implementation of the Node memory architecture for a single memory space allocated by standard library calls.
Definition at line 58 of file Kokkos_StandardNodeMemoryModel.hpp.
| ArrayRCP<T> Kokkos::StandardNodeMemoryModel::allocBuffer | ( | size_t | size | ) | [inline] |
Allocate a parallel buffer, returning it as a pointer ecnapsulated in an ArrayRCP.
Dereferencing the returned ArrayRCP or its underlying pointer in general results in undefined behavior outside of parallel computations.
The buffer will be automatically freed by the Node when no more references remain.
| T | The data type of the allocate buffer. This is used to perform alignment and determine the number of bytes to allocate. |
| [in] | size | The size requested for the parallel buffer, greater than zero. |
size number of entries of type T. Definition at line 79 of file Kokkos_StandardNodeMemoryModel.hpp.
| void Kokkos::StandardNodeMemoryModel::copyFromBuffer | ( | size_t | size, |
| const ArrayRCP< const T > & | buffSrc, | ||
| const ArrayView< T > & | hostDest | ||
| ) | [inline] |
Copy data to host memory from a parallel buffer.
| [in] | size | The number of entries to copy from buffSrc to hostDest. |
| [in] | buffSrc | The parallel buffer from which to copy. |
| [out] | hostDest | The location in host memory where the data from buffSrc is copied to. |
size is non-negative. buffSrc has length at least size. hostDest has length equal to size. [0 , size) of buffSrc have been copied to hostDest entries in the range [0 , size). Definition at line 102 of file Kokkos_StandardNodeMemoryModel.hpp.
| void Kokkos::StandardNodeMemoryModel::copyToBuffer | ( | size_t | size, |
| const ArrayView< const T > & | hostSrc, | ||
| const ArrayRCP< T > & | buffDest | ||
| ) | [inline] |
Copy data to host memory from a parallel buffer.
| [in] | size | The number of entries to copy from hostSrc to buffDest. |
| [in] | hostSrc | The location in host memory from where the data is copied. |
| [out] | buffDest | The parallel buffer to which the data is copied. |
size is non-negative. hostSrc has length equal to size. buffSrc has length at least size. [0 , size) of hostSrc are allowed to be written to. The data is guaranteed to be present in buffDest before it is used in a parallel computation. Definition at line 122 of file Kokkos_StandardNodeMemoryModel.hpp.
| void Kokkos::StandardNodeMemoryModel::copyBuffers | ( | size_t | size, |
| const ArrayRCP< const T > & | buffSrc, | ||
| const ArrayRCP< T > & | buffDest | ||
| ) | [inline] |
Copy data between buffers.
| [in] | size | The size of the copy, greater than zero. |
| [in] | buffSrc | The source buffer, with length at least as large as size. |
| [in,out] | buffDest | The destination buffer, with length at least as large as size. |
Definition at line 139 of file Kokkos_StandardNodeMemoryModel.hpp.
| ArrayRCP<const T> Kokkos::StandardNodeMemoryModel::viewBuffer | ( | size_t | size, |
| ArrayRCP< const T > | buff | ||
| ) | [inline] |
Return a const view of a buffer for use on the host.
Definition at line 151 of file Kokkos_StandardNodeMemoryModel.hpp.
| ArrayRCP<T> Kokkos::StandardNodeMemoryModel::viewBufferNonConst | ( | ReadWriteOption | rw, |
| size_t | size, | ||
| const ArrayRCP< T > & | buff | ||
| ) | [inline] |
Return a non-const view of a buffer for use on the host.
Definition at line 160 of file Kokkos_StandardNodeMemoryModel.hpp.
const bool Kokkos::StandardNodeMemoryModel::isHostNode = true [static] |
Indicates that parallel buffers allocated by this node are available for use on the host thread.
Definition at line 61 of file Kokkos_StandardNodeMemoryModel.hpp.
1.7.4