diff --git a/Grid_Cartesian.h b/Grid_Cartesian.h index 03044bdd..488d47e9 100644 --- a/Grid_Cartesian.h +++ b/Grid_Cartesian.h @@ -108,9 +108,8 @@ public: for(int d=0;d<_ndimension;d++){ _dimensions[d] = dimensions[d]; _layout[d] = layout[d]; - // Use a reduced simd grid - _rdimensions[d]= _dimensions[d]/_layout[d]; + _rdimensions[d]= _dimensions[d]/_layout[d]; //<-- _layout[d] is zero _osites *= _rdimensions[d]; _isites *= _layout[d]; diff --git a/Grid_config.h b/Grid_config.h index b882917d..b3833326 100644 --- a/Grid_config.h +++ b/Grid_config.h @@ -2,10 +2,10 @@ /* Grid_config.h.in. Generated from configure.ac by autoheader. */ /* AVX */ -#define AVX1 1 +/* #undef AVX1 */ /* AVX2 */ -/* #undef AVX2 */ +#define AVX2 1 /* AVX512 */ /* #undef AVX512 */ diff --git a/Grid_main.cc b/Grid_main.cc index a3ef32c8..33dfc37b 100644 --- a/Grid_main.cc +++ b/Grid_main.cc @@ -46,12 +46,19 @@ int main (int argc, char ** argv) simd_layout[2] = 2; simd_layout[3] = 2; #endif -#ifdef AVX1 +#if defined (AVX1)|| defined (AVX2) simd_layout[0] = 1; simd_layout[1] = 1; simd_layout[2] = 2; simd_layout[3] = 2; #endif +#if defined (SSE2) + simd_layout[0] = 1; + simd_layout[1] = 1; + simd_layout[2] = 1; + simd_layout[3] = 2; +#endif + GridCartesian Fine(latt_size,simd_layout); GridRedBlackCartesian rbFine(latt_size,simd_layout);