Template Numerical Library version\ main:9e7b0f4
Loading...
Searching...
No Matches
TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernel< Index, Device > Struct Template Reference
Collaboration diagram for TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernel< Index, Device >:

Public Types

using BlocksType = typename ViewType::BlocksType
using BlocksView = typename BlocksType::ViewType
using ConstViewType = CSRAdaptiveKernelView< Index, Device >
using DeviceType = Device
using IndexType = Index
using ViewType = CSRAdaptiveKernelView< Index, Device >

Public Member Functions

__cuda_callable__ ConstViewType getConstView () const
__cuda_callable__ ViewType getView ()
template<typename Segments>
void init (const Segments &segments)
template<typename SegmentsView, typename Fetch, typename Reduction, typename ResultKeeper, typename Value = typename detail::FetchLambdaAdapter< Index, Fetch >::ReturnType>
void reduceAllSegments (const SegmentsView &segments, Fetch &fetch, const Reduction &reduction, ResultKeeper &keeper, const Value &identity=Reduction::template getIdentity< Value >()) const
template<typename SegmentsView, typename Fetch, typename Reduction, typename ResultKeeper, typename Value = typename detail::FetchLambdaAdapter< Index, Fetch >::ReturnType>
void reduceSegments (const SegmentsView &segments, Index begin, Index end, Fetch &fetch, const Reduction &reduction, ResultKeeper &keeper, const Value &identity=Reduction::template getIdentity< Value >()) const
void reset ()

Static Public Member Functions

static std::string getKernelType ()
static int getSizeValueLog (const int &i)
static constexpr int MaxValueSizeLog ()

Protected Member Functions

template<int SizeOfValue, typename Offsets>
Index findLimit (Index start, const Offsets &offsets, Index size, detail::Type &type)
template<int SizeOfValue, typename Offsets>
void initValueSize (const Offsets &offsets)

Protected Attributes

BlocksType blocksArray [MaxValueSizeLog()]
 blocksArray[ i ] stores blocks for sizeof( Value ) == 2^i.
ViewType view

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