AMD a Intel chtějí spojit optimalizace pro běh PyTorche na x86 procesorech v open-source knihovně oneDNN. AMD do ní plánuje začlenit vylepšení ze svého projektu ZenDNN. Cílem je nabídnout vývojářům společnou softwarovou cestu pro procesory obou výrobců. Oznámení zatím neobsahuje termín dokončení ani výsledky výkonnostních testů.
2
3
18
Jedna knihovna místo oddělených cest
Firmy po doporučení poradní skupiny x86 Ecosystem Advisory Group zvolily oneDNN jako výchozí open-source knihovnu pro akceleraci x86 v PyTorchi. AMD plánuje převést do ní optimalizace ZenDNN, ale zároveň bude dál ladit software pro své vlastní procesory.
2
18
Smyslem změny je usnadnit vývoj a optimalizaci úloh PyTorche napříč procesory AMD a Intel, aby vývojáři nemuseli spravovat oddělené softwarové cesty pro každého výrobce. Jeff McVeigh z Intelu tento záměr popsal jako možnost využít výkon x86 CPU bez nutnosti řešit různé cesty zvlášť.
1
Zveřejněné informace nepopisují podrobná technická kritéria, podle kterých poradní skupina doporučila právě oneDNN. Společná knihovna má podle oznámení především zjednodušit vývoj a omezit roztříštěnost.
1
2
Co se změní pro ZenDNN a správu oneDNN
Intel začal oneDNN vyvíjet; dnes knihovnu spravuje nadace Unified Acceleration Foundation (UXL). ZenDNN je knihovna s optimalizacemi pro architekturu Zen od AMD. Plánované začlenění přenese tuto práci do společného projektu, neznamená však konec ladění specifického pro jednotlivé procesory.
2
6
13
18
AMD se také připojilo k UXL jako řídicí člen. Získává tak roli při správě nadace, dostupné zdroje ale neupřesňují jeho hlasovací práva ani konkrétní dopad na rozhodování o projektu.
2
9
Termín i přínos zatím zůstávají otevřené
Firmy nezveřejnily, kdy bude integrace ZenDNN dokončena, které vydání PyTorche ji přinese ani pro jakou verzi oneDNN je určena. Neoznámily ani naměřené zvýšení výkonu.
3
4
AMD a Intel plánují také budoucí aktualizace oneDNN s podporou AI Compute Extensions (ACE), navržených k urychlení násobení matic. Předběžná verze oneDNN 3.14 už obsahuje počáteční podporu instrukcí ACE, ve výchozím nastavení je však vypnutá. Uživatelé ji musí zapnout proměnnou prostředí ONEDNN_MAX_CPU_ISA=AVX10_2_ACE. Tato podpora v předběžné verzi sama o sobě neříká, kdy budou ACE dostupné prostřednictvím PyTorche.
7
10
Pro vývojáře je tedy podstatná plánovaná společná knihovna a integrační cesta, nikoli změna, která by už byla zavedena ve všech instalacích PyTorche. Kdy se plán uskuteční a jaký přinese výkon, zatím není známo.