Template Numerical Library version\ main:9e7b0f4
Loading...
Searching...
No Matches
TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization > Class Template Reference
Inheritance diagram for TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >:
Collaboration diagram for TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >:

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)
ChunkedEllpackoperator= (ChunkedEllpack &&) noexcept(false)
 Move-assignment operator.
ChunkedEllpackoperator= (const ChunkedEllpack &segments)
 Copy-assignment operator (makes a deep copy).
template<typename Device_, typename Index_, typename IndexAllocator_, ElementsOrganization Organization_>
ChunkedEllpackoperator= (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() >
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__ IndexType getDesiredChunkSize () const
__cuda_callable__ IndexType getGlobalIndex (IndexType segmentIdx, IndexType localIdx) const
__cuda_callable__ IndexType getNumberOfSlices () const
__cuda_callable__ OffsetsView getSegmentPointersView ()
__cuda_callable__ IndexType getSegmentsCount () const
__cuda_callable__ IndexType getSegmentSize (IndexType segmentIdx) const
__cuda_callable__ OffsetsView getSegmentToChunkMappingView ()
__cuda_callable__ OffsetsView getSegmentToSliceMappingView ()
__cuda_callable__ SegmentViewType getSegmentView (IndexType segmentIdx) const
__cuda_callable__ IndexType getSize () const
__cuda_callable__ SliceInfoContainerView getSlicesView ()
__cuda_callable__ IndexType getStorageSize () const
ChunkedEllpackBaseoperator= (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 ()

Member Typedef Documentation

◆ SliceInfoContainer

template<typename Device, typename Index, typename IndexAllocator = typename Allocators::Default< Device >::template Allocator< Index >, ElementsOrganization Organization = Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization()>
using TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >::SliceInfoContainer
Initial value:
Device,
Index,
SliceInfoAllocator >
Array is responsible for memory management, access to array elements, and general array operations.
Definition Array.h:64

The documentation for this class was generated from the following files: