SYCL* 2020 仕様とインテル® oneAPI DPC++ コンパイラー (dpcpp) の DPC++ 言語拡張でサポートされる機能対応

同カテゴリーの次の記事

最小限のコード変更で CPU 上で超高速な Python* データサイエンスと AI パフォーマンスを実現

この記事は、インテル® デベロッパー・ゾーンに公開されている「SYCL* 2020 Specification Features and DPC++ Language Extensions Supported in Intel® oneAPI DPC++/C++ Compiler (dpcpp)」の日本語参考訳です。


DPC++ コンパイラーは、GPU や FPGA などさまざまなコンピューティング・アクセラレーターと CPU の両方のコードを使用して、C++ および SYCL* ソースファイルをコンパイルします。この記事では、インテル® oneAPI DPC++/C++ コンパイラーのそれぞれのリリースでサポートされる SYCL* 2020 仕様機能と DPC++ 言語拡張の対応状況を説明します。

SYCL* 2020 サポート

以下は、dpcpp コンパイラーの SYCL* 2020 仕様のサポート状況です。

機能 2021.1 2021.2 2021.3 説明
アクセサーの簡略化 × × ×
新しいアクセサー・インターフェイス × × ×
アクセサーのリバーシブル・コンテナー・コンストラクター × × ×
アクセサー const T と read_only の動作 × × ×
読み取りモードで const ref を返すアクセサー・オペレーター []
アドレス空間 – インターフェイス、ジェネリック、修飾 一部 一部 一部
アトミック × 一部 一部
ReversibleContainer の C++ 要件と一致するアクセサー × × ×
デダクション・ガイド
デフォルト async_handler × × ×
デバイスアスペクト × 一部 一部
デバイスのオプション機能のエラー処理 × × ×
デバイス固有のクエリー – info::kernel_device_specific ×
Kernel_bundle × ×
std::exception から派生する例外
例外階層の削除とエラーコードの追加 × × ×
拡張メカニズム – 機能テストマクロ × × ×
拡張名前空間 × × ×
グループ・アルゴリズム (work-group) 一部 一部 一部
グループ・アルゴリズム (Sub-group) × × ×
ホストタスク 一部 一部 一部
イメージ – sampled_image、unsampled_image × × ×
不変カーネル
インオーダー・キュー
カーネル関数タイプ属性
数学配列 ×
Multi_ptr (新しい non-deprecated 形式) × × ×
shared_ptr<T[]> からの新しいバッファー・コンストラクター × ×
新しいヘッダーファイル名 × ×
プロパティーをサポートする新しいプロパティー・トレインとクラス × × ×
新しい属性スタイル × × ×
オプションのラムダ名
Parallel_for の簡素化
デバイス + コンテキストを取得するキュー・コンストラクター
キューのショートカット
リダクション 一部 一部 一部
必要とする work-group サイズ
特殊化定数 × × ×
標準レイアウトの緩和
Sub-group 一部 一部 一部
Device_copyable × × ×
Sycl::bit_cast 一部 一部 一部 Available as
sycl::detail::bit_cast
Sycl::vec_opeator[]、+、-、…
統合共有メモリー 一部 一部 一部

DPC++ 拡張

以下は、dpcpp コンパイラーの DPC++ 言語拡張のサポート状況です。

Feature 2021.1 2021.2 2021.3 Comments
アクセサー・プロパティー 一部 一部 一部
CXX 標準ライブラリー
データ・フロー・パイプ FGPA のみ
キューに投入されたバリア
明示的 SIMD (ESIMD) 実験的 実験的 実験的
グループマスク × × ×
ローカルメモリーのカーネルスコープ割り当て × ×
不均一サブグループ × × ×
メモリー・プロパティーの固定 ×
リダクション – 多次元リダクション変数 × × ×
sg.invoke × × ×
フリー関数のクエリー
すべての引数を制限 (SYCL_INTEL_kernel_restrict_all)

製品および性能に関する情報

1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex/ (英語) を参照してください。

関連記事