The following options can be used for --enable-simd= flag to target different SIMD instruction sets:

<code> Description
GEN generic portable vector code
SSE4 SSE 4.2 (128 bit)
AVX AVX (256 bit)
AVXFMA AVX (256 bit) + FMA
AVXFMA4 AVX (256 bit) + FMA4
AVX2 AVX 2 (256 bit)
AVX512 AVX 512 bit
NEONv8 ARM NEON (128 bit)
QPX QPX (256 bit)

Alternatively, some CPU codenames can be directly used:

<code> Description
KNL Intel Xeon Phi codename Knights Landing
SKL Intel Skylake with AVX512 support
BGQ Blue Gene/Q

Notes (Jan 2018):

  • We currently support AVX512 for the Intel compiler and GCC (KNL and SKL target). Support for clang will appear in future versions of Grid when the AVX512 support in the compiler is more advanced.
  • For BG/Q only bgclang is supported. We do not presently plan to support more compilers for this platform.
  • BG/Q performances are currently rather poor. This is being investigated for future versions.
  • The vector size for the GEN target can be specified with the configure script option --enable-gen-simd-width.