Podemos examinar /proc/cpuinfo
em máquinas Intel e ARM para aprender os recursos da CPU, como AES e SHA. Preciso fazer o mesmo para o PowerPC no AIX e Linux.
Os testes com Linux são mostrados abaixo. A saída é produzida pelo GCC112 no farm de compilação .
$ 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 é uma máquina Power 8. Eu deveria estar vendo sinalizadores como VMX, AES, SHA, PMULL, etc. O VMX é aproximadamente o equivalente do PowerPC ao Intel SSE e ARM NEON.
Eu encontrei algumas discussões relacionadas como / proc / cpuinfo em comp.os.linux.powerpc. Também encontrei O que verificamos em um novo sistema? , mas faltam detalhes úteis, como os recursos da CPU. Finalmente, há uma pergunta relacionada em O que significam os sinalizadores em / proc / cpuinfo? , mas não discute o PowerPC.
O GCC parece fornecer as informações aos programas C por meio do uso de built-ins . Por exemplo, há um vsx
teste e um vcrypto
teste. O problema é que estou trabalhando com um script Bash e não com um programa em C.
Também não sei o que usar para o AIX. O AIX está disponível no GCC119 no farm de compilação .
Como obtenho os recursos da CPU PowerPC no AIX e Linux?
lscpu
no Linux elscfg -v
no AIX.Respostas:
Não sei por que / proc / cpuinfo ou
lscpu
não revela informações sobre sinalizadores. Encontrei a lista de sinalizadores conhecidos pelo kernel do 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.9Acabei de descobrir que você pode procurar vetores auxiliares ELF, que mostrarão alguns recursos de hardware.
^^ seu AT_HWCAP terá informações de sinalização. Mascarado. Vi amostras na Internet que decodificaram essa entrada para você. Infelizmente, não tenho acesso ao hardware ppc para testar.
lscpu
deve estar disponível no AIX, talvez mostre sinalizadores de CPU?fonte