oneAPI (výpočetní zrychlení) - oneAPI (compute acceleration)

oneAPI
OneAPI-rgb-3000.png
Úložiště github .com /oneapi-src
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 .com

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).

Reference

externí odkazy