6 template <
template <
typename Float,
typename FloatN>
class Functor,
7 int writeX,
int writeY,
int writeZ,
int writeW>
8 void blasCuda(
const double2 &
a,
const double2 &
b,
const double2 &
c,
9 ColorSpinorField &
x, ColorSpinorField &
y,
10 ColorSpinorField &
z, ColorSpinorField &
w) {
16 blas::blasCuda<double2,float4,double2,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
17 }
else if (
x.Nspin() == 1) {
19 blas::blasCuda<double2,float2,double2,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
24 blas::blasCuda<double2,short4,double2,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
25 }
else if (
x.Nspin() == 1) {
27 blas::blasCuda<double2,short2,double2,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
32 blas::blasCuda<float4,short4,float4,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
33 }
else if (
x.Nspin() == 1) {
35 blas::blasCuda<float2,short2,float2,M,Functor,writeX,writeY,writeZ,writeW>(
a,
b,
c,
x,
y,
z,
w,
x.Volume());
38 errorQuda(
"Not implemented for this precision combination");
43 Functor<double2, double2>
f(
a,
b,
c);
44 genericBlas<float, double, writeX, writeY, writeZ, writeW>(
x,
y,
z,
w,
f);
void blasCuda(const double2 &a, const double2 &b, const double2 &c, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w)
#define checkLocation(...)
int int int enum cudaChannelFormatKind f