diff --git a/benchmarks/Benchmark_meson_field.cc b/benchmarks/Benchmark_meson_field.cc index aa2dbd0a..566c32dc 100644 --- a/benchmarks/Benchmark_meson_field.cc +++ b/benchmarks/Benchmark_meson_field.cc @@ -223,13 +223,11 @@ void sliceInnerProductMesonFieldGamma(std::vector< std::vector > &mat, for(int b=0;b > &mat, int lt = t % ld; for(int i=0;i_processor_coor[orthogdim]){ - int ij_dx = i + Lblock * j + Lblock * Rblock * lt; - mat[i+j*Lblock][t] = lsSum[ij_dx]; + int ij_dx = mu+i*Ngamma+Ngamma*Lblock*j+Ngamma*Lblock*Rblock* lt; + mat[mu+i*Ngamma+j*Lblock*Ngamma][t] = lsSum[ij_dx]; } else{ - mat[i+j*Lblock][t] = scalar_type(0.0); + mat[mu+i*Ngamma+j*Lblock*Ngamma][t] = scalar_type(0.0); } - }} + }}} } std::cout << GridLogMessage << " Done "< > &mat auto right = rhs[j]._odata[ss]; for(int s1=0;s1 > &mat lvSum[idx]=lvSum[idx]+vv; } + } } } } - } std::cout << GridLogMessage << " Entering second parallel loop "< > &mat for(int j=0;j_processor_coor[orthogdim]){ int ij_dx = i + Lblock * j + Lblock * Rblock * lt; - for(int mu=0;mu Gmu4 ( { Gamma::Algebra::GammaT }); std::vector Gmu16 ( { - Gamma::Algebra::GammaX, - Gamma::Algebra::GammaY, - Gamma::Algebra::GammaZ, + Gamma::Algebra::Gamma5, Gamma::Algebra::GammaT, + Gamma::Algebra::GammaTGamma5, Gamma::Algebra::GammaX, + Gamma::Algebra::GammaXGamma5, Gamma::Algebra::GammaY, + Gamma::Algebra::GammaYGamma5, Gamma::Algebra::GammaZ, - Gamma::Algebra::GammaT, - Gamma::Algebra::GammaX, - Gamma::Algebra::GammaY, - Gamma::Algebra::GammaZ, - Gamma::Algebra::GammaT, - Gamma::Algebra::GammaX, - Gamma::Algebra::GammaY, - Gamma::Algebra::GammaZ, - Gamma::Algebra::GammaT + Gamma::Algebra::GammaZGamma5, + Gamma::Algebra::Identity, + Gamma::Algebra::SigmaXT, + Gamma::Algebra::SigmaXY, + Gamma::Algebra::SigmaXZ, + Gamma::Algebra::SigmaYT, + Gamma::Algebra::SigmaYZ, + Gamma::Algebra::SigmaZT }); int main (int argc, char ** argv) @@ -507,6 +506,7 @@ int main (int argc, char ** argv) std::vector v(Nm,&Grid); std::vector w(Nm,&Grid); + std::vector gammaV(Nm,&Grid); for(int i=0;i > MesonFields (Nm*Nm); std::vector > MesonFields4 (Nm*Nm*4); std::vector > MesonFields16 (Nm*Nm*16); + std::vector > MesonFields161(Nm*Nm*16); std::vector > MesonFieldsRef(Nm*Nm); - for(int i=0;i