4 template <
int NXZ,
template <
int MXZ,
typename Float,
typename FloatN>
class Functor,
5 typename write,
typename T>
14 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) || defined(GPU_STAGGERED_DIRAC) 16 multiblasCuda<NXZ,double2,double2,double2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Length()/(2*M));
18 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
24 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) 26 multiblasCuda<NXZ,float4,float4,float4,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Length()/(4*M));
28 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
33 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) || defined(GPU_STAGGERED_DIRAC) 35 multiblasCuda<NXZ,float2,float2,float2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Length()/(2*M));
37 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
45 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) 47 multiblasCuda<NXZ,float4,short4,short4,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
49 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
51 }
else if (
x[0]->
Nspin() == 1) {
52 #ifdef GPU_STAGGERED_DIRAC 54 multiblasCuda<NXZ,float2,short2,short2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
56 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
64 errorQuda(
"Precision combination x=%d not supported\n",
x[0]->Precision());
std::vector< ColorSpinorField * > CompositeColorSpinorField
#define checkLocation(...)
void multiblasCuda(const coeff_array< T > &a, const coeff_array< T > &b, const coeff_array< T > &c, CompositeColorSpinorField &x, CompositeColorSpinorField &y, CompositeColorSpinorField &z, CompositeColorSpinorField &w)