Procesorů s AVX512 je na trhu hromada.
Vše od AMD s architekturou ZEN 4 a lépe ZEN 5.
Takže
Ryzen 7000 a 9000
APU Ryzen 8000G (Takže vše co pasuje do AM5 socketu.)
Threadripper 7000
EPYC 8004 a 9004
AVX512 má i úsporný ZEN 4c.
Nové produkty s AVX512 také počítají.
Takže nehrozí regrese jako u intelu.
Frekvence Phoronix naměřil stejné.
https://www.phoronix.com/review/amd-epyc-9755-avx512/7
Chápu že pro BSD jsou to příliš nové procesory takže se jim vyplatí babrat se starou a pomalou SHA-NI.
4. 5. 2025, 09:03 editováno autorem komentáře
Chápu že pro BSD jsou to příliš nové procesory takže se jim vyplatí babrat se starou a pomalou SHA-NI.
Zas jaké BSD.. OpenBSD je dost specifický systém, který má, eufemisticky řečeno, rychlost a škálovatelnost jako jednu z nížších priorit. FreeBSD, které je prakticky mnohem rozšířenější, používá normální upstream OpenSSL.
A ani tam se nepoužívá AVX-512, multi-buffer varianta má optimalizace pro AVX-2 (pakliže se nepoužije mb crypto knihovna od Intelu).
Další věc je, že dedikované instrukce z SHA-NI a nejnovější SHA-512 mají pořád své místo (krátké malé bloky s nejmenší latencí), proto je AVX implementace primárně v tom multi-bufferu.
LibreSSL tímhle spíš jen dohání desetileté zpoždění, protože ty ASM optimalizace pro nové instrukce přicházely do OpenSSL potom, co to forknuli.
Stejně jako s OpenBSD, je LibreSSL spíš fakt niche. V určité fázi na to přešlo hromadně spousty projektů, pak řešili, že se pořád měnilo ABI i mezi minor verzemi, tak se zas vrátili. Teď to nakonec používá v systému tedy OpenBSD a možná ještě Alpine z těch rozšířenějších, jinak o ničem dalším moc nevím..
Tady je trochu podobné jako u toho hashování, OpenSSL umí použít obě varianty (AES-NI i VAES z AVX-512) s preferencí pro VAES, pokud CPU podporuje oboje.
U těch paralelizovatelných variant (např. GCM), to s větší délkou bloku (16k) může být až dvojnásobný počet bloků/s, aspoň když jsem si to zkoušel na Xeonu s AVX-512, naopak u těch nejkratších bloků je to pak třeba okolo 15-20%.
Dá se to docela jednoduše otestovat s maskováním přes syt. proměnnou.
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/2030784/comments/4
Podobně to bylo relativně nedávno, když ty VAES optimalizované varianty přidali do crypto funkcí v jádře.
https://www.phoronix.com/news/Linux-6.11-Crypto
Není zač. Jinak vektorové jednotky jsou také v každém jádře, krom možná nějakých historických výjimek (Bulldozer myslím měl 1:2 sdílení).
Co to udělá s frekvencemi při využívání AVX pak záleží na konkrétním CPU. Taky máš pravdu, že typický workload není pouze (de)šifrování nebo hashování jako při syntetickém benchmarku, takže tam určitě může sehrát roli to, co pak dělá a využívá zbytek aplikace, ostatní vlákna, procesy. Ta interakce bude komplexnější a nedá se úplně předpokládat, že tam je automaticky nárůst výkonu v přesné proporci s těmi benchmarky.
Další věc je, jestli je to v daném momentě i s tou pomalejší implementací opravdu bottleneck a celkový výkon nebrzdí provádění jiných částí aplikace. Což už je ale opravdu na konkrétní ozkoušení a případně nějaké profilování.
Ale throttling neni vysadou AVX512 - omezeni frekvenci nastavalo uz v dobe Haswellu s AVX2, pak prisel Broadwell s tim, ze se snizuje frekvence jen na jadrech kde bez avx kod (na HSW to snizilo frekvence na vsech jadrech procesoru, tj klidne vsech 18 jadrech xeonu, kdyz tam bylo byt jedine vlakno s avx).
AMD s tim problem ma taky, jen je treba chapat implementaci.
Intel dropne frekvence staticky pri pouziti prvni instrukce - aby se to veslo do spolehlivosti, ale uzivatel pak prestane avx pouzivat protoze kod neni tak hustej a doba navratu na vyssi frekvence je delsi. To neni chyba intelu, ale kodu. U intelu je to rekneme featura a vi se o ni. Pro HPC a hustej kod je to cajk.
AMD tu frekvenci ridi po mensich segmentech a dokud AVX kod dostatecne nezhoustne tak to snizeni neni znatelne. Tohle je lepsi implementace.
Viz detailni chovani napr zde (Pro zen5, u Zen4 to bude vice marny a podobne intelu):
https://chipsandcheese.com/p/zen-5s-avx-512-frequency-behavior
Apropo - Zen4/5 jsou 2022/2024, zatimco intel mel cast AVX512 uz od roku 2017. To nemuzete porovnat pak takhle pres pul dekady vyvoje. Ref:
https://en.wikipedia.org/wiki/AVX-512#CPUs_with_AVX-512