QUDA v0.4.0
A library for QCD on GPUs
Public Member Functions
ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ > Class Template Reference

#include <reduce_core.h>

Inheritance diagram for ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >:

List of all members.

Public Member Functions

 ReduceCuda (doubleN &result, InputX &X, InputY &Y, InputZ &Z, InputW &W, InputV &V, Reducer &r, OutputX &XX, OutputY &YY, OutputZ &ZZ, int length)
virtual ~ReduceCuda ()
TuneKey tuneKey () const
void apply (const cudaStream_t &stream)
void preTune ()
void postTune ()
long long flops () const
long long bytes () const

Detailed Description

template<typename doubleN, typename ReduceType, typename ReduceSimpleType, typename FloatN, int M, int writeX, int writeY, int writeZ, typename InputX, typename InputY, typename InputZ, typename InputW, typename InputV, typename Reducer, typename OutputX, typename OutputY, typename OutputZ>
class ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >

Definition at line 356 of file reduce_core.h.


Constructor & Destructor Documentation

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::ReduceCuda ( doubleN &  result,
InputX &  X,
InputY &  Y,
InputZ &  Z,
InputW &  W,
InputV &  V,
Reducer &  r,
OutputX &  XX,
OutputY &  YY,
OutputZ &  ZZ,
int  length 
) [inline]

Definition at line 396 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
virtual ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::~ReduceCuda ( ) [inline, virtual]

Definition at line 400 of file reduce_core.h.


Member Function Documentation

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
void ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::apply ( const cudaStream_t &  stream) [inline, virtual]

Implements Tunable.

Definition at line 412 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
long long ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::bytes ( ) const [inline, virtual]

Reimplemented from Tunable.

Definition at line 435 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
long long ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::flops ( ) const [inline, virtual]

Reimplemented from Tunable.

Definition at line 434 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
void ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::postTune ( ) [inline, virtual]

Reimplemented from Tunable.

Definition at line 426 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
void ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::preTune ( ) [inline, virtual]

Reimplemented from Tunable.

Definition at line 418 of file reduce_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, int writeX, int writeY, int writeZ, typename InputX , typename InputY , typename InputZ , typename InputW , typename InputV , typename Reducer , typename OutputX , typename OutputY , typename OutputZ >
TuneKey ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, writeX, writeY, writeZ, InputX, InputY, InputZ, InputW, InputV, Reducer, OutputX, OutputY, OutputZ >::tuneKey ( ) const [inline, virtual]

Implements Tunable.

Definition at line 402 of file reduce_core.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines