Comment savoir si une machine Linux prend en charge les instructions AVX / AVX2?
Je suis sur SUSE Linux Enterprise 10/11 machines. Je lance ma régressions à une batterie de machines fonctionnant avec des processeurs Intel. Certains de mes tests échouent parce que mes outils sont construits à l'aide d'une bibliothèque qui nécessite AVX/AVX2 de l'instruction de soutien. Je reçois un Illegal exception
erreur.
Sous Linux, est-il de toutes les commandes que je peux utiliser pour déterminer quel est le code de CPU/nom de famille?
Je crois AVX et AVX2 sont disponibles à partir de Intel SandyBridge et de la famille Haswell, respectivement.
source d'informationauteur user4979733
Vous devez vous connecter pour publier un commentaire.
Sur linux (ou unix) les informations sur votre processeur est en
/proc/cpuinfo
. Vous pouvez extraire l'information a partir de là par la main, ou avec une commande grep (grep flags /proc/cpuinfo
).Aussi la plupart des compilateurs automatiquement définir
__AVX2__
de sorte que vous pouvez vérifier que trop.Exécuter cette commande:
Ou
Cela vous donnera:
Vous pouvez tester la disponibilité des jeux d'instruction SIMD et d'autres fonctions du CPU en examinant
/proc/cpuinfo
par exempleVous pouvez également exécuter
lscpu
et consultez la liste des instructions à la fin.