Intel oneAPI ako otvorená cesta pre paralelné výpočty. Konkurencia pre NVIDIA CUDA ?

Intel dlhé roky staval svoj výkon najmä na procesoroch. Až príchod architektúry Xe a rodiny akcelerátorov Ponte Vecchio a následne nadchádzajúcej generácie Battlemage ukázal, že firma chce naplno vstúpiť aj do oblasti paralelných výpočtov riadených grafickými kartami. Aby to dokázala bez toho, aby kopírovala uzavretý model CUDA, vytvorila platformu Intel oneAPI. Ide o ekosystém, ktorý má prepojiť výkon procesorov, grafických kariet aj špecializovaných akcelerátorov do jedného zjednoteného programovacieho modelu. Intel stavil na otvorené štandardy, aby vývojári neboli viazaní na jednu značku alebo architektúru.

Intel oneAPI vzniklo s jednoduchým cieľom. Vývojár má napísať program iba raz a ten program má následne bežať na rôznych typoch hardvéru, bez ohľadu na to, či ide o procesor, grafickú kartu alebo výpočtový akcelerátor. Tento model stojí na technológii SYCL, ktorá rozširuje C++ o paralelný výpočtový model a umožňuje prekladať rovnaký kód pre rôzne výpočtové čipy – pokiaľ ich daná platforma SYCL podporuje. Intel tým vytvoril možnosť využívať GPU podobne ako pri NVIDIA CUDA alebo ROCm od spoločnosti AMD, ale s výhodou, že celý ekosystém stojí na otvorenom štandarde spravovanom skupinou Khronos Group.

Diagram ekosystému Intel oneAPI s AI nástrojmi, HPC knižnicami a SYCL programovaním.
Prehľad softvérových nástrojov a knižníc v ekosystéme Intel oneAPI – od AI a HPC toolkitu až po výkonové knižnice a SYCL programovanie. Zdroj – Intel

oneAPI ako základ výpočtového softvéru Intelu

Intel oneAPI tvorí hlavnú softvérovú vrstvu, ktorá riadi výpočty na hardvéri. Táto platforma poskytuje kompilátory, optimalizácie, knižnice pre vedecké výpočty, nástroje pre umelú inteligenciu a celý runtime systém. Umožňuje tvoriť aplikácie, ktoré sa automaticky prispôsobia dostupnému hardvéru. Keď vývojár použije Intel oneAPI, nemusí riešiť, či kód pobeží na CPU, integrovanej GPU, dedikovanej Arc karte alebo akcelerátore v dátovom centre. Softvér sa postará o to, aby sa výpočty rozdelili podľa konkrétnych možností systému.

SYCL pritom zohráva rolu paralelného programovacieho modelu. Umožňuje vývojárovi pracovať s vláknami, výpočtovými blokmi a dátovými štruktúrami, ktoré GPU potrebuje na masívny paralelizmus. SYCL tým plní podobnú úlohu, akú má CUDA API v ekosystéme NVIDIA, no s výhodou, že nejde o uzavretý systém. Vývojár môže písať rovnaký program pre rôzne značky GPU, pokiaľ používajú vlastnú implementáciu SYCL, a systém sa postará o detaily implementácie.

Migrácia CUDA aplikácií do Intel oneAPI pomocou DPC++ Compatibility Tool – kroky konverzie kódu a optimalizácie výkonu.
Proces migrácie CUDA aplikácie do Intel oneAPI pomocou nástroja DPC++ Compatibility Tool. Obrázok ukazuje tri hlavné kroky: analýzu CUDA kódu, asistovanú migráciu do SYCL/DPC++ a následnú optimalizáciu výkonu pre hardvérové ciele.

Xe jadrá ako hardvérový základ grafických výpočtov

Hardvérovú stránku zabezpečuje architektúra Xe. Tá obsahuje výpočtové jednotky, ktoré Intel označuje ako Execution Units alebo v novších generáciách ako Xe Cores. Každá z týchto jednotiek vykonáva paralelné výpočty podobným spôsobom, aký používajú CUDA jadrá u NVIDIE alebo stream procesory u AMD. Výkon vzniká až v momente, keď stovky až tisíce Xe jadier pracujú naraz a spracovávajú množstvo dát súčasne.

