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::doubleCG3Update_< Float2, FloatN > Struct Template Reference
Inheritance diagram for quda::blas::doubleCG3Update_< Float2, FloatN >:
Inheritance graph
[legend]
Collaboration diagram for quda::blas::doubleCG3Update_< Float2, FloatN >:
Collaboration graph
[legend]

Public Member Functions

 doubleCG3Update_ (const Float2 &a, const Float2 &b, const Float2 &c)
 
__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...
 
- Public Member Functions inherited from quda::blas::BlasFunctor< Float2, FloatN >
virtual __device__ __host__ void init ()
 pre-computation routine before the main loop More...
 

Static Public Member Functions

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

Public Attributes

Float2 a
 
Float2 b
 
FloatN tmp {}
 

Detailed Description

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

void doubleCG3Update(d a, d b, V x, V y, V z){} tmp = x; x = b.x*(x+a.x*z) + b.y*y; y = tmp;

Definition at line 422 of file blas_core.cuh.

Constructor & Destructor Documentation

◆ doubleCG3Update_()

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

Definition at line 424 of file blas_core.cuh.

Member Function Documentation

◆ flops()

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

total number of input and output streams

Definition at line 433 of file blas_core.cuh.

◆ operator()()

template<typename Float2 , typename FloatN >
__device__ __host__ void quda::blas::doubleCG3Update_< 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 426 of file blas_core.cuh.

References tmp.

◆ streams()

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

Definition at line 432 of file blas_core.cuh.

Member Data Documentation

◆ a

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

Definition at line 423 of file blas_core.cuh.

◆ b

template<typename Float2 , typename FloatN >
Float2 quda::blas::doubleCG3Update_< Float2, FloatN >::b

Definition at line 423 of file blas_core.cuh.

◆ tmp

template<typename Float2 , typename FloatN >
FloatN quda::blas::doubleCG3Update_< Float2, FloatN >::tmp {}

Definition at line 425 of file blas_core.cuh.


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