Je lis le document this sur la façon de compiler le code C/C++ en utilisant le compilateur Intel C++ et le support AVX512 sur Intel Knights Landing.Confusion à propos de la compilation avec AVX512
Cependant, je suis un peu confus au sujet de cette partie:
-xMIC-AVX512: utiliser cette option pour générer AVX-512f, AVX-512CD, AVX-512ER et AVX-512FP. -xCORE-AVX512: utilisez cette option pour générer AVX-512F, AVX-512CD, AVX-512BW, AVX-512DQ et AVX-512VL. Par exemple, pour générer des instructions Intel AVX-512 pour le processeur Intel Xeon Phi x200, vous devez utiliser l'option -xMIC-AVX512. Pour exemple, sur un système Linux
$ icc de application.c -xMIC-AVX512 Cette option du compilateur est utile lorsque vous voulez construire un énorme binaire pour le processeur Intel Xeon Phi X200. Au lieu de construire sur le coprocesseur où il faudra plus temps, construire sur une machine à base de processeur Intel Xeon
Mon Xeon Phi KNL ne dispose pas d'un coprocesseur (Pas besoin de ssh micX ou compiler avec le drapeau -mmic
). Cependant, je ne comprends pas s'il est préférable d'utiliser le -xMIC
ou -xCORE
?
En second lieu sur les -ax
au lieu de -x
:
Cette option du compilateur est utile lorsque vous essayez de construire un binaire qui peut fonctionner sur plusieurs plates-formes.
Ainsi -ax
est utilisé pour le support multi-plateforme, mais est-il une différence de performance comapred à -x
?
'-xCORE' ne fonctionnera pas sur KNL, car il ne prend pas en charge AVX-512BW, AVX-512DQ et AVX-512VL. –