QUDA  0.9.0
Public Member Functions | Public Attributes | List of all members
MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer > Struct Template Reference

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

Inheritance diagram for MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >:
Inheritance graph
[legend]
Collaboration diagram for 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 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
 

Detailed Description

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
struct 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 38 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>
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 MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::length

Definition at line 46 of file multi_reduce_core.cuh.

◆ NYW

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
const int 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 MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::r

Definition at line 45 of file multi_reduce_core.cuh.

◆ W

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorW 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 MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::X[NXZ]

◆ Y

template<int NXZ, typename ReduceType, typename SpinorX, typename SpinorY, typename SpinorZ, typename SpinorW, typename Reducer>
SpinorY 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 MultiReduceArg< NXZ, ReduceType, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::Z[NXZ]

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