|
Template Numerical Library version\ main:4e6e2c1
|
Data structure for accessing particular segment of BiEllpack segments. More...
#include <TNL/Algorithms/Segments/BiEllpackSegmentView.h>
Public Types | |
| using | GroupsWidthType = Containers::StaticVector< getGroupsCount(), IndexType > |
| using | IndexType = Index |
| Type for indexing elements in related segments. | |
Public Member Functions | |
| __cuda_callable__ | BiEllpackSegmentView (BiEllpackSegmentView &&) noexcept=default |
| Move constructor. | |
| __cuda_callable__ | BiEllpackSegmentView (const BiEllpackSegmentView &)=default |
| Copy constructor. | |
| __cuda_callable__ | BiEllpackSegmentView (IndexType segmentIdx, IndexType offset, IndexType inStripIdx, const GroupsWidthType &groupsWidth) |
| Constructor. | |
| __cuda_callable__ IndexType | getGlobalIndex (IndexType localIdx) const |
| Get global index of an element with rank localIdx in the segment. | |
| __cuda_callable__ IndexType | getSegmentIndex () const |
| Get index of the segment. | |
| __cuda_callable__ IndexType | getSize () const |
| Get the size of the segment, i.e. number of elements in the segment. | |
| __cuda_callable__ BiEllpackSegmentView & | operator= (BiEllpackSegmentView &&) noexcept=default |
| Move assignment operator. | |
| __cuda_callable__ BiEllpackSegmentView & | operator= (const BiEllpackSegmentView &)=default |
| Copy assignment operator. | |
| __cuda_callable__ void | setSegmentIndex (IndexType index) |
| Set index of the segment. | |
Protected Attributes | |
| IndexType | groupOffset |
| GroupsWidthType | groupsWidth |
| IndexType | inStripIdx |
| IndexType | segmentIdx |
| IndexType | segmentSize |
Data structure for accessing particular segment of BiEllpack segments.
| Index | is type for indexing elements in related segments. |
| Organization | is the organization of the elements in the segments—either row-major or column-major order. |
| WarpSize | is the warp size used for the segments. |
See the template specializations TNL::Algorithms::Segments::SegmentView< Index, ColumnMajorOrder > and TNL::Algorithms::Segments::SegmentView< Index, RowMajorOrder > for column-major and row-major elements organization respectively. They have equivalent interface.
|
inline |
Constructor.
| segmentIdx | is the segment index. |
| offset | is offset of the first group of the strip the segment belongs to. |
| inStripIdx | is index of the segment within its strip. |
| groupsWidth | is a static vector containing widths of the strip groups. |
|
inlinenodiscard |
Get global index of an element with rank localIdx in the segment.
| localIdx | is the rank of the element in the segment. |
|
inlinenodiscard |
Get index of the segment.
|
inlinenodiscard |
Get the size of the segment, i.e. number of elements in the segment.
|
inline |
Set index of the segment.
| index | of the segment. |