Template Numerical Library version\ main:11b8437
Loading...
Searching...
No Matches
TNL::Algorithms::Segments::CSRView< Device, Index > Class Template Reference

CSRView is provides a non-owning encapsulation of data stored in the CSR segments format. More...

#include <TNL/Algorithms/Segments/CSRView.h>

Inheritance diagram for TNL::Algorithms::Segments::CSRView< Device, Index >:
Collaboration diagram for TNL::Algorithms::Segments::CSRView< Device, Index >:

Public Types

using ConstViewType = CSRView< Device, std::add_const_t< Index > >
 Type of constant segments view.
 
template<typename Device_ , typename Index_ >
using ViewTemplate = CSRView< Device_, Index_ >
 Templated view type.
 
using ViewType = CSRView
 Type of segments view.
 
- Public Types inherited from TNL::Algorithms::Segments::CSRBase< Device, Index >
using ConstOffsetsView = typename OffsetsView::ConstViewType
 The type for representing the constant vector view with row offsets used in the CSR format.
 
using DeviceType = Device
 The device where the segments are operating.
 
using IndexType = std::remove_const_t< Index >
 The type used for indexing of segments elements.
 
using OffsetsView = Containers::VectorView< Index, DeviceType, IndexType >
 The type for representing the vector view with row offsets used in the CSR format.
 
using SegmentViewType = SegmentView< IndexType, RowMajorOrder >
 Accessor type fro one particular segment.
 

Public Member Functions

__cuda_callable__ CSRView ()=default
 Default constructor with no parameters to create empty segments view.
 
__cuda_callable__ CSRView (const CSRView &)=default
 Copy constructor.
 
__cuda_callable__ CSRView (CSRView &&) noexcept=default
 Move constructor.
 
__cuda_callable__ CSRView (typename Base::OffsetsView offsets)
 Binds a new CSR view to an offsets vector.
 
__cuda_callable__ void bind (CSRView view)
 Method for rebinding (reinitialization) to another view.
 
__cuda_callable__ ConstViewType getConstView () const
 Returns a constant view for this instance of CSR segments which can by used for example in lambda functions running in GPU kernels.
 
__cuda_callable__ ViewType getView ()
 Returns a view for this instance of CSR segments which can by used for example in lambda functions running in GPU kernels.
 
void load (File &file)
 Method for loading the segments from a file in a binary form.
 
CSRViewoperator= (const CSRView &)=delete
 Copy-assignment operator.
 
CSRViewoperator= (CSRView &&)=delete
 Move-assignment operator.
 
void save (File &file) const
 Method for saving the segments to a file in a binary form.
 
- Public Member Functions inherited from TNL::Algorithms::Segments::CSRBase< Device, Index >
__cuda_callable__ CSRBase ()=default
 Default constructor with no parameters to create empty segments view.
 
__cuda_callable__ CSRBase (const CSRBase &)=default
 Copy constructor.
 
__cuda_callable__ CSRBase (const OffsetsView &offsets)
 Binds a new CSR view to an offsets vector.
 
__cuda_callable__ CSRBase (CSRBase &&) noexcept=default
 Move constructor.
 
__cuda_callable__ CSRBase (OffsetsView &&offsets)
 Binds a new CSR view to an offsets vector.
 
template<typename Function >
void forAllElements (Function &&function) const
 Call TNL::Algorithms::Segments::CSR::forElements for all elements of the segments.
 
template<typename Function >
void forAllSegments (Function &&function) const
 Call TNL::Algorithms::Segments::CSR::forSegments for all segments.
 
template<typename Function >
void forElements (IndexType begin, IndexType end, Function &&function) const
 Iterate over all elements of given segments in parallel and call given lambda function.
 
template<typename Function >
void forSegments (IndexType begin, IndexType end, Function &&function) const
 Iterate over all segments in parallel and call given lambda function.
 
__cuda_callable__ IndexType getGlobalIndex (Index segmentIdx, Index localIdx) const
 Computes the global index of an element managed by the segments.
 
__cuda_callable__ OffsetsView getOffsets ()
 Returns a modifiable vector view with row offsets used in the CSR format.
 
__cuda_callable__ ConstOffsetsView getOffsets () const
 Returns a constant vector view with row offsets used in the CSR format.
 
__cuda_callable__ IndexType getSegmentsCount () const
 Returns the number of segments.
 
__cuda_callable__ IndexType getSegmentSize (IndexType segmentIdx) const
 Returns the size of a particular segment denoted by segmentIdx.
 
__cuda_callable__ SegmentViewType getSegmentView (IndexType segmentIdx) const
 Returns segment view (i.e. segment accessor) of segment with given index.
 
__cuda_callable__ IndexType getSize () const
 Returns the number of elements managed by all segments.
 
__cuda_callable__ IndexType getStorageSize () const
 Returns number of elements that needs to be allocated by a container connected to this segments.
 
CSRBaseoperator= (const CSRBase &)=delete
 Copy-assignment operator.
 
CSRBaseoperator= (CSRBase &&)=delete
 Move-assignment operator.
 
template<typename Function >
void sequentialForAllSegments (Function &&function) const
 Call TNL::Algorithms::Segments::CSR::sequentialForSegments for all segments.
 
template<typename Function >
void sequentialForSegments (IndexType begin, IndexType end, Function &&function) const
 Call TNL::Algorithms::Segments::CSR::forSegments sequentially for particular segments.
 

Additional Inherited Members

- Static Public Member Functions inherited from TNL::Algorithms::Segments::CSRBase< Device, Index >
static constexpr ElementsOrganization getOrganization ()
 Returns the data layout for the CSR format (it is always row-major order).
 
static std::string getSegmentsType ()
 Returns string with the segments type.
 
static std::string getSerializationType ()
 Returns string with the serialization type.
 
static constexpr bool havePadding ()
 This function denotes that the CSR format does not use padding elements.
 
- Protected Member Functions inherited from TNL::Algorithms::Segments::CSRBase< Device, Index >
__cuda_callable__ void bind (OffsetsView offsets)
 Re-initializes the internal attributes of the base class.
 
- Protected Attributes inherited from TNL::Algorithms::Segments::CSRBase< Device, Index >
OffsetsView offsets
 Vector view with row offsets used in the CSR format.
 

Detailed Description

template<typename Device, typename Index>
class TNL::Algorithms::Segments::CSRView< Device, Index >

CSRView is provides a non-owning encapsulation of data stored in the CSR segments format.

Template Parameters
Deviceis type of device where the segments will be operating.
Indexis type for indexing of the elements managed by the segments.

Member Typedef Documentation

◆ ViewTemplate

template<typename Device , typename Index >
template<typename Device_ , typename Index_ >
using TNL::Algorithms::Segments::CSRView< Device, Index >::ViewTemplate = CSRView< Device_, Index_ >

Templated view type.

Template Parameters
Device_is alternative device type for the view.
Index_is alternative index type for the view.

Member Function Documentation

◆ load()

template<typename Device , typename Index >
void TNL::Algorithms::Segments::CSRView< Device, Index >::load ( File & file)

Method for loading the segments from a file in a binary form.

Parameters
fileis the source file.

◆ save()

template<typename Device , typename Index >
void TNL::Algorithms::Segments::CSRView< Device, Index >::save ( File & file) const

Method for saving the segments to a file in a binary form.

Parameters
fileis the target file.

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