Template Numerical Library: TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization > Class Template Reference

Template Numerical Library version\ main:be7e16d88

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization > Class Template Reference
Inheritance diagram for TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >:
[legend]
Collaboration diagram for TNL::Algorithms::Segments::ChunkedEllpack< Device, Index, IndexAllocator, Organization >:
[legend]

## 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)
void | reset ()
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
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 ()

## 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:
Containers::Array< typename TNL::copy_const< typename Base::SliceInfoType >::template from< Index >::type,
Device,
Index,
SliceInfoAllocator >
TNL::Containers::Array
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 file:

- src/TNL/Algorithms/Segments/ChunkedEllpack.h