QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer > Class Template Reference

#include <reduce_mixed_core.h>

+ Inheritance diagram for mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >:

Public Member Functions

 ReduceCuda (doubleN &result, SpinorX &X, SpinorY &Y, SpinorZ &Z, SpinorW &W, SpinorV &V, Reducer &r, int length, const size_t *bytes, const size_t *norm_bytes)
 
virtual ~ReduceCuda ()
 
TuneKey tuneKey () const
 
void apply (const cudaStream_t &stream)
 
void preTune ()
 
void postTune ()
 
long long flops () const
 
long long bytes () const
 
int tuningIter () const
 

Detailed Description

template<typename doubleN, typename ReduceType, typename ReduceSimpleType, typename FloatN, int M, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename SpinorV, typename Reducer>
class mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >

Definition at line 282 of file reduce_mixed_core.h.

Constructor & Destructor Documentation

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::ReduceCuda ( doubleN &  result,
SpinorX &  X,
SpinorY &  Y,
SpinorZ &  Z,
SpinorW &  W,
SpinorV &  V,
Reducer &  r,
int  length,
const size_t *  bytes,
const size_t *  norm_bytes 
)
inline

Definition at line 315 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
virtual mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::~ReduceCuda ( )
inlinevirtual

Definition at line 322 of file reduce_mixed_core.h.

Member Function Documentation

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
void mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::apply ( const cudaStream_t &  stream)
inline

Definition at line 328 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
long long mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::bytes ( ) const
inline

Definition at line 350 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
long long mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::flops ( ) const
inline

Definition at line 349 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
void mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::postTune ( )
inline

Definition at line 341 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
void mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::preTune ( )
inline

Definition at line 333 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
TuneKey mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::tuneKey ( ) const
inline

Definition at line 324 of file reduce_mixed_core.h.

template<typename doubleN , typename ReduceType , typename ReduceSimpleType , typename FloatN , int M, typename SpinorX , typename SpinorY , typename SpinorZ , typename SpinorW , typename SpinorV , typename Reducer >
int mixed::ReduceCuda< doubleN, ReduceType, ReduceSimpleType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::tuningIter ( ) const
inline

Definition at line 354 of file reduce_mixed_core.h.


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