oneAPI進展:Intel公佈裸機oneAPI零級接口
Intel 公佈了旗下oneAPI的零級(Level Zero)接口規範,提供了對加速器的裸機(bare-metal)訪問,補全了oneAPI中基於API的直接編程模型。oneAPI是Intel在11月中發布的,針對異構系統而設的開放式編程模型。
圖片來源:Intel
oneAPI的目標是為那些重視性能的跨架構應用程序提供一個統一的編程模型。它可以重用代碼,旨在消除獨立代碼庫、多工具、工作流程的複雜性。oneAPI的Beta版本已經在11月份推出,並且將會用在Aurora百億億次超級計算機當中。
oneAPI是基於行業標準以及開放性規範而成的,它包含了行業共識以及Intel自己對於oneAPI的執行(implementation)而成。行業共識中的“對所有硬件供貨商開放”表明需要使用一種直接編程語言- 基於C ++和SYCL跨平台抽象層的Data Parallel C ++ ,以及基於API的編程來加速專注於領域( Domain-focused)的功能。這其中很多部分都是開源的,例如軟件開發商Codeplay已經宣布正在開發對oneAPI的Nvidia GPU支持。
Intel的oneAPI開發工具包新增了諸如針對CUDA的兼容性工具、Intel自己的Python分發、FPGA附加工具以及調試用的工具。這套工具目前支持Intel自家的Core、Xeon以及Atom處理器、Intel的集顯以及Arria FPGAs。
根據Phoronix的報導,這些直接及API庫的編程模型也是一種低級別(Low-level)及DTM(Direct-to-metal)的接口,可以用於本週發布的加速硬件。
零級API可以有雙重用途。雖然它提供了對多個低級別功能的精細訪問,但大部分的應用程序都用不上如此準確的控制。因此,零級API同時也提供對高級別運行時(Runtime)API及庫的控制。