From 3ce10aa97592c412e22ce51c1ace479f9a0f4357 Mon Sep 17 00:00:00 2001 From: paboyle Date: Thu, 10 Dec 2015 22:55:00 +0000 Subject: [PATCH] Fix a regression failure on Mobius; chroma regression added --- benchmarks/Benchmark_dwf.cc | 8 ++--- benchmarks/Benchmark_wilson.cc | 8 ++--- configure.ac | 16 +++++++++ lib/Config.h.in | 3 ++ lib/Make.inc | 4 +-- lib/PerfCount.cc | 4 +++ lib/PerfCount.h | 1 + lib/Simd.h | 3 +- lib/qcd/action/fermion/CayleyFermion5D.cc | 5 ++- lib/qcd/action/fermion/WilsonKernels.cc | 21 +++++++++--- lib/qcd/action/fermion/WilsonKernels.h | 31 +++--------------- lib/qcd/action/fermion/WilsonKernelsHand.cc | 36 +++++++++++++++++++-- lib/simd/Grid_avx.h | 5 +-- scripts/filelist | 22 +++++++++++-- tests/Make.inc | 10 ++++-- tests/Makefile.am | 7 ++++ tests/Test_cayley_cg.cc | 3 +- tests/Test_dwf_even_odd.cc | 2 +- 18 files changed, 132 insertions(+), 57 deletions(-) diff --git a/benchmarks/Benchmark_dwf.cc b/benchmarks/Benchmark_dwf.cc index f86fd072..1c871e72 100644 --- a/benchmarks/Benchmark_dwf.cc +++ b/benchmarks/Benchmark_dwf.cc @@ -68,11 +68,11 @@ int main (int argc, char ** argv) for(int mu=0;mu namespace Grid { + #define CacheControl(L,O,R) ((PERF_COUNT_HW_CACHE_##L)|(PERF_COUNT_HW_CACHE_OP_##O<<8)| (PERF_COUNT_HW_CACHE_RESULT_##R<<16)) + const PerformanceCounter::PerformanceCounterConfig PerformanceCounter::PerformanceCounterConfigs [] = { +#ifdef __linux__ { PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES , "CPUCYCLES.........." }, { PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS , "INSTRUCTIONS......." }, { PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES , "CACHE_REFERENCES..." }, @@ -23,6 +26,7 @@ const PerformanceCounter::PerformanceCounterConfig PerformanceCounter::Performan { PERF_TYPE_HW_CACHE, CacheControl(LL,PREFETCH,ACCESS) , "LL_PREFETCH_ACCESS."}, { PERF_TYPE_HW_CACHE, CacheControl(L1I,READ,MISS) , "L1I_READ_MISS......"}, { PERF_TYPE_HW_CACHE, CacheControl(L1I,READ,ACCESS) , "L1I_READ_ACCESS...."} +#endif // { PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND, "STALL_CYCLES" }, }; } diff --git a/lib/PerfCount.h b/lib/PerfCount.h index c379639d..49a73fe6 100644 --- a/lib/PerfCount.h +++ b/lib/PerfCount.h @@ -30,6 +30,7 @@ static long perf_event_open(struct perf_event_attr *hw_event, pid_t pid, class PerformanceCounter { private: + typedef struct { public: uint32_t type; diff --git a/lib/Simd.h b/lib/Simd.h index 42d5e74c..3aaefddd 100644 --- a/lib/Simd.h +++ b/lib/Simd.h @@ -11,7 +11,6 @@ // Vector types are arch dependent //////////////////////////////////////////////////////////////////////// -typedef uint32_t Integer; #define _MM_SELECT_FOUR_FOUR(A,B,C,D) ((A<<6)|(B<<4)|(C<<2)|(D)) #define _MM_SELECT_EIGHT_TWO(A,B,C,D,E,F,G,H) ((A<<7)|(B<<6)|(C<<5)|(D<<4)|(E<<3)|(F<<2)|(G<<4)|(H)) @@ -20,6 +19,8 @@ typedef uint32_t Integer; namespace Grid { + typedef uint32_t Integer; + typedef float RealF; typedef double RealD; #ifdef GRID_DEFAULT_PRECISION_DOUBLE diff --git a/lib/qcd/action/fermion/CayleyFermion5D.cc b/lib/qcd/action/fermion/CayleyFermion5D.cc index 39d04492..367e57dd 100644 --- a/lib/qcd/action/fermion/CayleyFermion5D.cc +++ b/lib/qcd/action/fermion/CayleyFermion5D.cc @@ -114,7 +114,7 @@ namespace QCD { // Apply Dw this->DW(psi,Din,DaggerYes); - Meooe5D(Din,chi); + MeooeDag5D(Din,chi); int Ls=this->Ls; for(int s=0;s