8 votes

Utiliser le terminal OSX pour connaître le jeu d'instructions du processeur (AVX, SSE et autres).

J'ai plusieurs machines fonctionnant sous OSX 10.12 et 10.13, qui utilisent des processeurs différents. J'essaie d'obtenir du terminal une chaîne de caractères qui m'indique les instructions du processeur supportées par cette machine, afin que je puisse utiliser le logiciel approprié (certains logiciels nécessitent la présence d'instructions spécifiques sur le processeur, et si le processeur ne les supporte pas, le logiciel fonctionnera incorrectement ou se plantera).

J'ai essayé d'interroger le profileur du système via le terminal, mais je ne peux obtenir que le type et le modèle du CPU, pas le jeu d'instructions du CPU qu'il supporte ; et si je devais faire cela à la main, en obtenant chaque modèle de CPU et en vérifiant en ligne, cela prendrait des heures.

  • Les instructions du processeur sont un ensemble d'instructions telles que MMX, AVX, SSE, qui permettent à votre processeur de fonctionner d'une certaine manière. Au fil des ans, elles sont ajoutées au jeu d'instructions de base du CPU, de sorte que les CPU modernes supportent aujourd'hui plus de 15 types d'instructions différents.

6voto

LаngLаngС Points 7522

Entrer

sysctl -a | grep cpu.feat

obtenir une liste comme

machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0
machdep.cpu.feature_bits: 2286390173542120447

Alternativement (en évitant le grep et en étant beaucoup plus rapide, ce qui pourrait vous aider à exécuter ceci souvent dans un script)

sysctl machdep.cpu.features
sysctl machdep.cpu.features machdep.cpu.feature_bits

permet d'obtenir directement la liste (ou les deux).

Ou utilisez simplement : sysctl machdep.cpu pour les obtenir tous

4voto

Daniel Points 183

Pour prolonger Réponse de LangLangC Pour une raison ou une autre, AVX2 n'apparaît pas dans le tableau de bord. machdep.cpu.features mais dans une liste séparée : machdep.cpu.leaf7_features . Pour vérifier tous les drapeaux pris en charge, vous pouvez utiliser :

/usr/sbin/sysctl -n machdep.cpu.features machdep.cpu.leaf7_features

Le résultat est le suivant

FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
RDWRFSGS TSC_THREAD_OFFSET SGX BMI1 HLE AVX2 SMEP BMI2 ERMS INVPCID RTM FPU_CSDS MPX RDSEED ADX SMAP CLFSOPT IPT MDCLEAR TSXFA IBRS STIBP L1DF SSBD

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X