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::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, FloatN &v)
 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 350 of file blas_core.cuh.

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 353 of file blas_core.cuh.

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 377 of file blas_core.cuh.

◆ 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 360 of file blas_core.cuh.

◆ operator()()

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

where the reduction is usually computed and any auxiliary operations

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

Definition at line 370 of file blas_core.cuh.

References quda::blas::_caxpy().

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 376 of file blas_core.cuh.

Member Data Documentation

◆ a

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

Definition at line 351 of file blas_core.cuh.

◆ Ar3

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

Definition at line 352 of file blas_core.cuh.


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