Intel zároveň dopĺňa túto architektúru o špecializované výpočtové jednotky. XMX jadrá urýchľujú prácu s maticami a výpočtami, ktoré tvoria základ väčšiny moderných AI modelov. Táto kombinácia univerzálnych výpočtových jednotiek a špecializovaných akcelerátorov umožňuje grafickým kartám Arc aj serverovým čipom smerovať k tomu, aby konkurovali riešeniam, ktoré používajú technológie CUDA alebo ROCm – hoci z hľadiska trhovej dominancie je stále čo dobiehať.

Prepojenie softvéru a hardvéru cez otvorený štandard

Softvér Intel oneAPI rozdeľuje úlohy medzi dostupné zariadenia a hľadá optimálnu cestu, ako vyťažiť všetky paralelné výpočtové jednotky. GPU spracuje masívne dávky dát a CPU zasa vykoná úlohy, ktoré majú nízky stupeň paralelizmu alebo vyžadujú sekvenčný výkon. Výpočtové akcelerátory pre AI a HPC prevezmú najnáročnejšie časti modelov, ktoré si vyžadujú vysokú priepustnosť pri nízkej presnosti. Každá časť systému dostane presne to, čo je pre ňu najefektívnejšie, a vývojár sa nemusí starať o distribúciu úloh.

Budúcnosť Intel oneAPI a reakcie komunity

Intel rozvíja Intel oneAPI rýchlym tempom. Nové generácie GPU prinášajú vyšší počet Xe jadier aj výkonnejšie XMX jednotky pre AI výpočty. Serverové akcelerátory s architektúrou Ponte Vecchio a ich nástupcovia ukazujú, že Intel mieri nielen na spotrebiteľský segment, ale najmä na dátové centrá a HPC trh. Výpočtový ekosystém Intelu tak postupne rastie a stáva sa reálnou možnosťou pre projekty, ktoré hľadajú otvorené riešenia mimo CUDA alebo ROCm.

Komunita vývojárov vníma Intel oneAPI prevažne pozitívne. Oceňuje najmä to, že ide o otvorený ekosystém založený na štandarde SYCL, ktorý umožňuje písať jeden kód pre rôzne typy hardvéru. Mnohí vítajú, že platforma nie je uzavretá ako CUDA a ponúka väčšiu flexibilitu. Na druhej strane sa často spomína, že mimo HPC prostredia zatiaľ nie je adopcia oneAPI taká výrazná, ako Intel zamýšľal. Diskutuje sa aj o tom, že nie všetky GPU mimo Intelu ponúkajú plnohodnotnú implementáciu SYCL, čo môže v praxi ovplyvniť prenositeľnosť kódu.

Záver

Intel oneAPI, SYCL a Xe jadrá tvoria základ výpočtovej stratégie Intelu. Softvérový ekosystém poskytuje jednotný programovací model pre CPU, GPU a akcelerátory. Paralelný výpočtový model SYCL umožňuje využiť výkon grafických kariet efektívne a bez obmedzení jednej značky. Hardvérové Xe jadrá zabezpečujú silný paralelizmus a XMX jednotky dopĺňajú AI funkcie, ktoré sú dnes nevyhnutné. Intel tým vytvára flexibilný a otvorený ekosystém, ktorý rastie každou generáciou hardvéru a dáva vývojárom možnosť pracovať s výpočtovým výkonom spôsobom, ktorý presahuje hranice tradičných GPU riešení.

Pohľad na grafickú kartu ASROCK Intel Arc B580 Challenger 12GB OC

Dedikované grafické karty INTEL

Vyberte si grafické karty Intel pre moderné hranie aj výpočtové úlohy. Grafické karty Intel Arc prinášajú dobrý pomer ceny a výkonu a podporu najnovších technológií.