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

Public Types

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

Public Member Functions

 BiEllpack (BiEllpack &&segments) noexcept=default
 
 BiEllpack (const BiEllpack &segments)
 
template<typename SizesContainer >
 BiEllpack (const SizesContainer &segmentsSizes)
 
template<typename ListIndex >
 BiEllpack (const std::initializer_list< ListIndex > &segmentsSizes)
 
ConstViewType getConstView () const
 
ViewType getView ()
 
template<typename SizesHolder >
void initGroupPointers (const SizesHolder &segmentsSizes)
 
void load (File &file)
 
BiEllpackoperator= (BiEllpack &&segments) noexcept(false)
 
BiEllpackoperator= (const BiEllpack &segments)
 
template<typename Device_ , typename Index_ , typename IndexAllocator_ , ElementsOrganization Organization_>
BiEllpackoperator= (const BiEllpack< Device_, Index_, IndexAllocator_, Organization_, WarpSize > &segments)
 
template<typename Device_ , typename Index_ , typename IndexAllocator_ , ElementsOrganization Organization_>
BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize > & operator= (const BiEllpack< Device_, Index_, IndexAllocator_, Organization_, WarpSize > &segments)
 
void reset ()
 
void save (File &file) const
 
template<typename SizesHolder >
void setSegmentsSizes (const SizesHolder &sizes)
 
- Public Member Functions inherited from TNL::Algorithms::Segments::BiEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
__cuda_callable__ BiEllpackBase (BiEllpackBase &&) noexcept=default
 
__cuda_callable__ BiEllpackBase (const BiEllpackBase &)=default
 
__cuda_callable__ BiEllpackBase (IndexType size, IndexType storageSize, OffsetsView segmentsPermutation, OffsetsView groupPointers)
 
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 getGlobalIndex (Index segmentIdx, Index localIdx) const
 
__cuda_callable__ OffsetsView getGroupPointersView ()
 
__cuda_callable__ ConstOffsetsView getGroupPointersView () const
 
__cuda_callable__ IndexType getSegmentsCount () const
 
__cuda_callable__ IndexType getSegmentSize (IndexType segmentIdx) const
 
__cuda_callable__ OffsetsView getSegmentsPermutationView ()
 
__cuda_callable__ ConstOffsetsView getSegmentsPermutationView () const
 
__cuda_callable__ SegmentViewType getSegmentView (IndexType segmentIdx) const
 
__cuda_callable__ IndexType getSize () const
 
__cuda_callable__ IndexType getStorageSize () const
 
__cuda_callable__ IndexType getVirtualSegments () const
 
BiEllpackBaseoperator= (BiEllpackBase &&)=delete
 
BiEllpackBaseoperator= (const BiEllpackBase &)=delete
 
void printStructure (std::ostream &str) const
 

Protected Member Functions

Index getStripLength (Index strip) const
 
template<typename SizesHolder >
void initSegmentsPermutation (const SizesHolder &segmentsSize)
 
template<typename SizesHolder >
void verifySegmentLengths (const SizesHolder &segmentsSizes)
 
template<typename SizesHolder >
void verifySegmentPerm (const SizesHolder &segmentsSizes)
 
- Protected Member Functions inherited from TNL::Algorithms::Segments::BiEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
__cuda_callable__ void bind (IndexType size, IndexType storageSize, OffsetsView segmentsPermutation, OffsetsView groupPointers)
 Re-initializes the internal attributes of the base class.
 
__cuda_callable__ IndexType getVirtualSegments (IndexType segmentsCount) const
 

Protected Attributes

OffsetsContainer groupPointers
 
OffsetsContainer segmentsPermutation
 
- Protected Attributes inherited from TNL::Algorithms::Segments::BiEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
OffsetsView groupPointers
 
OffsetsView segmentsPermutation
 
IndexType size
 
IndexType storageSize
 

Additional Inherited Members

- Static Public Member Functions inherited from TNL::Algorithms::Segments::BiEllpackBase< Device, Index, Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization(), 32 >
static constexpr int getLogWarpSize ()
 
static constexpr ElementsOrganization getOrganization ()
 
static std::string getSegmentsType ()
 
static std::string getSerializationType ()
 
static constexpr int getWarpSize ()
 
static constexpr bool havePadding ()
 

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