Comment déterminer les fonctionnalités du processeur sur PowerPC et Power 8 (et supérieur)?

12

Nous pouvons examiner /proc/cpuinfosur les machines Intel et ARM pour apprendre les fonctionnalités du processeur, comme AES et SHA. Je dois faire de même pour PowerPC sous AIX et Linux.

Les tests avec Linux sont présentés ci-dessous. La sortie est produite par GCC112 sur la batterie de compilation .

$ cat /proc/cpuinfo
processor       : 0
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)
...

processor       : 159
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)

timebase        : 512000000
platform        : PowerNV
model           : 8247-22L
machine         : PowerNV 8247-22L
firmware        : OPAL v3

GCC112 est une machine Power 8. Je devrais voir des drapeaux comme VMX, AES, SHA, PMULL, etc. VMX est à peu près l'équivalent PowerPC à Intel SSE et ARM NEON.

J'ai trouvé des discussions connexes comme / proc / cpuinfo sur comp.os.linux.powerpc. J'ai également trouvé Que vérifions-nous sur un nouveau système? , mais il manque des détails utiles comme les fonctionnalités du processeur. Enfin, il y a une question connexe sur Que signifient les indicateurs dans / proc / cpuinfo? , mais il ne traite pas de PowerPC.

GCC semble fournir les informations aux programmes C grâce à son utilisation de modules intégrés . Par exemple, il y a un vsxtest et un vcryptotest. Le problème est que je travaille à partir d'un script Bash et non d'un programme C.

Je ne sais pas non plus quoi utiliser pour AIX. AIX est disponible sur GCC119 sur la batterie de compilation .

Comment obtenir les fonctionnalités du processeur PowerPC sous AIX et Linux?


la source
6
Vous pouvez obtenir des informations lscpusur Linux et lscfg -vsur AIX.
meuh
Merci @meuh - Pas de joie. Sortie disponible sur les informations du processeur PowerPC .
1
Je ne connais pas ARM, mais SSE est une extension facultative sur x86, alors que tout ce que vous avez mentionné pour POWER est requis par toutes les puces POWER8
Fox
Je pense que nous avons couvert le cas Linux à stackoverflow.com/questions/46144668/… , voulez-vous éditer celui-ci pour être plus spécifique à AIX?
Jeremy Kerr

Réponses:

3

Je ne sais pas pourquoi / proc / cpuinfo ou lscpune révèle pas d'informations sur les drapeaux. J'ai trouvé la liste des drapeaux connus du noyau linux https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/powerpc/include/asm/ cputable.h? id = refs / tags / v4.9

Je viens de découvrir que vous pouvez rechercher des vecteurs auxiliaires ELF qui vous montreront certaines capacités matérielles.

$ LD_SHOW_AUXV=1 /bin/true
AT_SYSINFO_EHDR: 0x7ffdcd0e6000
AT_HWCAP:        bfebfbff
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x5591e6663040
AT_PHENT:        56
AT_PHNUM:        9
AT_BASE:         0x7f2ae4f79000
AT_FLAGS:        0x0
AT_ENTRY:        0x5591e6664670
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ffdcd044399
AT_HWCAP2:       0x0
AT_EXECFN:       /bin/true
AT_PLATFORM:     x86_64

^^ votre AT_HWCAP aura des informations de drapeau. Masqué. J'ai vu des exemples sur Internet qui ont décodé cette entrée pour vous. Je n'ai malheureusement pas accès au matériel ppc pour tester.

lscpu devrait être disponible sur AIX, peut-être qu'il afficherait des drapeaux CPU?

Pedro
la source