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

Public Member Functions

 caxpydotzy (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...
 

Static Public Member Functions

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

Public Attributes

Float2 a
 

Detailed Description

template<typename ReduceType, typename Float2, typename FloatN>
struct quda::blas::caxpydotzy< ReduceType, Float2, FloatN >

double caxpyDotzyCuda(float a, float *x, float *y, float *z, n){} First performs the operation y[i] = a*x[i] + y[i] Second returns the dot product (z,y)

Definition at line 368 of file reduce_core.cuh.

Constructor & Destructor Documentation

◆ caxpydotzy()

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

Definition at line 370 of file reduce_core.cuh.

Member Function Documentation

◆ flops()

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

total number of input and output streams

Definition at line 377 of file reduce_core.cuh.

◆ operator()()

template<typename ReduceType , typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::caxpydotzy< 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 371 of file reduce_core.cuh.

References quda::blas::Caxpy_(), and quda::sum().

Here is the call graph for this function:

◆ streams()

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

Definition at line 376 of file reduce_core.cuh.

Member Data Documentation

◆ a

template<typename ReduceType , typename Float2 , typename FloatN >
Float2 quda::blas::caxpydotzy< ReduceType, Float2, FloatN >::a

Definition at line 369 of file reduce_core.cuh.


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