Skip to content

Targeting Cluster Architectures

While all HPCC nodes are the x86_64 architecture, some newer processors have features that are not supported by older processors. A program compiled on a newer processor may not run on an older processor and may result in an 'Illegal Instruction' error. This can be corrected by specifying compilers parameters that control which processor instruction are used.

Use the following options for your compiler to ensure your programs will run on all HPCC nodes.

Compiler Type Min Version Max Version Arguments
GCC 6.4 N/A -march=core-avx-i -mtune=skylake-avx512
GCC 4.9 \< 6.4 -march=core-avx-i -mtune=silvermont
GCC 4.8 \< 4.9 -march=core-avx-i -mtune=core-avx2
GCC 4.6 \< 4.8 -march=core-avx-i
GCC 4.3 \< 4.6 -march=core2
GCC 3.3 \< 4.3 -march=nocona
Intel 2015.1 N/A -mAVX -axCORE-AVX-I,CORE-AVX2,CORE-AVX512

The new amd20 cluster does not support AVX-512.