Linus Torvalds: „Dúfam, že AVX512 zomrie bolestivou smrťou“

Linus Torvalds napísal niekoľko príspevkov na fóre, kde diskutoval o svojej nechuti k mnohým inštrukčným sadám SIMD, ako aj o jeho nenávisti k benchmarkom FPU a všeobecne k AVX-512, 512-bitovým vektorovým rozšíreniam spoločnosti Intel. Linus, ako obvykle, na tomto neťahá absolútne žiadne údery. Tu je krátka vzorka :



Dúfam, že AVX512 zomrie bolestivou smrťou a že spoločnosť Intel začne opravovať skutočné problémy namiesto toho, aby sa snažila vytvárať magické pokyny, aby potom vytvorila kritériá, na ktorých môžu vyzerať dobre ...

Absolútne zničím referenčné hodnoty FP a uvedomujem si, že na iných ľuďoch záleží hlboko. Len si myslím, že AVX512 je presne nesprávna vec. Je to môj maznáčik. Je to ukážkový príklad niečoho, čo spoločnosť Intel urobila zle, čiastočne iba zvýšením fragmentácie trhu.



Torvalds pripúšťa vlastnú zaujatosť k tejto téme a dokonca v jednej chvíli odporúča zaujať vlastný názor s a štipka soli , Svoj argument však podložil niekoľkými pevnými bodmi rozhovoru, z ktorých jeden sa stretol s takmer univerzálnou dohodou: Kľúčovým problémom AVX-512 je spôsob fragmentácie podpory na celom trhu.



Vývojárom sa spravidla nepáči prepisovanie a ručné ladenie kódu pre konkrétne architektúry, zvlášť keď sa toto ručné ladenie bude vzťahovať iba na podmnožinu CPU určených na spustenie príslušnej aplikácie. Ak pracujete v oblasti HPC alebo strojového učenia, kde sú servery AVX-512 bežné, nejde o problém - ale to je štatisticky veľmi málo ľudí. Väčšina softvéru beží na širokej škále procesorov Intel, väčšina z nich nepodporuje AVX-512. Čím slabšia je podpora v celej produktovej rade Intel, tým menej dôvodov musia vývojári na prvom mieste prijať AVX-512.

Obrázok od Colfax Research

Ale problémy nie zastávka tam. Jedným z dôvodov, prečo sa vývojári môžu zdráhať používať AVX-512, je skutočnosť, že procesor je pri zapnutí tohto režimu silne frekvenčne zasiahnutý. Travis Downs napísal báječný hlboký ponor do toho, ako sa jednotka AVX-512 modelu Xeon W-2104 správa pri zaťažení.

Zistil, že okrem známeho poklesu výkonu v dôsledku zníženej frekvencie existuje aj malá ďalšia pokuta vo výške asi troch percent pri prepínaní do a z 512-bitového režimu vykonávania. To sa tiež zdá byť prípad, keď sa v jeho referenčných užitočných zaťaženiach používa AVX2, takže touto časťou pokuty môže byť to, že 2104 beží na 3,2 GHz (iné ako AVX Turbo), na 2,8 GHz (AVX2) a na 2,4 GHz pri vykonávaní AVX-512. K dispozícii je 12,5-percentná frekvencia zásahu z používania AVX2 na rozdiel od neho a 25-percentný trest za vyvolanie AVX-512.



Ale jeden z problémov s AVX-512 a dôvod, prečo môže znížiť výkon, je ten, že ľahké použitie AVX-512 nie je dobrý nápad. Keď aktivácia časti procesora vyžaduje, aby ste dosiahli 25-percentný kmitočtový zásah, posledná vec, ktorú by ste kedy chceli, je ľahký, ale dôsledný zásah do tohto bloku, jeho vyvolanie pre niekoľko výhodných použití, ktoré tak výrazne spomaľujú procesor, váš celkový čistý výkon je nižší, ako by to bolo pri AVX2, alebo dokonca bez AVX, v závislosti od scenára.

Torvalds ponorí sa do niektoré špecifické technické problémy, kvôli ktorým je AVX-512 zlá voľba, vrátane prípadu použitia „príležitostného použitia“, na ktorý je AVX-512 veľmi slabý. Ostatní v diskusii, ako napríklad David Kanter, popierajú myšlienku, že AVX-512 zle používa kremík, a poukazujú na to, že pokyny sú veľmi vhodné pre aplikácie AI a HPC. Otázka fragmentácie je však niečím, čo sa nikomu nepáči.

Z celého srdca súhlasím s tým, že fragmentácia poškodila AVX-512. Pretože priestor potrebný na jeho implementáciu je dosť veľký, nie je v zásade žiadny dôvod, aby ste ho niekedy pridávali k menším procesorovým jadrám ako Atom, ktoré zatiaľ nepodporujú ani AVX / AVX2. Pokiaľ ide o to, či nájde konkrétne použitie mimo aplikácií AI / ML / HPC, budeme si musieť počkať, kým spoločnosť Intel túto funkciu skutočne dodá na spotrebiteľských procesoroch.



Copyright © Všetky Práva Vyhradené | 2007es.com