Intelは、oneAPIレベルゼロ・インターフェース仕様をリリースしました。この仕様は、アクセラレータへのベアメタルアクセスを可能にし、11月に発表されたIntelのヘテロジニアスシステム向けオープン・プログラミング・モデルであるoneAPIのAPIベースおよびダイレクト・プログラミング・モデルを補完します。
oneAPI: トランジスタを無駄にしない
oneAPIは業界標準とオープン仕様に基づいており、業界主導の取り組みとIntelによるoneAPI実装の両方から構成されています。すべてのハードウェアベンダーに公開されているこの業界主導の取り組みは、C++ベースの直接プログラミング言語であるData Parallel C++とSYCLクロスプラットフォーム抽象化レイヤー、そしてドメインに重点を置いた機能を高速化するAPIベースのプログラミングの両方を規定しています。多くの部分がオープンソースです。例えば、ソフトウェア開発者のCodeplayは、oneAPIのNvidia GPUサポートに取り組んでいることを既に発表しています。
Intel製品には、CUDAなどの互換性ツール、IntelのPythonディストリビューション、FPGAアドオン、分析およびデバッグツールが追加されています。現在、Intel CPU(Core、Xeon、Atom)、Intel統合グラフィックス、Arria FPGAをサポートしています。
oneAPI レベルゼロ
Phoronix によると、これらの直接および API ライブラリ プログラミング モデルの基盤には、今週リリースされたアクセラレータ ハードウェアへの低レベルの直接メタル インターフェイス、oneAPI Level Zero もあります。
Level-Zero APIには2つの目的があります。複数の低レベル関数へのきめ細かなアクセスを提供する一方で、ほとんどのアプリケーションではそのような明示的な制御は必要ないでしょう。しかし、Level-Zero APIは、高レベルのランタイムAPIやライブラリに対しても同様の制御を提供します。
Intel は、Level-Zero API が OpenCL や GPU アーキテクチャなどの他の低レベル API の影響を受けていると認めているが、それらは「独立して進化」するように設計されており、FPGA やディープラーニング アクセラレータなどのさまざまなコンピューティング デバイス アーキテクチャをサポートするため、異なるとしている。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
インテルは、このインターフェースは自社のハードウェアリリースと一致するペースで公開できると同時に、より多くの言語機能も提供できると述べている。仕様概要によると、「関数ポインター、仮想関数、統合メモリ、I/O 機能など、より幅広い言語機能をサポートするように適応できます」とのことだ。
機能の包括的なリストは次のとおりです。
- デバイスの検出
- メモリ割り当て
- ピアツーピア通信
- プロセス間共有
- カーネルの提出
- 非同期実行とスケジューリング
- 同期プリミティブ
- メトリクスレポート
- システム管理インターフェース