Template Numerical Library version\ main:351d08c5f
Loading...
Searching...
No Matches
TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernelView< Index, Device > Struct Template Reference
Collaboration diagram for TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernelView< Index, Device >:
[legend]

Public Types

using BlocksType = TNL::Containers::Vector< Segments::detail::CSRAdaptiveKernelBlockDescriptor< Index >, Device, Index >
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 ()
CSRAdaptiveKernelView & operator= (const CSRAdaptiveKernelView< Index, Device > &kernelView)=delete
void printBlocks (int idx) const
template<typename SegmentsView, typename Fetch, typename Reduction, typename ResultKeeper, typename Value = typename Segments::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 Segments::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 setBlocks (BlocksType &blocks, int idx)

Static Public Member Functions

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

Static Public Attributes

static constexpr int MaxValueSizeLog = Segments::detail::CSRAdaptiveKernelParameters<>::MaxValueSizeLog

Protected Attributes

BlocksView blocksArray [MaxValueSizeLog]

Member Function Documentation

◆ reduceAllSegments()

template<typename Index, typename Device>
template<typename SegmentsView, typename Fetch, typename Reduction, typename ResultKeeper, typename Value = typename Segments::detail::FetchLambdaAdapter< Index, Fetch >::ReturnType>
void TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernelView< Index, Device >::reduceAllSegments ( const SegmentsView & segments,
Fetch & fetch,
const Reduction & reduction,
ResultKeeper & keeper,
const Value & identity = Reduction::template getIdentity< Value >() ) const
Deprecated
Use TNL::Algorithms::Segments::reduceSegments instead

◆ reduceSegments()

template<typename Index, typename Device>
template<typename SegmentsView, typename Fetch, typename Reduction, typename ResultKeeper, typename Value = typename Segments::detail::FetchLambdaAdapter< Index, Fetch >::ReturnType>
void TNL::Algorithms::SegmentsReductionKernels::CSRAdaptiveKernelView< Index, Device >::reduceSegments ( const SegmentsView & segments,
Index begin,
Index end,
Fetch & fetch,
const Reduction & reduction,
ResultKeeper & keeper,
const Value & identity = Reduction::template getIdentity< Value >() ) const
Deprecated
Use TNL::Algorithms::Segments::reduceSegments instead

The documentation for this struct was generated from the following file:
  • src/TNL/Algorithms/SegmentsReductionKernels/CSRAdaptiveKernelView.h