QUDA  0.9.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
quda::blas::Cdot< NXZ, ReduceType, Float2, FloatN > Struct Template Reference
Inheritance diagram for quda::blas::Cdot< NXZ, ReduceType, Float2, FloatN >:
Inheritance graph
[legend]
Collaboration diagram for quda::blas::Cdot< NXZ, ReduceType, Float2, FloatN >:
Collaboration graph
[legend]

Public Types

typedef scalar< Float2 >::type real
 

Public Member Functions

 Cdot (const reduce::coeff_array< Complex > &a, const reduce::coeff_array< Complex > &b, const reduce::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...
 
 Cdot (const Float2 &a, const Float2 &b)
 
__device__ __host__ void operator() (ReduceType &sum, FloatN &x, FloatN &y, FloatN &z, FloatN &w, FloatN &v)
 where the reduction is usually computed and any auxiliary operations More...
 
- Public Member Functions inherited from quda::blas::ReduceFunctor< 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...
 
- 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...
 
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::Cdot< NXZ, ReduceType, Float2, FloatN >

Definition at line 257 of file multi_reduce_quda.cu.

Member Typedef Documentation

◆ real

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

Definition at line 258 of file multi_reduce_quda.cu.

Constructor & Destructor Documentation

◆ Cdot() [1/2]

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

Definition at line 260 of file multi_reduce_quda.cu.

◆ Cdot() [2/2]

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
quda::blas::Cdot< NXZ, ReduceType, Float2, FloatN >::Cdot ( const Float2 &  a,
const Float2 &  b 
)
inline

Definition at line 492 of file reduce_quda.cu.

Member Function Documentation

◆ flops() [1/2]

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

total number of input and output streams

Definition at line 264 of file multi_reduce_quda.cu.

◆ flops() [2/2]

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

total number of input and output streams

Definition at line 496 of file reduce_quda.cu.

◆ operator()() [1/2]

template<int NXZ, typename ReduceType , typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::Cdot< 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 261 of file multi_reduce_quda.cu.

References sum(), x, and y.

Here is the call graph for this function:

◆ operator()() [2/2]

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

where the reduction is usually computed and any auxiliary operations

Implements quda::blas::ReduceFunctor< ReduceType, Float2, FloatN >.

Definition at line 493 of file reduce_quda.cu.

References sum(), x, and y.

Here is the call graph for this function:

◆ streams() [1/2]

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

Definition at line 263 of file multi_reduce_quda.cu.

◆ streams() [2/2]

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

Definition at line 495 of file reduce_quda.cu.

Member Data Documentation

◆ NYW

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

Definition at line 259 of file multi_reduce_quda.cu.


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