Template Numerical Library version\ main:df396df
|
Public Types | |
using | ConstViewType = typename ViewType::ConstViewType |
using | OffsetsContainer = Containers::Vector< Index, Device, typename Base::IndexType, IndexAllocator > |
using | SliceInfoAllocator = typename Allocators::Default< Device >::template Allocator< typename Base::SliceInfoType > |
using | SliceInfoContainer |
template<typename Device_ , typename Index_ > | |
using | ViewTemplate = ChunkedEllpackView< Device_, Index_, Organization > |
using | ViewType = ChunkedEllpackView< Device, Index, Organization > |
Public Types inherited from TNL::Algorithms::Segments::ChunkedEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization() > | |
using | ConstOffsetsView |
using | ConstSliceInfoContainerView |
using | DeviceType |
using | IndexType |
using | OffsetsView |
using | SegmentViewType |
using | SliceInfoContainerView |
using | SliceInfoType |
using | ViewTemplate |
Public Member Functions | |
ChunkedEllpack (ChunkedEllpack &&segments) noexcept=default | |
ChunkedEllpack (const ChunkedEllpack &segments) | |
template<typename SizesContainer > | |
ChunkedEllpack (const SizesContainer &segmentsSizes) | |
template<typename ListIndex > | |
ChunkedEllpack (const std::initializer_list< ListIndex > &segmentsSizes) | |
ConstViewType | getConstView () const |
ViewType | getView () |
void | load (File &file) |
ChunkedEllpack & | operator= (ChunkedEllpack &&) noexcept(false) |
Move-assignment operator. | |
ChunkedEllpack & | operator= (const ChunkedEllpack &segments) |
Copy-assignment operator (makes a deep copy). | |
template<typename Device_ , typename Index_ , typename IndexAllocator_ , ElementsOrganization Organization_> | |
ChunkedEllpack & | operator= (const ChunkedEllpack< Device_, Index_, IndexAllocator_, Organization_ > &segments) |
template<typename Device_ , typename Index_ , typename IndexAllocator_ , ElementsOrganization Organization_> | |
ChunkedEllpack< Device, Index, IndexAllocator, Organization > & | operator= (const ChunkedEllpack< Device_, Index_, IndexAllocator_, Organization_ > &segments) |
void | reset () |
template<typename SegmentsSizes > | |
void | resolveSliceSizes (SegmentsSizes &segmentsSizes) |
void | save (File &file) const |
template<typename SizesContainer > | |
void | setSegmentsSizes (const SizesContainer &segmentsSizes) |
Public Member Functions inherited from TNL::Algorithms::Segments::ChunkedEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization() > | |
__cuda_callable__ | ChunkedEllpackBase (ChunkedEllpackBase &&) noexcept=default |
__cuda_callable__ | ChunkedEllpackBase (const ChunkedEllpackBase &)=default |
__cuda_callable__ | ChunkedEllpackBase (IndexType size, IndexType storageSize, IndexType numberOfSlices, IndexType chunksInSlice, IndexType desiredChunkSize, OffsetsView segmentToChunkMapping, OffsetsView segmentToSliceMapping, OffsetsView chunksToSegmentsMapping, OffsetsView segmentPointers, SliceInfoContainerView slices) |
void | forAllElements (Function &&function) const |
void | forAllSegments (Function &&function) const |
void | forElements (IndexType begin, IndexType end, Function &&function) const |
void | forSegments (IndexType begin, IndexType end, Function &&function) const |
__cuda_callable__ IndexType | getChunksInSlice () const |
__cuda_callable__ OffsetsView | getChunksToSegmentsMappingView () |
__cuda_callable__ ConstOffsetsView | getChunksToSegmentsMappingView () const |
__cuda_callable__ IndexType | getDesiredChunkSize () const |
__cuda_callable__ IndexType | getGlobalIndex (IndexType segmentIdx, IndexType localIdx) const |
__cuda_callable__ IndexType | getNumberOfSlices () const |
__cuda_callable__ OffsetsView | getSegmentPointersView () |
__cuda_callable__ ConstOffsetsView | getSegmentPointersView () const |
__cuda_callable__ IndexType | getSegmentsCount () const |
__cuda_callable__ IndexType | getSegmentSize (IndexType segmentIdx) const |
__cuda_callable__ OffsetsView | getSegmentToChunkMappingView () |
__cuda_callable__ ConstOffsetsView | getSegmentToChunkMappingView () const |
__cuda_callable__ OffsetsView | getSegmentToSliceMappingView () |
__cuda_callable__ ConstOffsetsView | getSegmentToSliceMappingView () const |
__cuda_callable__ SegmentViewType | getSegmentView (IndexType segmentIdx) const |
__cuda_callable__ IndexType | getSize () const |
__cuda_callable__ SliceInfoContainerView | getSlicesView () |
__cuda_callable__ ConstSliceInfoContainerView | getSlicesView () const |
__cuda_callable__ IndexType | getStorageSize () const |
ChunkedEllpackBase & | operator= (ChunkedEllpackBase &&)=delete |
ChunkedEllpackBase & | operator= (const ChunkedEllpackBase &)=delete |
void | printStructure (std::ostream &str) const |
Protected Member Functions | |
template<typename SizesContainer > | |
void | resolveSliceSizes (SizesContainer &segmentsSizes) |
template<typename SizesContainer > | |
bool | setSlice (SizesContainer &segmentsSizes, Index sliceIndex, Index &elementsToAllocation) |
Protected Member Functions inherited from TNL::Algorithms::Segments::ChunkedEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization() > | |
__cuda_callable__ void | bind (IndexType size, IndexType storageSize, IndexType numberOfSlices, IndexType chunksInSlice, IndexType desiredChunkSize, OffsetsView segmentToChunkMapping, OffsetsView segmentToSliceMapping, OffsetsView chunksToSegmentsMapping, OffsetsView segmentPointers, SliceInfoContainerView slices) |
Re-initializes the internal attributes of the base class. | |
Protected Attributes | |
OffsetsContainer | chunksToSegmentsMapping |
OffsetsContainer | segmentPointers |
Keeps index of the first segment index. | |
OffsetsContainer | segmentToChunkMapping |
For each segment, this keeps index of the first chunk within a slice. | |
OffsetsContainer | segmentToSliceMapping |
For each segment, this keeps index of the slice which contains the segment. | |
SliceInfoContainer | slices |
Protected Attributes inherited from TNL::Algorithms::Segments::ChunkedEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization() > | |
IndexType | chunksInSlice |
OffsetsView | chunksToSegmentsMapping |
IndexType | desiredChunkSize |
IndexType | numberOfSlices |
OffsetsView | segmentPointers |
Keeps index of the first segment index. | |
OffsetsView | segmentToChunkMapping |
For each segment, this keeps index of the first chunk within a slice. | |
OffsetsView | segmentToSliceMapping |
For each segment, this keeps index of the slice which contains the segment. | |
IndexType | size |
SliceInfoContainerView | slices |
IndexType | storageSize |
Additional Inherited Members | |
Static Public Member Functions inherited from TNL::Algorithms::Segments::ChunkedEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization() > | |
static constexpr ElementsOrganization | getOrganization () |
static std::string | getSegmentsType () |
static std::string | getSerializationType () |
static constexpr bool | havePadding () |
using TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >::SliceInfoContainer |