MemSQL can make use of AVX2 instructions on Intel and Intel-compatible processors, both for improved performance for columnstore query processing, and to enable use of certain vector functions. You can check your system to see if it is supported if you are not sure.
Verifying AVX2 Instruction Set Support
If you want to verify if your system supports AVX2, check your processor specifications from the manufacturer or run
cat /proc/cpuinfo | grep avx2 to see if “avx2” (in lower case) is listed.
Some VM installations, including cloud installations, may not show “avx2” in
cpuinfo output but they still support AVX2.
If you want to definitively check if a node on your system supports AVX2, after installing MemSQL on that node, you can run a utility called
check_avx2 that is part of MemSQL.
For example, to locate it, you can do:
cd / sudo find . -name check_avx2 -print
You may see output like:
./var/lib/memsql/master-3306-MI7abac029/lib/check_avx2 ./var/lib/memsql/leaf-3308-MIae506559/lib/check_avx2 ./var/lib/memsql/leaf-3307-MIddea06c6/lib/check_avx2
The unique serial numbers and port numbers in this output may differ. Run any one of these check_avx2 executables (they are all the same). For example:
If it produces no output at all and does not produce an error, then the processor definitely supports AVX2. If it produces an error or otherwise fails, AVX2 is not supported.