6 template <
int NXZ,
template <
int MXZ,
typename Float,
typename FloatN>
class Functor,
7 typename write,
typename T>
17 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) 19 multiblasCuda<NXZ,double2,float4,double2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
21 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
23 }
else if (
x[0]->
Nspin() == 1) {
24 #if defined(GPU_STAGGERED_DIRAC) 26 multiblasCuda<NXZ,double2,float2,double2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
28 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
35 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) 37 multiblasCuda<NXZ,double2,short4,double2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
39 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
41 }
else if (
x[0]->
Nspin() == 1) {
42 #if defined(GPU_STAGGERED_DIRAC) 44 multiblasCuda<NXZ,double2,short2,double2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
46 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
53 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) 55 multiblasCuda<NXZ,float4,short4,float4,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
57 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
62 #if defined(GPU_WILSON_DIRAC) || defined(GPU_DOMAIN_WALL_DIRAC) || defined(GPU_STAGGERED_DIRAC) 64 multiblasCuda<NXZ,float2,short2,float2,M,Functor,write>(
a,
b,
c,
x,
y,
z,
w,
x[0]->Volume());
66 errorQuda(
"blas has not been built for Nspin=%d fields",
x[0]->
Nspin());
71 errorQuda(
"Precision combination x=%d y=%d not supported\n",
x[0]->Precision(),
y[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)