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

Public Member Functions

 caxpyxmazMR_ (const Float2 &a, const Float2 &b, const Float2 &c)
 
__device__ __host__ void init ()
 pre-computation routine before the main loop More...
 
__device__ __host__ void operator() (FloatN &x, FloatN &y, FloatN &z, FloatN &w)
 where the reduction is usually computed and any auxiliary operations More...
 

Static Public Member Functions

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

Public Attributes

Float2 a
 
double3 * Ar3
 

Detailed Description

template<typename Float2, typename FloatN>
struct quda::blas::caxpyxmazMR_< Float2, FloatN >

double caxpyXmazMR(c a, V x, V y, V z){} First performs the operation y[i] += a*x[i] Second performs the operator x[i] -= a*z[i]

Definition at line 561 of file blas_quda.cu.

Constructor & Destructor Documentation

◆ caxpyxmazMR_()

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

Definition at line 564 of file blas_quda.cu.

Member Function Documentation

◆ flops()

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

total number of input and output streams

Definition at line 580 of file blas_quda.cu.

◆ init()

template<typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::caxpyxmazMR_< Float2, FloatN >::init ( )
inlinevirtual

pre-computation routine before the main loop

Reimplemented from quda::blas::BlasFunctor< Float2, FloatN >.

Definition at line 567 of file blas_quda.cu.

References quda::blas::caxpyxmazMR_< Float2, FloatN >::a, and quda::blas::caxpyxmazMR_< Float2, FloatN >::Ar3.

◆ operator()()

template<typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::caxpyxmazMR_< Float2, FloatN >::operator() ( FloatN &  x,
FloatN &  y,
FloatN &  z,
FloatN &  w 
)
inlinevirtual

where the reduction is usually computed and any auxiliary operations

Implements quda::blas::BlasFunctor< Float2, FloatN >.

Definition at line 576 of file blas_quda.cu.

References quda::blas::_caxpy(), quda::blas::caxpyxmazMR_< Float2, FloatN >::a, x, y, and z.

Here is the call graph for this function:

◆ streams()

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

Definition at line 579 of file blas_quda.cu.

Member Data Documentation

◆ a

template<typename Float2 , typename FloatN >
Float2 quda::blas::caxpyxmazMR_< Float2, FloatN >::a

◆ Ar3

template<typename Float2 , typename FloatN >
double3* quda::blas::caxpyxmazMR_< Float2, FloatN >::Ar3

Definition at line 563 of file blas_quda.cu.

Referenced by quda::blas::caxpyxmazMR_< Float2, FloatN >::init().


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