Template Numerical Library version\ main:1437bf49
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TNL::Algorithms::Segments::BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize > Class Template Reference
Inheritance diagram for TNL::Algorithms::Segments::BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize >:
Inheritance graph
[legend]
Collaboration diagram for TNL::Algorithms::Segments::BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize >:
Collaboration graph
[legend]

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, Organization, WarpSize >
using ConstOffsetsView = typename OffsetsView::ConstViewType
 
using DeviceType = Device
 
using IndexType = std::remove_const_t< Index >
 
using OffsetsView = Containers::VectorView< Index, DeviceType, IndexType >
 
using SegmentViewType = BiEllpackSegmentView< IndexType, Organization, WarpSize >
 

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, Organization, WarpSize >
__cuda_callable__ BiEllpackBase (BiEllpackBase &&) noexcept=default
 
__cuda_callable__ BiEllpackBase (const BiEllpackBase &)=default
 
__cuda_callable__ BiEllpackBase (IndexType size, IndexType storageSize, OffsetsView segmentsPermutation, OffsetsView groupPointers)
 
template<typename Function >
void forAllElements (Function &&function) const
 
template<typename Function >
void forAllSegments (Function &&function) const
 
template<typename Function >
void forElements (IndexType begin, IndexType end, Function &&function) const
 
template<typename Function >
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, Organization, WarpSize >
__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, Organization, WarpSize >
OffsetsView groupPointers
 
OffsetsView segmentsPermutation
 
IndexType size = 0
 
IndexType storageSize = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from TNL::Algorithms::Segments::BiEllpackBase< Device, Index, Organization, WarpSize >
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: