LibreOffice Module sc (master) 1
Public Member Functions | Protected Attributes | List of all members
sc::opencl::ParallelReductionVectorRef< Base > Class Template Reference

Handling a Double Vector that is used as a sliding window input Performs parallel reduction based on given operator. More...

#include <opbase.hxx>

Inheritance diagram for sc::opencl::ParallelReductionVectorRef< Base >:
[legend]
Collaboration diagram for sc::opencl::ParallelReductionVectorRef< Base >:
[legend]

Public Member Functions

 ParallelReductionVectorRef (const ScCalcConfig &config, const std::string &s, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > CodeGen, int index)
 
 ~ParallelReductionVectorRef ()
 
virtual void GenSlidingWindowFunction (outputstream &ss)
 Emit the definition for the auxiliary reduction kernel. More...
 
virtual std::string GenSlidingWindowDeclRef (bool) const
 
size_t GenReductionLoopHeader (outputstream &ss, int nResultSize, bool &needBody)
 Controls how the elements in the DoubleVectorRef are traversed. More...
 
virtual size_t Marshal (cl_kernel k, int argno, int w, cl_program mpProgram)
 
size_t GetArrayLength () const
 
size_t GetWindowSize () const
 
bool GetStartFixed () const
 
bool GetEndFixed () const
 

Protected Attributes

bool bIsStartFixed
 
bool bIsEndFixed
 
const formula::DoubleVectorRefTokenmpDVR
 
std::shared_ptr< SlidingFunctionBasempCodeGen
 
cl_mem mpClmem2
 

Detailed Description

template<class Base>
class sc::opencl::ParallelReductionVectorRef< Base >

Handling a Double Vector that is used as a sliding window input Performs parallel reduction based on given operator.

Definition at line 471 of file opbase.hxx.

Constructor & Destructor Documentation

◆ ParallelReductionVectorRef()

template<class Base >
sc::opencl::ParallelReductionVectorRef< Base >::ParallelReductionVectorRef ( const ScCalcConfig config,
const std::string &  s,
const FormulaTreeNodeRef ft,
std::shared_ptr< SlidingFunctionBase CodeGen,
int  index 
)

◆ ~ParallelReductionVectorRef()

Definition at line 1620 of file formulagroupcl.cxx.

References err, openclwrapper::errorString(), mpClmem2, and SAL_WARN_IF.

Member Function Documentation

◆ GenReductionLoopHeader()

template<class Base >
size_t sc::opencl::ParallelReductionVectorRef< Base >::GenReductionLoopHeader ( outputstream ss,
int  nResultSize,
bool &  needBody 
)

Controls how the elements in the DoubleVectorRef are traversed.

Definition at line 1427 of file formulagroupcl.cxx.

References mpCodeGen.

◆ GenSlidingWindowDeclRef()

template<class Base >
std::string sc::opencl::ParallelReductionVectorRef< Base >::GenSlidingWindowDeclRef ( bool  ) const
virtual

Definition at line 1416 of file formulagroupcl.cxx.

◆ GenSlidingWindowFunction()

template<class Base >
void sc::opencl::ParallelReductionVectorRef< Base >::GenSlidingWindowFunction ( outputstream ss)
virtual

Emit the definition for the auxiliary reduction kernel.

Definition at line 1236 of file formulagroupcl.cxx.

References mpCodeGen, and name.

◆ GetArrayLength()

template<class Base >
size_t sc::opencl::ParallelReductionVectorRef< Base >::GetArrayLength ( ) const
inline

◆ GetEndFixed()

template<class Base >
bool sc::opencl::ParallelReductionVectorRef< Base >::GetEndFixed ( ) const
inline

◆ GetStartFixed()

template<class Base >
bool sc::opencl::ParallelReductionVectorRef< Base >::GetStartFixed ( ) const
inline

◆ GetWindowSize()

template<class Base >
size_t sc::opencl::ParallelReductionVectorRef< Base >::GetWindowSize ( ) const
inline

◆ Marshal()

template<class Base >
size_t sc::opencl::ParallelReductionVectorRef< Base >::Marshal ( cl_kernel  k,
int  argno,
int  w,
cl_program  mpProgram 
)
virtual

Member Data Documentation

◆ bIsEndFixed

template<class Base >
bool sc::opencl::ParallelReductionVectorRef< Base >::bIsEndFixed
protected

◆ bIsStartFixed

template<class Base >
bool sc::opencl::ParallelReductionVectorRef< Base >::bIsStartFixed
protected

◆ mpClmem2

template<class Base >
cl_mem sc::opencl::ParallelReductionVectorRef< Base >::mpClmem2
protected

Definition at line 496 of file opbase.hxx.

◆ mpCodeGen

template<class Base >
std::shared_ptr<SlidingFunctionBase> sc::opencl::ParallelReductionVectorRef< Base >::mpCodeGen
protected

Definition at line 494 of file opbase.hxx.

◆ mpDVR


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