Intel oneAPI jako otevřená cesta pro paralelní výpočty. Konkurence pro NVIDIA CUDA ?

Společnost Intel již léta staví svůj výkon především na procesorech. Teprve s příchodem architektury Xe a rodiny akcelerátorů Ponte Vecchio, následované nadcházející generací Battlemage, společnost ukázala, že chce naplno vstoupit do oblasti paralelních výpočtů poháněných grafickými kartami. Aby toho dosáhla, aniž by kopírovala uzavřený model CUDA, vytvořila společnost Intel platformu Intel oneAPI, ekosystém, který má propojit výkon procesorů, grafických karet a specializovaných akcelerátorů do jediného jednotného programovacího modelu. Intel vsadil na otevřené standardy, takže vývojáři nejsou vázáni na jedinou značku nebo architekturu.

Intel oneAPI bylo vytvořeno s jednoduchým cílem. Vývojář musí napsat program pouze jednou a ten pak musí běžet na různých typech hardwaru bez ohledu na to, zda se jedná o procesor, grafickou kartu nebo výpočetní akcelerátor. Tento model je založen na technologii SYCL, která rozšiřuje jazyk C o model paralelních výpočtů a umožňuje kompilovat stejný kód pro různé výpočetní čipy – pokud je platforma SYCL podporuje. Společnost Intel tak vytvořila možnost využívat grafické procesory podobně jako CUDA od společnosti NVIDIA nebo ROCm od AMD, ale s tou výhodou, že celý ekosystém je založen na otevřeném standardu spravovaném skupinou Khronos Group.

Diagram ekosystému Intel oneAPI s AI nástroji, HPC knihovnami a SYCL programováním.
Přehled softwarových nástrojů a knihoven v ekosystému Intel oneAPI – od sad nástrojů pro umělou inteligenci a HPC až po výkonné knihovny a programování SYCL. Zdroj – Intel

oneAPI jako základ výpočetního softwaru společnosti Intel

Intel oneAPI tvoří základní softwarovou vrstvu, která řídí výpočty na hardwaru. Tato platforma poskytuje kompilátory, optimalizace, knihovny pro vědecké výpočty, nástroje umělé inteligence a celý běhový systém. Umožňuje vytvářet aplikace, které se automaticky přizpůsobují dostupnému hardwaru. Když vývojář používá Intel oneAPI, nemusí se starat o to, zda kód poběží na CPU, integrovaném GPU, dedikované kartě Arc nebo akcelerátoru v datovém centru. Software se postará o distribuci výpočtů podle konkrétních možností systému.

SYCL hraje roli paralelního programovacího modelu. Umožňuje vývojáři pracovat s vlákny, výpočetními bloky a datovými strukturami, které GPU potřebuje pro masivní paralelismus. SYCL tak hraje podobnou roli jako CUDA API v ekosystému NVIDIA, ale s tou výhodou, že se nejedná o uzavřený systém. Vývojář může napsat stejný program pro různé značky GPU, pokud použije vlastní implementaci SYCL, a systém se postará o implementační detaily.

Migrace CUDA aplikací do Intel oneAPI pomocí nástroje DPC++ Compatibility Tool – kroky konverze kódu a optimalizace výkonu.
Proces migrace aplikace CUDA do rozhraní Intel oneAPI pomocí nástroje DPC Compatibility Tool. Obrázek ukazuje tři hlavní kroky: analýzu kódu CUDA, asistovanou migraci na SYCL/DPC a následnou optimalizaci výkonu pro hardwarové cíle.

Jádra Xe jako hardwarový základ pro grafické výpočty

Hardwarovou stránku zajišťuje architektura Xe. Ta obsahuje výpočetní jednotky, které společnost Intel označuje jako prováděcí jednotky nebo v novějších generacích jako jádra Xe. Každá z těchto jednotek provádí paralelní výpočty podobně jako jádra CUDA u společnosti NVIDIA nebo stream procesory u společnosti AMD. Výkon vzniká pouze tehdy, když stovky nebo tisíce jader Xe pracují současně a zpracovávají velké množství dat najednou.

Intel tuto architekturu doplňuje také o specializované výpočetní jednotky. Jádra XMX urychlují práci s maticemi a výpočty, které tvoří základ většiny moderních modelů umělé inteligence. Tato kombinace univerzálních výpočetních jednotek a dedikovaných akcelerátorů umožňuje grafickým kartám Arc i serverovým čipům posunout se směrem ke konkurenci řešení, která využívají technologie CUDA nebo ROCm – i když z hlediska dominantního postavení na trhu mají stále co dohánět.

Propojení softwaru a hardwaru prostřednictvím otevřeného standardu

Software oneAPI společnosti Intel rozděluje úlohy mezi dostupná zařízení a hledá optimální způsob využití všech paralelních výpočetních jednotek. GPU zpracovává obrovské dávky dat a CPU zase vykonává úlohy, které mají nízký stupeň paralelismu nebo vyžadují sekvenční výkon. Výpočetní akcelerátory pro AI a HPC převezmou nejnáročnější části modelů, které vyžadují vysokou propustnost při nízké přesnosti. Každá část systému dostane přesně to, co je pro ni nejefektivnější, a vývojář se nemusí starat o rozdělení úloh.

Budoucnost rozhraní Intel oneAPI a reakce komunity

Společnost Intel vyvíjí rozhraní Intel oneAPI rychlým tempem. Nové generace grafických procesorů přinášejí vyšší počet jader Xe i výkonnější jednotky XMX pro výpočty umělé inteligence. Serverové akcelerátory s architekturou Ponte Vecchio a jejich nástupci ukazují, že Intel cílí nejen na spotřebitelský segment, ale zejména na trh datových center a HPC. Výpočetní ekosystém společnosti Intel se tak postupně rozrůstá a stává se reálnou možností pro projekty, které hledají otevřená řešení nad rámec CUDA nebo ROCm.

Komunita vývojářů vnímá rozhraní Intel oneAPI veskrze pozitivně. Oceňuje zejména to, že se jedná o otevřený ekosystém založený na standardu SYCL, který umožňuje psát jeden kód pro různé typy hardwaru. Mnozí vítají, že platforma není uzavřená jako CUDA a nabízí větší flexibilitu. Na druhou stranu je často zmiňováno, že mimo prostředí HPC není přijetí oneAPI zatím tak silné, jak Intel zamýšlel. Diskutuje se také o tom, že ne všechny GPU mimo Intel nabízejí plnou implementaci SYCL, což může mít vliv na přenositelnost kódu v praxi.

Závěr

Intel oneAPI, SYCL a jádra Xe tvoří základ výpočetní strategie společnosti Intel. Softwarový ekosystém poskytuje jednotný programovací model pro CPU, GPU a akcelerátory. Paralelní výpočetní model SYCL umožňuje efektivně využívat výkon grafických karet bez omezení jediné značky. Hardwarová jádra Xe poskytují silný paralelismus a jednotky XMX doplňují funkce umělé inteligence, které jsou dnes nezbytné. Vzniká tak flexibilní a otevřený ekosystém, který roste s každou generací hardwaru a dává vývojářům možnost pracovat s výpočetním výkonem způsobem, který přesahuje tradiční řešení GPU.

Pohled na grafickou kartu ASROCK Intel Arc B580 Challenger 12GB OC

Dedikované grafické karty INTEL

Vyberte si grafické karty Intel pro moderní hraní i výpočetní úlohy. Grafické karty Intel Arc přinášejí dobrý poměr ceny a výkonu a podporu nejnovějších technologií.