1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-12 20:27:06 +01:00
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
This commit is contained in:
Peter Boyle
2015-05-10 15:37:47 +01:00
14 changed files with 2834 additions and 3377 deletions

View File

@ -11,21 +11,21 @@
/* #undef AVX512 */
/* GRID_COMMS_MPI */
/* #undef GRID_COMMS_MPI */
#define GRID_COMMS_MPI 1
/* GRID_COMMS_NONE */
#define GRID_COMMS_NONE 1
/* #undef GRID_COMMS_NONE */
/* Define to 1 if you have the declaration of `be64toh', and to 0 if you
don't. */
#define HAVE_DECL_BE64TOH 1
#define HAVE_DECL_BE64TOH 0
/* Define to 1 if you have the declaration of `ntohll', and to 0 if you don't.
*/
#define HAVE_DECL_NTOHLL 0
#define HAVE_DECL_NTOHLL 1
/* Define to 1 if you have the <endian.h> header file. */
#define HAVE_ENDIAN_H 1
/* #undef HAVE_ENDIAN_H */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
@ -34,10 +34,10 @@
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* #undef HAVE_MALLOC_H */
/* Define to 1 if you have the <malloc/malloc.h> header file. */
/* #undef HAVE_MALLOC_MALLOC_H */
#define HAVE_MALLOC_MALLOC_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
@ -78,6 +78,9 @@
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "grid"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.0"

View File

@ -77,6 +77,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION

View File

@ -57,6 +57,9 @@ public:
friend void zeroit(iScalar<vtype> &that){
zeroit(that._internal);
}
friend void prefetch(iScalar<vtype> &that){
prefetch(that._internal);
}
friend void permute(iScalar<vtype> &out,const iScalar<vtype> &in,int permutetype){
permute(out._internal,in._internal,permutetype);
}
@ -141,6 +144,9 @@ public:
zeroit(that._internal[i]);
}
}
friend void prefetch(iVector<vtype,N> &that){
for(int i=0;i<N;i++) prefetch(that._internal[i]);
}
friend void vstream(iVector<vtype,N> &out,const iVector<vtype,N> &in){
for(int i=0;i<N;i++){
vstream(out._internal[i],in._internal[i]);
@ -219,6 +225,11 @@ public:
zeroit(that._internal[i][j]);
}}
}
friend void prefetch(iMatrix<vtype,N> &that){
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
prefetch(that._internal[i][j]);
}
friend void vstream(iMatrix<vtype,N> &out,const iMatrix<vtype,N> &in){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){

View File

@ -107,7 +107,12 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
int ss = sss;
int ssu= sss;
<<<<<<< HEAD
//int ss = Stencil._LebesgueReorder[sss];
=======
//int ss = 0;
//int ss = Stencil._LebesgueReorder[sss];
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
// Xp
offset = Stencil._offsets [Xp][ss];
@ -125,6 +130,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Xp),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Yp));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
spReconXp(result,Uchi);
// Yp
@ -143,6 +152,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Yp),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Zp));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconYp(result,Uchi);
// Zp
@ -161,6 +174,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Zp),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Tp));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconZp(result,Uchi);
// Tp
@ -179,6 +196,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Tp),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Xm));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconTp(result,Uchi);
// Xm
@ -197,6 +218,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Xm),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Ym));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconXm(result,Uchi);
@ -216,6 +241,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Ym),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Zm));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconYm(result,Uchi);
// Zm
@ -234,6 +263,10 @@ void WilsonMatrix::Dhop(const LatticeFermion &in, LatticeFermion &out)
chi=comm_buf[offset];
}
mult(&Uchi(),&Umu._odata[ssu](Zm),&chi());
<<<<<<< HEAD
=======
prefetch(Umu._odata[ssu](Tm));
>>>>>>> 55ccb8ccf4aa6b9d6e36e71aa19f89db0463254f
accumReconZm(result,Uchi);
// Tm

View File

@ -257,7 +257,7 @@ friend inline void vstore(const vComplexD &ret, ComplexD *a){
assert(0);
#endif
}
friend inline void vprefetch(const vComplexD &v)
friend inline void prefetch(const vComplexD &v)
{
_mm_prefetch((const char*)&v.v,_MM_HINT_T0);
}

View File

@ -206,7 +206,7 @@ namespace Grid {
assert(0);
#endif
}
friend inline void vprefetch(const vComplexF &v)
friend inline void prefetch(const vComplexF &v)
{
_mm_prefetch((const char*)&v.v,_MM_HINT_T0);
}

View File

@ -190,7 +190,7 @@ namespace Grid {
out=in;
}
friend inline void vprefetch(const vInteger &v)
friend inline void prefetch(const vInteger &v)
{
_mm_prefetch((const char*)&v.v,_MM_HINT_T0);
}

View File

@ -191,7 +191,7 @@ namespace Grid {
assert(0);
#endif
}
friend inline void vprefetch(const vRealD &v)
friend inline void prefetch(const vRealD &v)
{
_mm_prefetch((const char*)&v.v,_MM_HINT_T0);
}

View File

@ -225,7 +225,7 @@ friend inline void vstore(const vRealF &ret, float *a){
}
friend inline void vprefetch(const vRealF &v)
friend inline void prefetch(const vRealF &v)
{
_mm_prefetch((const char*)&v.v,_MM_HINT_T0);
}