För att kontrollera om ditt Linux-system stöder AVX och AVX2-instruktioner kan du använda följande metoder från kommandoraden:
Vad är AVX?
AVX står för Advanced Vector Extensions och är en uppsättning instruktionsutökningar till x86-arkitekturen för mikroprocessorer från Intel och AMD. AVX introducerar 256-bitars breda vektorregister och instruktioner som kan utföra parallella operationer på 256-bitars vektorer av data. Detta förbättrar SIMD-kapabiliteter och möjliggör betydande prestandaförbättringar för applikationer som kan utnyttja vektorbehandling.
AVX2, en utökning av AVX, introducerades 2013 och tillför ytterligare instruktioner och funktionalitet. Dessa vektorförlängningar är särskilt användbara i arbetsbelastningar som involverar tung dataparallellism, såsom bild- och videobehandling, fysiksimuleringar, kryptografi och djupinlärning.
Kontrollera CPU-information
För att ta reda på om ditt Linux-system stöder AVX och/eller AVX2-instruktioner kan du kontrollera utdata från filen /proc/cpuinfo
eller använda grep
-kommandot:
$ grep -o 'avx[^ ]*' /proc/cpuinfo
Detta kommando skriver ut avx
och/eller avx2
(upprepat för varje CPU-kärna) om din CPU stöder dessa instruktionsuppsättningar.
Exempel på utdata:
avx
avx2
avx512f
avx512dq
avx512ifma
avx512cd
avx512bw
avx512vl
avx512vbmi
avx512_vbmi2
avx512_vnni
avx512_bitalg
avx512_vpopcntdq
avx512_vp2intersect
[...]
Du kan också använda följande grep-kommandovarianter för att kontrollera om din CPU stöder AVX och AVX2-instruktioner:
$ grep --color=always -i 'avx' /proc/cpuinfo
Alternativt kan du söka upp specifikationerna för din CPU-modell online. De flesta moderna CPU:er från Intel (sedan Sandy Bridge 2011) och AMD (sedan Bulldozer 2011) stöder AVX, och senare generationer stöder också AVX2.