oneAPI (výpočetní zrychlení) - oneAPI (compute acceleration)
| Úložiště | github |
|---|---|
| Operační systém | Cross-platform |
| Plošina | Cross-platform |
| Typ | Specifikace softwaru s otevřeným zdrojovým kódem pro paralelní programování |
| webová stránka | www |
oneAPI je otevřený standard pro jednotné rozhraní pro programování aplikací určené k použití v různých architekturách výpočetních akcelerátorů ( koprocesorů ), včetně GPU , akcelerátorů AI a polí programovatelných bran . Je určen k odstranění potřeby vývojářů udržovat oddělené kódové základny, více programovacích jazyků a různé nástroje a pracovní postupy pro každou architekturu.
Specifikace oneAPI
Specifikace oneAPI rozšiřuje stávající modely programování pro vývojáře, aby umožnila více hardwarových architektur prostřednictvím datově paralelního jazyka, sady knihoven API a hardwarového rozhraní nízké úrovně na podporu programování napříč architekturou. Staví na průmyslových standardech a poskytuje otevřený, multiplatformní balíček vývojářů.
Data Parallel C ++
DPC ++ je otevřený jazyk s více architekturami založený na standardech ISO C ++ a Khronos Group SYCL . DPC ++ je implementace SYCL s rozšířeními, která jsou navržena pro zahrnutí do budoucích revizí standardu SYCL. Příkladem toho je příspěvek unifikované sdílené paměti, skupinových algoritmů a podskupin k SYCL 2020.
knihovny oneAPI
Sada API zahrnuje několik domén, které těží ze zrychlení, včetně knihoven pro matematiku lineární algebry, hloubkové učení, strojové učení, zpracování videa a další.
| Název knihovny |
Krátký
název |
Popis |
|---|---|---|
| knihovna oneAPI DPC ++ | oneDPL | Algoritmy a funkce pro zrychlení programování jádra DPC ++ |
| oneAPI Math Kernel Library | oneMKL | Matematické rutiny včetně maticové algebry, FFT a vektorové matematiky |
| oneAPI Data Analytics Library | oneDAL | Funkce strojového učení a analýzy dat |
| oneAPI Deep Neural Network Library | oneDNN | Funkce neuronových sítí pro hluboké učení a inference |
| oneAPI Collective Communications Library | oneCCL | Komunikační vzorce pro distribuované hluboké učení |
| OneAPI navlékání stavebních bloků | oneTBB | Knihovna šablon pro správu vláken a paměti |
| knihovna zpracování videa oneAPI | oneVPL | Kódování, dekódování, překódování a zpracování videa v reálném čase |
Zdrojový kód většiny implementací výše uvedených knihoven je k dispozici na GitHub.
Hardwarová abstrakční vrstva
oneAPI Level Zero, hardwarové rozhraní nízké úrovně, definuje sadu funkcí a služeb, které hardwarový akcelerátor potřebuje k propojení s běhovými časy kompilátoru a dalšími vývojářskými nástroji.
Implementace
Intel vydal sady nástrojů oneAPI v produkční kvalitě, které implementují specifikaci a přidávají nástroje pro migraci, analýzu a ladění CUDA kódu. Patří mezi ně Intel oneAPI DPC ++ / C ++ kompilátoru , Fortran kompilátor Intel , Intel VTune Profiler a několik knihoven výkonu.
Codeplay vydal vrstvu s otevřeným zdrojovým kódem, která umožňuje oneAPI a SYCL/DPC ++ spouštět na GPU Nvidia přes CUDA .
University of Heidelberg vyvinula implementaci SYCL/DPC ++ pro AMD i Nvidia GPUS.
Společnost Huawei vydala kompilátor DPC ++ pro svou čipovou sadu Ascend AI
Společnost Fujitsu vytvořila pro svůj procesor Fugaku open-source ARM verzi oneAPI Deep Neural Network Library (oneDNN).