Kokkos-compatible real-attribute packing functor. More...
#include "parmove.hpp"
Public Member Functions | |
| void | operator() (const int i) const |
| Pack one outgoing marker record. | |
| PackSendBufferFunctor (Kokkos::View< Real * > arr_, Kokkos::View< int * > iphole_, Kokkos::View< int * > sdispl_, Kokkos::View< Real * > sbuf_, int natts_, int npmax_) | |
| Construct an attribute-major packing operation. | |
| PackSendBufferFunctor (Kokkos::View< Real **, Kokkos::LayoutStride > arr_, Kokkos::View< int * > iphole_, Kokkos::View< int * > sdispl_, Kokkos::View< Real * > sbuf_, int natts_, int npmax_) | |
| Construct a marker-major packing operation. | |
Public Attributes | |
| Kokkos::View< Real **, Kokkos::LayoutStride > | arr |
| Marker-major source. | |
| Kokkos::View< Real * > | arr_flat |
| Attribute-major source. | |
| Kokkos::View< int * > | iphole |
| Local indices to pack. | |
| int | natts |
| Attributes per marker. | |
| int | npmax |
| Marker stride for flattened storage. | |
| Kokkos::View< Real * > | sbuf |
| Packed output records. | |
| Kokkos::View< int * > | sdispl |
| Destination offsets (retained compatibility data). | |
| bool | use_flat = false |
| Select flattened storage. | |
Kokkos-compatible real-attribute packing functor.
|
inline |
Construct a marker-major packing operation.
| [in] | arr_ | Source matrix indexed as [marker][attribute]. |
| [in] | iphole_ | Ordered local marker indices to send. |
| [in] | sdispl_ | Destination displacements retained by the migration plan. |
| [out] | sbuf_ | Contiguous packed send buffer. |
| [in] | natts_ | Number of attributes per marker. |
| [in] | npmax_ | Allocated particle stride (unused for marker-major storage). |
|
inline |
Construct an attribute-major packing operation.
| [in] | arr_ | Flattened source indexed as attribute*npmax + marker. |
| [in] | iphole_ | Ordered local marker indices to send. |
| [in] | sdispl_ | Destination displacements retained by the migration plan. |
| [out] | sbuf_ | Contiguous packed send buffer. |
| [in] | natts_ | Number of attributes per marker. |
| [in] | npmax_ | Allocated particle stride in the flattened source. |
|
inline |
| Kokkos::View<Real**, Kokkos::LayoutStride> orb5x::PackSendBufferFunctor::arr |
Marker-major source.
Referenced by operator()().
| Kokkos::View<Real*> orb5x::PackSendBufferFunctor::arr_flat |
Attribute-major source.
Referenced by operator()().
| Kokkos::View<int*> orb5x::PackSendBufferFunctor::iphole |
Local indices to pack.
Referenced by operator()().
| int orb5x::PackSendBufferFunctor::natts |
Attributes per marker.
Referenced by operator()().
| int orb5x::PackSendBufferFunctor::npmax |
Marker stride for flattened storage.
Referenced by operator()().
| Kokkos::View<Real*> orb5x::PackSendBufferFunctor::sbuf |
Packed output records.
Referenced by operator()().
| Kokkos::View<int*> orb5x::PackSendBufferFunctor::sdispl |
Destination offsets (retained compatibility data).
| bool orb5x::PackSendBufferFunctor::use_flat = false |
Select flattened storage.
Referenced by operator()().