diff --git a/lib/qcd/action/fermion/FermionOperatorImpl.h b/lib/qcd/action/fermion/FermionOperatorImpl.h index 13803285..0aaa7a2f 100644 --- a/lib/qcd/action/fermion/FermionOperatorImpl.h +++ b/lib/qcd/action/fermion/FermionOperatorImpl.h @@ -56,7 +56,7 @@ NAMESPACE_BEGIN(Grid); // and Methods: // void ImportGauge(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu) // void DoubleStore(GridBase *GaugeGrid,DoubledGaugeField &Uds,const GaugeField &Umu) -// void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl &St) +// void multLink(SiteHalfSpinor &phi,const SiteDoubledGaugeField &U,const SiteHalfSpinor &chi,int mu,StencilEntry *SE,StencilImpl::View_type &St) // void InsertForce4D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu) // void InsertForce5D(GaugeField &mat,const FermionField &Btilde,const FermionField &A,int mu) // @@ -208,7 +208,7 @@ public: const SiteHalfSpinor &chi, int mu, StencilEntry *SE, - StencilImpl &St) { + typename StencilImpl::View_type &St) { mult(&phi(), &U(mu), &chi()); } @@ -339,7 +339,7 @@ public: accelerator_inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U, const SiteHalfSpinor &chi, int mu, StencilEntry *SE, - StencilImpl &St) { + typename StencilImpl::View_type &St) { SiteGaugeLink UU; for (int i = 0; i < Nrepresentation; i++) { for (int j = 0; j < Nrepresentation; j++) { @@ -490,7 +490,7 @@ public: // flavour index) and non-Gparity accelerator_inline void multLink(SiteHalfSpinor &phi, const SiteDoubledGaugeField &U, const SiteHalfSpinor &chi, int mu, StencilEntry *SE, - StencilImpl &St) { + typename StencilImpl::View_type &St) { typedef SiteHalfSpinor vobj; typedef typename SiteHalfSpinor::scalar_object sobj; @@ -514,7 +514,7 @@ public: assert((sl == 1) || (sl == 2)); Coordinate icoor; - if ( SE->_around_the_world && Params.twists[mmu] ) { + if ( SE->_around_the_world && St.twists[mmu] ) { if ( sl == 2 ) { diff --git a/lib/qcd/action/fermion/WilsonCompressor.h b/lib/qcd/action/fermion/WilsonCompressor.h index 55b5fe52..0e4c931a 100644 --- a/lib/qcd/action/fermion/WilsonCompressor.h +++ b/lib/qcd/action/fermion/WilsonCompressor.h @@ -237,6 +237,11 @@ template using WilsonCompressor = WilsonCom template class WilsonStencil : public CartesianStencil { public: + + typedef CartesianStencil Base; + typedef typename Base::View_type View_type; + typedef typename Base::StencilVector StencilVector; + double timer0; double timer1; double timer2; @@ -265,7 +270,6 @@ public: if ( timer4 ) std::cout << GridLogMessage << " timer4 " < same_node; std::vector surface_list; WilsonStencil(GridBase *grid, @@ -273,11 +277,11 @@ public: int checkerboard, const std::vector &directions, const std::vector &distances) - : CartesianStencil (grid,npoints,checkerboard,directions,distances) , - same_node(npoints) + : CartesianStencil (grid,npoints,checkerboard,directions,distances) { ZeroCountersi(); surface_list.resize(0); + this->same_node.resize(npoints); }; void BuildSurfaceList(int Ls,int vol4){ @@ -285,13 +289,13 @@ public: // find same node for SHM // Here we know the distance is 1 for WilsonStencil for(int point=0;point_npoints;point++){ - same_node[point] = this->SameNode(point); + this->same_node[point] = this->SameNode(point); } for(int site = 0 ;site< vol4;site++){ int local = 1; for(int point=0;point_npoints;point++){ - if( (!this->GetNodeLocal(site*Ls,point)) && (!same_node[point]) ){ + if( (!this->GetNodeLocal(site*Ls,point)) && (!this->same_node[point]) ){ local = 0; } } @@ -360,23 +364,23 @@ public: int dag = compress.dag; int face_idx=0; if ( dag ) { - assert(same_node[Xp]==this->HaloGatherDir(source,XpCompress,Xp,face_idx)); - assert(same_node[Yp]==this->HaloGatherDir(source,YpCompress,Yp,face_idx)); - assert(same_node[Zp]==this->HaloGatherDir(source,ZpCompress,Zp,face_idx)); - assert(same_node[Tp]==this->HaloGatherDir(source,TpCompress,Tp,face_idx)); - assert(same_node[Xm]==this->HaloGatherDir(source,XmCompress,Xm,face_idx)); - assert(same_node[Ym]==this->HaloGatherDir(source,YmCompress,Ym,face_idx)); - assert(same_node[Zm]==this->HaloGatherDir(source,ZmCompress,Zm,face_idx)); - assert(same_node[Tm]==this->HaloGatherDir(source,TmCompress,Tm,face_idx)); + assert(this->same_node[Xp]==this->HaloGatherDir(source,XpCompress,Xp,face_idx)); + assert(this->same_node[Yp]==this->HaloGatherDir(source,YpCompress,Yp,face_idx)); + assert(this->same_node[Zp]==this->HaloGatherDir(source,ZpCompress,Zp,face_idx)); + assert(this->same_node[Tp]==this->HaloGatherDir(source,TpCompress,Tp,face_idx)); + assert(this->same_node[Xm]==this->HaloGatherDir(source,XmCompress,Xm,face_idx)); + assert(this->same_node[Ym]==this->HaloGatherDir(source,YmCompress,Ym,face_idx)); + assert(this->same_node[Zm]==this->HaloGatherDir(source,ZmCompress,Zm,face_idx)); + assert(this->same_node[Tm]==this->HaloGatherDir(source,TmCompress,Tm,face_idx)); } else { - assert(same_node[Xp]==this->HaloGatherDir(source,XmCompress,Xp,face_idx)); - assert(same_node[Yp]==this->HaloGatherDir(source,YmCompress,Yp,face_idx)); - assert(same_node[Zp]==this->HaloGatherDir(source,ZmCompress,Zp,face_idx)); - assert(same_node[Tp]==this->HaloGatherDir(source,TmCompress,Tp,face_idx)); - assert(same_node[Xm]==this->HaloGatherDir(source,XpCompress,Xm,face_idx)); - assert(same_node[Ym]==this->HaloGatherDir(source,YpCompress,Ym,face_idx)); - assert(same_node[Zm]==this->HaloGatherDir(source,ZpCompress,Zm,face_idx)); - assert(same_node[Tm]==this->HaloGatherDir(source,TpCompress,Tm,face_idx)); + assert(this->same_node[Xp]==this->HaloGatherDir(source,XmCompress,Xp,face_idx)); + assert(this->same_node[Yp]==this->HaloGatherDir(source,YmCompress,Yp,face_idx)); + assert(this->same_node[Zp]==this->HaloGatherDir(source,ZmCompress,Zp,face_idx)); + assert(this->same_node[Tp]==this->HaloGatherDir(source,TmCompress,Tp,face_idx)); + assert(this->same_node[Xm]==this->HaloGatherDir(source,XpCompress,Xm,face_idx)); + assert(this->same_node[Ym]==this->HaloGatherDir(source,YpCompress,Ym,face_idx)); + assert(this->same_node[Zm]==this->HaloGatherDir(source,ZpCompress,Zm,face_idx)); + assert(this->same_node[Tm]==this->HaloGatherDir(source,TpCompress,Tm,face_idx)); } this->face_table_computed=1; assert(this->u_comm_offset==this->_unified_buffer_size); diff --git a/lib/qcd/action/fermion/WilsonFermion.cc b/lib/qcd/action/fermion/WilsonFermion.cc index 21a919cf..55757f8d 100644 --- a/lib/qcd/action/fermion/WilsonFermion.cc +++ b/lib/qcd/action/fermion/WilsonFermion.cc @@ -219,8 +219,9 @@ void WilsonFermion::DerivInternal(StencilImpl &st, DoubledGaugeField &U, auto U_v = U.View(); auto B_v = B.View(); auto Btilde_v = Btilde.View(); + auto st_v = st.View(); thread_loop( (int sss = 0; sss < B.Grid()->oSites(); sss++) ,{ - Kernels::DhopDirK(st, U_v, st.CommBuf(), sss, sss, B_v, Btilde_v, mu, gamma); + Kernels::DhopDirK(st_v, U_v, st.CommBuf(), sss, sss, B_v, Btilde_v, mu, gamma); }); ////////////////////////////////////////////////// @@ -322,8 +323,9 @@ void WilsonFermion::DhopDirDisp(const FermionField &in, FermionField &out, auto in_v = in.View(); auto out_v = in.View(); auto Umu_v = Umu.View(); + auto Stencil_v = Stencil.View(); thread_loop( (int sss = 0; sss < in.Grid()->oSites(); sss++) ,{ - Kernels::DhopDirK(Stencil, Umu_v, Stencil.CommBuf(), sss, sss, in_v, out_v, dirdisp, gamma); + Kernels::DhopDirK(Stencil_v, Umu_v, Stencil.CommBuf(), sss, sss, in_v, out_v, dirdisp, gamma); }); }; @@ -341,13 +343,14 @@ void WilsonFermion::DhopInternal(StencilImpl &st, LebesgueOrder &lo, auto U_v = U.View(); auto in_v = in.View(); auto out_v= out.View(); + auto st_v = st.View(); if (dag == DaggerYes) { accelerator_loop( sss,in_v, { - Kernels::DhopSiteDag(Opt,st, lo, U_v, st.CommBuf(), sss, sss, 1, 1, in_v, out_v); + Kernels::DhopSiteDag(Opt,st_v, lo, U_v, st.CommBuf(), sss, sss, 1, 1, in_v, out_v); }); } else { accelerator_loop( sss,in_v, { - Kernels::DhopSite(Opt,st, lo, U_v, st.CommBuf(), sss, sss, 1, 1, in_v, out_v); + Kernels::DhopSite(Opt,st_v, lo, U_v, st.CommBuf(), sss, sss, 1, 1, in_v, out_v); }); } }; diff --git a/lib/qcd/action/fermion/WilsonKernels.cc b/lib/qcd/action/fermion/WilsonKernels.cc index 2e9e4fb3..25185e81 100644 --- a/lib/qcd/action/fermion/WilsonKernels.cc +++ b/lib/qcd/action/fermion/WilsonKernels.cc @@ -103,7 +103,7 @@ WilsonKernels::WilsonKernels(const ImplParams &p) : Base(p){}; // All legs kernels ; comms then compute //////////////////////////////////////////////////////////////////// template -accelerator void WilsonKernels::GenericDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSiteDag(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -127,7 +127,7 @@ accelerator void WilsonKernels::GenericDhopSiteDag(StencilImpl &st, Lebesg }; template -accelerator void WilsonKernels::GenericDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSite(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -153,7 +153,7 @@ accelerator void WilsonKernels::GenericDhopSite(StencilImpl &st, LebesgueO // Interior kernels //////////////////////////////////////////////////////////////////// template -accelerator void WilsonKernels::GenericDhopSiteDagInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSiteDagInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -178,7 +178,7 @@ accelerator void WilsonKernels::GenericDhopSiteDagInt(StencilImpl &st, Leb }; template -accelerator void WilsonKernels::GenericDhopSiteInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSiteInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -204,7 +204,7 @@ accelerator void WilsonKernels::GenericDhopSiteInt(StencilImpl &st, Lebesg // Exterior kernels //////////////////////////////////////////////////////////////////// template -accelerator void WilsonKernels::GenericDhopSiteDagExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSiteDagExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -231,7 +231,7 @@ accelerator void WilsonKernels::GenericDhopSiteDagExt(StencilImpl &st, Leb }; template -accelerator void WilsonKernels::GenericDhopSiteExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, +accelerator void WilsonKernels::GenericDhopSiteExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out) { @@ -258,7 +258,7 @@ accelerator void WilsonKernels::GenericDhopSiteExt(StencilImpl &st, Lebesg }; template -accelerator void WilsonKernels::DhopDirK( StencilImpl &st, DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int sF, +accelerator void WilsonKernels::DhopDirK( typename StencilImpl::View_type &st, DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out, int dir, int gamma) { SiteHalfSpinor tmp; diff --git a/lib/qcd/action/fermion/WilsonKernels.h b/lib/qcd/action/fermion/WilsonKernels.h index 0f4b387e..8f9b62f0 100644 --- a/lib/qcd/action/fermion/WilsonKernels.h +++ b/lib/qcd/action/fermion/WilsonKernels.h @@ -58,7 +58,7 @@ public: template accelerator typename std::enable_if::type - DhopSite(int Opt,StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + DhopSite(int Opt,typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out,int interior=1,int exterior=1) { bgq_l1p_optimisation(1); @@ -102,7 +102,7 @@ public: template accelerator typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool, void>::type - DhopSite(int Opt, StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + DhopSite(int Opt, typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out,int interior=1,int exterior=1 ) { // no kernel choice for (int site = 0; site < Nsite; site++) { @@ -119,7 +119,7 @@ public: template accelerator typename std::enable_if::type - DhopSiteDag(int Opt, StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + DhopSiteDag(int Opt, typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out,int interior=1,int exterior=1) { bgq_l1p_optimisation(1); @@ -164,7 +164,7 @@ public: template accelerator typename std::enable_if<(Impl::Dimension != 3 || (Impl::Dimension == 3 && Nc != 3)) && EnableBool,void>::type - DhopSiteDag(int Opt,StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U,SiteHalfSpinor * buf, + DhopSiteDag(int Opt,typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U,SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out,int interior=1,int exterior=1) { for (int site = 0; site < Nsite; site++) { @@ -179,7 +179,7 @@ public: } } - accelerator void DhopDirK(StencilImpl &st, DoubledGaugeFieldView &U,SiteHalfSpinor * buf, + accelerator void DhopDirK(typename StencilImpl::View_type &st, DoubledGaugeFieldView &U,SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out, int dirdisp, int gamma); ////////////////////////////////////////////////////////////////////////////// @@ -216,59 +216,59 @@ public: private: // Specialised variants - accelerator void GenericDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSite(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void GenericDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSiteDag(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void GenericDhopSiteInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSiteInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void GenericDhopSiteDagInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSiteDagInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void GenericDhopSiteExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSiteExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void GenericDhopSiteDagExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void GenericDhopSiteDagExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void AsmDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSite(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in,FermionFieldView &out); - accelerator void AsmDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSiteDag(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out); - accelerator void AsmDhopSiteInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSiteInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in,FermionFieldView &out); - accelerator void AsmDhopSiteDagInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSiteDagInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out); - accelerator void AsmDhopSiteExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSiteExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in,FermionFieldView &out); - accelerator void AsmDhopSiteDagExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void AsmDhopSiteDagExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, int Ls, int Nsite, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSite(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSite(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSiteDag(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSiteDag(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSiteInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSiteInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSiteDagInt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSiteDagInt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSiteExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSiteExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); - accelerator void HandDhopSiteDagExt(StencilImpl &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, + accelerator void HandDhopSiteDagExt(typename StencilImpl::View_type &st, LebesgueOrder &lo, DoubledGaugeFieldView &U, SiteHalfSpinor * buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out); public: diff --git a/lib/qcd/action/fermion/WilsonKernelsAsm.cc b/lib/qcd/action/fermion/WilsonKernelsAsm.cc index 3dd46934..12fb9b72 100644 --- a/lib/qcd/action/fermion/WilsonKernelsAsm.cc +++ b/lib/qcd/action/fermion/WilsonKernelsAsm.cc @@ -38,42 +38,42 @@ NAMESPACE_BEGIN(Grid); // Default to no assembler implementation /////////////////////////////////////////////////////////// template void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); } template void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); } template void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); } template void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); } template void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); } template void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) { assert(0); @@ -83,20 +83,20 @@ WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,Doubl #include #define INSTANTIATE_ASM(A)\ -template void WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ \ -template void WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ -template void WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ \ -template void WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ -template void WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ \ -template void WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ +template void WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf,\ int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out);\ INSTANTIATE_ASM(WilsonImplF); diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmAvx512.h b/lib/qcd/action/fermion/WilsonKernelsAsmAvx512.h index e8baee70..11d87d13 100644 --- a/lib/qcd/action/fermion/WilsonKernelsAsmAvx512.h +++ b/lib/qcd/action/fermion/WilsonKernelsAsmAvx512.h @@ -62,22 +62,22 @@ static Vector signsF; #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -85,22 +85,22 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,Dou #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -109,22 +109,22 @@ WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo, #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -136,22 +136,22 @@ WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo, #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -159,22 +159,22 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo, #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -182,22 +182,22 @@ WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -214,20 +214,20 @@ WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -235,20 +235,20 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -258,22 +258,22 @@ WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOr #undef MULT_2SPIN #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LSNOPF(ptr,pf) template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -285,20 +285,20 @@ WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOr #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -306,20 +306,20 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOr #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -327,20 +327,20 @@ WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,Lebesgu #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -376,20 +376,20 @@ static int signInitD = setupSigns(signsD); #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -397,20 +397,20 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,Dou #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -418,20 +418,20 @@ WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo, #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -443,20 +443,20 @@ WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo, #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -464,20 +464,20 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo, #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -485,20 +485,20 @@ WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -515,20 +515,20 @@ WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -536,20 +536,20 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -559,20 +559,20 @@ WilsonKernels::AsmDhopSiteInt(StencilImpl &st,LebesgueOr #undef MULT_2SPIN #define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LSNOPF(ptr,pf) template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -584,20 +584,20 @@ WilsonKernels::AsmDhopSiteExt(StencilImpl &st,LebesgueOr #undef INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -605,20 +605,20 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOr #define INTERIOR #undef EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include @@ -626,20 +626,20 @@ WilsonKernels::AsmDhopSiteDagInt(StencilImpl &st,Lebesgu #undef INTERIOR #define EXTERIOR template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include template<> void -WilsonKernels::AsmDhopSiteDagExt(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) #include diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmQPX.h b/lib/qcd/action/fermion/WilsonKernelsAsmQPX.h index 612234d7..faf6a04b 100644 --- a/lib/qcd/action/fermion/WilsonKernelsAsmQPX.h +++ b/lib/qcd/action/fermion/WilsonKernelsAsmQPX.h @@ -52,7 +52,7 @@ Author: paboyle ///////////////////////////////////////////////////////////////// #undef KERNEL_DAG template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include @@ -61,7 +61,7 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,Doubl ///////////////////////////////////////////////////////////////// #define KERNEL_DAG template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include @@ -75,7 +75,7 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,Do ///////////////////////////////////////////////////////////////// #undef KERNEL_DAG template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include @@ -84,7 +84,7 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & ///////////////////////////////////////////////////////////////// #define KERNEL_DAG template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include #undef MAYBEPERM @@ -104,7 +104,7 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrde ///////////////////////////////////////////////////////////////// #undef KERNEL_DAG template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include ///////////////////////////////////////////////////////////////// @@ -115,7 +115,7 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,Doubl ///////////////////////////////////////////////////////////////// #define KERNEL_DAG template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include ///////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,Do ///////////////////////////////////////////////////////////////// #undef KERNEL_DAG template<> void -WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSite(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U, SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include ///////////////////////////////////////////////////////////////// @@ -139,7 +139,7 @@ WilsonKernels::AsmDhopSite(StencilImpl &st,LebesgueOrder & ///////////////////////////////////////////////////////////////// #define KERNEL_DAG template<> void -WilsonKernels::AsmDhopSiteDag(StencilImpl &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, +WilsonKernels::AsmDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder & lo,DoubledGaugeField &U,SiteHalfSpinor *buf, int ss,int ssU,int Ls,int Ns,const FermionField &in, FermionField &out) #include ///////////////////////////////////////////////////////////////// diff --git a/lib/qcd/action/fermion/WilsonKernelsHand.cc b/lib/qcd/action/fermion/WilsonKernelsHand.cc index b4e24b76..0f2c04ab 100644 --- a/lib/qcd/action/fermion/WilsonKernelsHand.cc +++ b/lib/qcd/action/fermion/WilsonKernelsHand.cc @@ -573,7 +573,7 @@ Author: paboyle NAMESPACE_BEGIN(Grid); template void -WilsonKernels::HandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::HandDhopSite(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { // T==0, Z==1, Y==2, Z==3 expect 1,2,2,2 simd layout etc... @@ -600,7 +600,7 @@ WilsonKernels::HandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGauge } template -void WilsonKernels::HandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +void WilsonKernels::HandDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { typedef typename Simd::scalar_type S; @@ -626,7 +626,7 @@ void WilsonKernels::HandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,Doub } template void -WilsonKernels::HandDhopSiteInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::HandDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { // T==0, Z==1, Y==2, Z==3 expect 1,2,2,2 simd layout etc... @@ -654,7 +654,7 @@ WilsonKernels::HandDhopSiteInt(StencilImpl &st,LebesgueOrder &lo,DoubledGa } template -void WilsonKernels::HandDhopSiteDagInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +void WilsonKernels::HandDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { typedef typename Simd::scalar_type S; @@ -681,7 +681,7 @@ void WilsonKernels::HandDhopSiteDagInt(StencilImpl &st,LebesgueOrder &lo,D } template void -WilsonKernels::HandDhopSiteExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +WilsonKernels::HandDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { // T==0, Z==1, Y==2, Z==3 expect 1,2,2,2 simd layout etc... @@ -711,7 +711,7 @@ WilsonKernels::HandDhopSiteExt(StencilImpl &st,LebesgueOrder &lo,DoubledGa } template -void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, +void WilsonKernels::HandDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, int ss,int sU,const FermionFieldView &in, FermionFieldView &out) { typedef typename Simd::scalar_type S; @@ -744,7 +744,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D //////////////////////////////////////////////// #define HAND_SPECIALISE_EMPTY(IMPL) \ template<> void \ - WilsonKernels::HandDhopSite(StencilImpl &st, \ + WilsonKernels::HandDhopSite(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -752,7 +752,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D const FermionFieldView &in, \ FermionFieldView &out){ assert(0); } \ template<> void \ - WilsonKernels::HandDhopSiteDag(StencilImpl &st, \ + WilsonKernels::HandDhopSiteDag(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -760,7 +760,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D const FermionFieldView &in, \ FermionFieldView &out){ assert(0); } \ template<> void \ - WilsonKernels::HandDhopSiteInt(StencilImpl &st, \ + WilsonKernels::HandDhopSiteInt(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -768,7 +768,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D const FermionFieldView &in, \ FermionFieldView &out){ assert(0); } \ template<> void \ - WilsonKernels::HandDhopSiteExt(StencilImpl &st, \ + WilsonKernels::HandDhopSiteExt(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -776,7 +776,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D const FermionFieldView &in, \ FermionFieldView &out){ assert(0); } \ template<> void \ - WilsonKernels::HandDhopSiteDagInt(StencilImpl &st, \ + WilsonKernels::HandDhopSiteDagInt(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -784,7 +784,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D const FermionFieldView &in, \ FermionFieldView &out){ assert(0); } \ template<> void \ - WilsonKernels::HandDhopSiteDagExt(StencilImpl &st, \ + WilsonKernels::HandDhopSiteDagExt(typename StencilImpl::View_type &st, \ LebesgueOrder &lo, \ DoubledGaugeFieldView &U, \ SiteHalfSpinor *buf, \ @@ -796,7 +796,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D #define HAND_SPECIALISE_GPARITY(IMPL) \ template<> void \ - WilsonKernels::HandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + WilsonKernels::HandDhopSite(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -812,7 +812,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D } \ \ template<> \ - void WilsonKernels::HandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + void WilsonKernels::HandDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -828,7 +828,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D } \ \ template<> void \ - WilsonKernels::HandDhopSiteInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + WilsonKernels::HandDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -844,7 +844,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D } \ \ template<> \ - void WilsonKernels::HandDhopSiteDagInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + void WilsonKernels::HandDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -860,7 +860,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D } \ \ template<> void \ - WilsonKernels::HandDhopSiteExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + WilsonKernels::HandDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -877,7 +877,7 @@ void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,D HAND_DOP_SITE_EXT(1, LOAD_CHI_GPARITY,LOAD_CHIMU_GPARITY,MULT_2SPIN_GPARITY); \ } \ template<> \ - void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ + void WilsonKernels::HandDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out) \ { \ typedef IMPL Impl; \ @@ -904,17 +904,17 @@ HAND_SPECIALISE_GPARITY(GparityWilsonImplDF); ////////////// Wilson ; uses this implementation ///////////////////// #define INSTANTIATE_THEM(A) \ -template void WilsonKernels::HandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ +template void WilsonKernels::HandDhopSite(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ int ss,int sU,const FermionFieldView &in, FermionFieldView &out); \ -template void WilsonKernels::HandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ +template void WilsonKernels::HandDhopSiteDag(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out);\ -template void WilsonKernels::HandDhopSiteInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ +template void WilsonKernels::HandDhopSiteInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ int ss,int sU,const FermionFieldView &in, FermionFieldView &out); \ -template void WilsonKernels::HandDhopSiteDagInt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ +template void WilsonKernels::HandDhopSiteDagInt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out); \ -template void WilsonKernels::HandDhopSiteExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ +template void WilsonKernels::HandDhopSiteExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf,\ int ss,int sU,const FermionFieldView &in, FermionFieldView &out); \ -template void WilsonKernels::HandDhopSiteDagExt(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ +template void WilsonKernels::HandDhopSiteDagExt(typename StencilImpl::View_type &st,LebesgueOrder &lo,DoubledGaugeFieldView &U,SiteHalfSpinor *buf, \ int ss,int sU,const FermionFieldView &in, FermionFieldView &out); INSTANTIATE_THEM(WilsonImplF);