QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer > Struct Template Reference

Parameter struct for generic multi-blas kernel. More...

Inheritance diagram for quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >:
Inheritance graph
[legend]
Collaboration diagram for quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >:
Collaboration graph
[legend]

Public Member Functions

 MultiReduceArg (SpinorX X[NXZ], SpinorY Y[], SpinorZ Z[NXZ], SpinorW W[], Reducer r, int NYW, int length)
 
- Public Member Functions inherited from quda::ReduceArg< vector_type< ReduceType, NXZ > >
 ReduceArg ()
 

Public Attributes

const int NYW
 
SpinorX X [NXZ]
 
SpinorY Y [MAX_MULTI_BLAS_N]
 
SpinorZ Z [NXZ]
 
SpinorW W [MAX_MULTI_BLAS_N]
 
Reducer r
 
const int length
 
- Public Attributes inherited from quda::ReduceArg< vector_type< ReduceType, NXZ > >
vector_type< ReduceType, NXZ > * partial
 
vector_type< ReduceType, NXZ > * result_d
 
vector_type< ReduceType, NXZ > * result_h
 

Detailed Description

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
struct quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >

Parameter struct for generic multi-blas kernel.

Template Parameters
NXZis dimension of input vectors: X,Z,V
NYWis dimension of in-output vectors: Y,W
SpinorXType of input spinor for x argument
SpinorYType of input spinor for y argument
SpinorZType of input spinor for z argument
SpinorWType of input spinor for w argument
SpinorWType of input spinor for v argument
ReducerFunctor used to operate on data

Definition at line 48 of file multi_reduce_core.cuh.

Constructor & Destructor Documentation

◆ MultiReduceArg()

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::MultiReduceArg ( SpinorX  X[NXZ],
SpinorY  Y[],
SpinorZ  Z[NXZ],
SpinorW  W[],
Reducer  r,
int  NYW,
int  length 
)
inline

Member Data Documentation

◆ length

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
const int quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::length

◆ NYW

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
const int quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::NYW

◆ r

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
Reducer quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::r

◆ W

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorW quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::W[MAX_MULTI_BLAS_N]

◆ X

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorX quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::X[NXZ]

Definition at line 51 of file multi_reduce_core.cuh.

◆ Y

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorY quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::Y[MAX_MULTI_BLAS_N]

◆ Z

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorZ quda::blas::MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::Z[NXZ]

Definition at line 53 of file multi_reduce_core.cuh.


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