23
インテルがベアメタル oneAPI レベル 0 仕様をリリース

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 レベルゼロ

(画像提供:Intel)

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 機能など、より幅広い言語機能をサポートするように適応できます」とのことだ。 

機能の包括的なリストは次のとおりです。

  • デバイスの検出
  • メモリ割り当て
  • ピアツーピア通信
  • プロセス間共有
  • カーネルの提出
  • 非同期実行とスケジューリング
  • 同期プリミティブ
  • メトリクスレポート
  • システム管理インターフェース