QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN > Struct Template Reference
Inheritance diagram for quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >:
Inheritance graph
[legend]
Collaboration diagram for quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >:
Collaboration graph
[legend]

Public Types

typedef scalar< Float2 >::type real
 

Public Member Functions

 CdotCopy (const coeff_array< Complex > &a, const coeff_array< Complex > &b, const coeff_array< Complex > &c, int NYW)
 
__device__ __host__ void operator() (ReduceType &sum, FloatN &x, FloatN &y, FloatN &z, FloatN &w, const int i, const int j)
 where the reduction is usually computed and any auxiliary operations More...
 
- Public Member Functions inherited from quda::blas::MultiReduceFunctor< NXZ, ReduceType, Float2, FloatN >
virtual __device__ __host__ void pre ()
 pre-computation routine called before the "M-loop" More...
 
virtual __device__ __host__ void post (ReduceType &sum)
 post-computation routine called after the "M-loop" More...
 

Static Public Member Functions

static int streams ()
 
static int flops ()
 total number of input and output streams More...
 

Public Attributes

const int NYW
 

Detailed Description

template<int NXZ, typename ReduceType, typename Float2, typename FloatN>
struct quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >

Definition at line 249 of file multi_reduce_core.cuh.

Member Typedef Documentation

◆ real

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
typedef scalar<Float2>::type quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::real

Definition at line 250 of file multi_reduce_core.cuh.

Constructor & Destructor Documentation

◆ CdotCopy()

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::CdotCopy ( const coeff_array< Complex > &  a,
const coeff_array< Complex > &  b,
const coeff_array< Complex > &  c,
int  NYW 
)
inline

Definition at line 252 of file multi_reduce_core.cuh.

Member Function Documentation

◆ flops()

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
static int quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::flops ( )
inlinestatic

total number of input and output streams

Definition at line 264 of file multi_reduce_core.cuh.

◆ operator()()

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::operator() ( ReduceType &  sum,
FloatN &  x,
FloatN &  y,
FloatN &  z,
FloatN &  w,
const int  i,
const int  j 
)
inlinevirtual

where the reduction is usually computed and any auxiliary operations

Implements quda::blas::MultiReduceFunctor< NXZ, ReduceType, Float2, FloatN >.

Definition at line 257 of file multi_reduce_core.cuh.

References quda::sum().

Here is the call graph for this function:

◆ streams()

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
static int quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::streams ( )
inlinestatic

Definition at line 263 of file multi_reduce_core.cuh.

Member Data Documentation

◆ NYW

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
const int quda::blas::CdotCopy< NXZ, ReduceType, Float2, FloatN >::NYW

Definition at line 251 of file multi_reduce_core.cuh.


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