Template Numerical Library version\ main:351d08c5f
Loading...
Searching...
No Matches
TNL::Algorithms::SegmentsReductionKernels::CSRLightKernel< Index, Device > Struct Template Reference

Public Types

using ConstViewType = CSRLightKernel< Index, Device >
using DeviceType = Device
using IndexType = Index
using ViewType = CSRLightKernel< Index, Device >

Public Member Functions

__cuda_callable__ ConstViewType getConstView () const
std::string getSetup () const
LightCSRSThreadsMapping getThreadsMapping () const
int getThreadsPerSegment () 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 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 reset ()
void setThreadsMapping (LightCSRSThreadsMapping mapping)
void setThreadsPerSegment (int threadsPerSegment)

Static Public Member Functions

static std::string getKernelType ()

Protected Attributes

LightCSRSThreadsMapping mapping = CSRLightAutomaticThreads
int threadsPerSegment = 32

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::CSRLightKernel< 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::reduceAllSegments 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::CSRLightKernel< 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/CSRLightKernel.h