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

Public Types

using ConstViewType = typename ViewType::ConstViewType
using OffsetsContainer = Containers::Vector< Index, Device, typename Base::IndexType, IndexAllocator >
template<typename Device_, typename Index_>
using ViewTemplate = EllpackView< Device_, Index_, Organization, Alignment >
using ViewType = EllpackView< Device, Index, Organization, Alignment >
Public Types inherited from TNL::Algorithms::Segments::EllpackBase< Device, Index, Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
using DeviceType
using IndexType
using SegmentViewType

Public Member Functions

 Ellpack (const Ellpack &segments)=default
template<typename SizesContainer>
 Ellpack (const SizesContainer &sizes)
template<typename ListIndex>
 Ellpack (const std::initializer_list< ListIndex > &segmentsSizes)
 Ellpack (Ellpack &&segments) noexcept=default
 Ellpack (Index segmentsCount, Index segmentSize)
ConstViewType getConstView () const
ViewType getView ()
void load (File &file)
Ellpackoperator= (const Ellpack &segments)
 Copy-assignment operator.
template<typename Device_, typename Index_, typename IndexAllocator_, ElementsOrganization Organization_, int Alignment_>
Ellpackoperator= (const Ellpack< Device_, Index_, IndexAllocator_, Organization_, Alignment_ > &segments)
template<typename Device_, typename Index_, typename IndexAllocator_, ElementsOrganization Organization_, int Alignment_>
Ellpack< Device, Index, IndexAllocator, Organization, Alignment > & operator= (const Ellpack< Device_, Index_, IndexAllocator_, Organization_, Alignment_ > &segments)
Ellpackoperator= (Ellpack &&) noexcept
 Move-assignment operator.
void reset ()
void save (File &file) const
template<typename SizesContainer>
void setSegmentsSizes (const SizesContainer &sizes)
 Set sizes of particular segments.
template<typename SizesHolder>
void setSegmentsSizes (const SizesHolder &sizes)
void setSegmentsSizes (Index segmentsCount, Index segmentSize)
Public Member Functions inherited from TNL::Algorithms::Segments::EllpackBase< Device, Index, Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
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 getAlignedSize () const
__cuda_callable__ IndexType getGlobalIndex (Index segmentIdx, Index localIdx) const
__cuda_callable__ IndexType getSegmentsCount () const
__cuda_callable__ IndexType getSegmentSize (IndexType segmentIdx) const
__cuda_callable__ SegmentViewType getSegmentView (IndexType segmentIdx) const
__cuda_callable__ IndexType getSize () const
__cuda_callable__ IndexType getStorageSize () const
EllpackBaseoperator= (const EllpackBase &)=delete

Additional Inherited Members

Static Public Member Functions inherited from TNL::Algorithms::Segments::EllpackBase< Device, Index, Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
static constexpr int getAlignment ()
static constexpr ElementsOrganization getOrganization ()
static std::string getSegmentsType ()
static std::string getSerializationType ()
static constexpr bool havePadding ()
Protected Member Functions inherited from TNL::Algorithms::Segments::EllpackBase< Device, Index, Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
__cuda_callable__ void bind (IndexType segmentsCount, IndexType segmentSize, IndexType alignedSize)
 Re-initializes the internal attributes of the base class.
Protected Attributes inherited from TNL::Algorithms::Segments::EllpackBase< Device, Index, Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
IndexType alignedSize
IndexType segmentsCount
IndexType segmentSize

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