Template Numerical Library version\ main:9e7b0f4
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 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 Keep, typename Value>
void reduceSegments (const SegmentsView &segments, Index begin, Index end, Fetch &fetch, const Reduction &reduction, Keep &keep, const Value &identity) 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 ()
void setThreadsMapping (LightCSRSThreadsMapping mapping)
void setThreadsPerSegment (int threadsPerSegment)

Static Public Member Functions

static std::string getKernelType ()

Protected Attributes

LightCSRSThreadsMapping mapping = CSRLightAutomaticThreads
int threadsPerSegment = 32

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