From a307274c96eb34fcc8d39df60bf5200f81d94b7d Mon Sep 17 00:00:00 2001 From: paboyle Date: Thu, 14 Jul 2016 23:56:13 +0100 Subject: [PATCH] Fermion impl rename for ls vectorised 5d approaches --- lib/qcd/action/fermion/FermionOperatorImpl.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h index 399c780b..2f8a2404 100644 --- a/lib/qcd/action/fermion/FermionOperatorImpl.h +++ b/lib/qcd/action/fermion/FermionOperatorImpl.h @@ -113,6 +113,8 @@ namespace Grid { class WilsonImpl : public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { public: + const bool LsVectorised=false; + typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl; INHERIT_GIMPL_TYPES(Gimpl); @@ -191,8 +193,10 @@ PARALLEL_FOR_LOOP // Single flavour four spinors with colour index, 5d redblack /////// template - class DomainWallRedBlack5dImpl : public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { + class DomainWallVec5dImpl : public PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > { public: + + const bool LsVectorised=true; typedef PeriodicGaugeImpl< GaugeImplTypes< S,Nrepresentation> > Gimpl; @@ -221,7 +225,7 @@ PARALLEL_FOR_LOOP ImplParams Params; - DomainWallRedBlack5dImpl(const ImplParams &p= ImplParams()) : Params(p) {}; + DomainWallVec5dImpl(const ImplParams &p= ImplParams()) : Params(p) {}; bool overlapCommsCompute(void) { return false; }; @@ -287,6 +291,8 @@ PARALLEL_FOR_LOOP class GparityWilsonImpl : public ConjugateGaugeImpl< GaugeImplTypes >{ public: + const bool LsVectorised=false; + typedef ConjugateGaugeImpl< GaugeImplTypes > Gimpl; INHERIT_GIMPL_TYPES(Gimpl); @@ -449,7 +455,7 @@ PARALLEL_FOR_LOOP auto tmp = TraceIndex(outerProduct(Btilde,A)); PARALLEL_FOR_LOOP for(auto ss=tmp.begin();ss(mat,link,mu); return; @@ -477,9 +483,9 @@ PARALLEL_FOR_LOOP typedef WilsonImpl WilsonImplF; // Float typedef WilsonImpl WilsonImplD; // Double - typedef DomainWallRedBlack5dImpl DomainWallRedBlack5dImplR; // Real.. whichever prec - typedef DomainWallRedBlack5dImpl DomainWallRedBlack5dImplF; // Float - typedef DomainWallRedBlack5dImpl DomainWallRedBlack5dImplD; // Double + typedef DomainWallVec5dImpl DomainWallVec5dImplR; // Real.. whichever prec + typedef DomainWallVec5dImpl DomainWallVec5dImplF; // Float + typedef DomainWallVec5dImpl DomainWallVec5dImplD; // Double typedef GparityWilsonImpl GparityWilsonImplR; // Real.. whichever prec typedef GparityWilsonImpl GparityWilsonImplF; // Float