Diit.cz - Novinky a informace o hardware, software a internetu

Vývojáři FFmpeg implementovali AVX-512, přináší až 60% zrychlení proti AVX2

Zdroj: Intel

Autoři otevřeného projektu FFmpeg prostřednictvím ruční práce v assembleru implementovali podporu pro moderní instrukční sady včetně AVX-512. Demonstrovali až 94násobné zrychlení oproti základu…

Současné high-level programovací jazyky a pokročilé kompilátory umožňují zrychlení a zjednodušení vzniku softwaru, na druhé straně mohou produkovat ne zcela efektivní kód, který nedokáže z hardwaru vytěžit jeho úplný výkonnostní potenciál. Alternativou může být cesta ručních optimalizací a assembleru, ovšem ta má daleko vyšší časové a perzonální nároky. Aby v ní navíc autor viděl smysl, musí mít skutečně hmatatelný přínos.

V případě podpory AVX-512 je tento smysl definovaný mimo jiné hardwarovou základnou, která tuto instrukční sadu podporuje. Přestože Intel ohlásil podporu AVX-512 již v roce 2013 a kompatibilní hardware byl dostupný 2016, zůstala podpora velmi dlouho roztříštěná co do segmentů trhu i konkrétních variant instrukční sady na různém hardwaru, takže motivace autorů softwaru k využití AVX-512 nebyla velká.

AMD se s architekturou Zen 4 podařilo zajistit podporu AVX-512 ve všech segmentech, do kterých se tato architektura dostala (tzn. mobilního, desktopového, pracovních stanic, serverů, superpočítačů, handheld…). Další generace v podobě Zen 5 nejen že podporu v tomto rozsahu zachovala, ale přinesla podporu zpracování AVX-512 v plné rychlosti a to i na menších úsporných jádrech Zen 5c.

Výkon s použitím různých instrukčních sad (FFmpeg)

Tato strategie, zdá se, funguje a softwaru podporujícího AVX-512 (i mimo segment serverů a superpočítačů) přibývá. FFmpeg demonstroval, že kvalitní podpora AVX-512 může oproti základnímu kódu v C přinést 4-94násobné zrychlení (v průměru 52×), oproti SSE3 až 2,35× (v průměru 2,08×) a oproti AVX2 až 60 % zrychlení (v průměru o 28 %).

V případě procesorů AMD podporují AVX-512 všechny produkty využívající architektur Zen 4 a Zen 5. V případě Intelu je AVX-512 na PC procesorech podporováno na mobilních procesorech Cannon Lake (tj. dvoujádrové Core i3-8121U), Ice Lake (Core 1000) a Tiger Lake (Core 1100) a desktopovém Rocket Lake (Core 11000). Alder Lake (Core 12000), Raptor Lake-(refresh) (Core 13000/14000), Arrow Lake (Core Ultra 200H/K) a Lunar Lake (Core Ultra 200V) tuto instrukční sadu oficiálně nepodporují, byť po hardwarové stránce jsou velká jádra potřebnými tranzistory vybavena.

Tagy: 
Zdroje: 

Diskuse ke článku Vývojáři FFmpeg implementovali AVX-512, přináší až 60% zrychlení proti AVX2

Čtvrtek, 7 Listopad 2024 - 11:48 | Gath G | Samozřejmě že ZÁKLADEM pro srovnání je skalární...
Středa, 6 Listopad 2024 - 21:56 | Tom M. | Sice me osobne je nejake AVX volne, ale FFMPEG je...
Středa, 6 Listopad 2024 - 21:08 | David Ježek | K předřečníkům výše: nadpis článku hlkásá "až 60...
Středa, 6 Listopad 2024 - 19:56 | Puf a Muf | U SIMD instrukčních sad je problém s tím, že...
Středa, 6 Listopad 2024 - 16:54 | Tosuja | Mne to prijde nejake podezrele. Pokrocile...
Středa, 6 Listopad 2024 - 13:41 | Ondoň | Kyselé hrozny...
Středa, 6 Listopad 2024 - 12:42 | mp07 | Titulek: ...AVX-512, přináší až 60% zrychlení...
Středa, 6 Listopad 2024 - 12:08 | peca | No, ale to my co čteme premium víme. Tam je to...
Středa, 6 Listopad 2024 - 11:38 | melkor | Tím hůř. Pro Wokna. Nějak mne to netrápí....
Středa, 6 Listopad 2024 - 11:36 | melkor | ".. ja v premiu vidim srovnani proti sse3 i...

Zobrazit diskusi