Kokkos-compatible real-attribute receive-unpacking functor. More...
#include "parmove.hpp"
Public Member Functions | |
| void | operator() (const int i) const |
| Append one received marker record. | |
| UnpackReceiveBufferFunctor (Kokkos::View< Real * > arr_, Kokkos::View< int * > rdispl_, Kokkos::View< Real * > rbuf_, int natts_, int npmax_, int np_new_) | |
| Construct an attribute-major unpacking operation. | |
| UnpackReceiveBufferFunctor (Kokkos::View< Real **, Kokkos::LayoutStride > arr_, Kokkos::View< int * > rdispl_, Kokkos::View< Real * > rbuf_, int natts_, int npmax_, int np_new_) | |
| Construct a marker-major unpacking operation. | |
Public Attributes | |
| Kokkos::View< Real **, Kokkos::LayoutStride > | arr |
| Marker-major destination. | |
| Kokkos::View< Real * > | arr_flat |
| Attribute-major destination. | |
| int | natts |
| Attributes per marker. | |
| int | np_new |
| First append position in local storage. | |
| int | npmax |
| Marker stride for flattened storage. | |
| Kokkos::View< Real * > | rbuf |
| Packed received records. | |
| Kokkos::View< int * > | rdispl |
| Source offsets (retained compatibility data). | |
| bool | use_flat = false |
| Select flattened storage. | |
Kokkos-compatible real-attribute receive-unpacking functor.
|
inline |
Construct a marker-major unpacking operation.
| [out] | arr_ | Destination matrix indexed as [marker][attribute]. |
| [in] | rdispl_ | Source displacements retained by the migration plan. |
| [in] | rbuf_ | Contiguous received records. |
| [in] | natts_ | Number of attributes per marker. |
| [in] | npmax_ | Allocated particle stride (unused for marker-major storage). |
| [in] | np_new_ | First destination row at which received records are appended. |
|
inline |
Construct an attribute-major unpacking operation.
| [out] | arr_ | Flattened destination indexed as attribute*npmax + marker. |
| [in] | rdispl_ | Source displacements retained by the migration plan. |
| [in] | rbuf_ | Contiguous received records. |
| [in] | natts_ | Number of attributes per marker. |
| [in] | npmax_ | Allocated particle stride in the flattened destination. |
| [in] | np_new_ | First destination marker at which records are appended. |
|
inline |
| Kokkos::View<Real**, Kokkos::LayoutStride> orb5x::UnpackReceiveBufferFunctor::arr |
Marker-major destination.
Referenced by operator()().
| Kokkos::View<Real*> orb5x::UnpackReceiveBufferFunctor::arr_flat |
Attribute-major destination.
Referenced by operator()().
| int orb5x::UnpackReceiveBufferFunctor::natts |
Attributes per marker.
Referenced by operator()().
| int orb5x::UnpackReceiveBufferFunctor::np_new |
First append position in local storage.
Referenced by operator()().
| int orb5x::UnpackReceiveBufferFunctor::npmax |
Marker stride for flattened storage.
Referenced by operator()().
| Kokkos::View<Real*> orb5x::UnpackReceiveBufferFunctor::rbuf |
Packed received records.
Referenced by operator()().
| Kokkos::View<int*> orb5x::UnpackReceiveBufferFunctor::rdispl |
Source offsets (retained compatibility data).
| bool orb5x::UnpackReceiveBufferFunctor::use_flat = false |
Select flattened storage.
Referenced by operator()().