ベータ版インテル® oneAPI ベース・ツールキット・リリースノート

同カテゴリーの次の記事

インテル Parallel Universe 40 号日本語版の公開

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® oneAPI Base Toolkit Release Notes」の日本語参考訳です。


この記事の PDF 版はこちらからご利用になれます。

インテル® oneAPI ベース・ツールキットは、ダイレクト・プログラミング・モデルと API プログラミング・モデルをサポートし、インテルおよび互換プロセッサー、第 9 世代インテル® プロセッサー・グラフィックス (GEN9)、インテル® Arria® 10 FPGA を含む幅広いハードウェアでネイティブコードを完全サポートする統一言語とライブラリーを提供します。ダイレクト・プログラミング・モデルと API プログラミング・モデルを提供し、開発とパフォーマンス・チューニング向けの解析とデバッグツールも含まれます。

バージョン履歴

日付 バージョン 説明
2020 年 3 月 2021.1-beta05 ベータ Update 5 リリース
2020 年 2 月 2021.1-beta04 ベータ Update 4 リリース
2019 年 11 月 2021.1-beta03 ベータ (03) 初期公開リリース

主な機能

ベータ Update 5 の新機能

ツールキット・レベルの機能

  • サポートされる GPU ドライバーを自動検出し、最小要件を満たす GPU ドライバーのバージョンがインストールされていない場合、警告メッセージを出力します。
  • システムに beta04 または beta03 など古いバージョンがインストールされている場合、『インテル® oneAPI ツールキット・インストール・ガイド』 (英語) に従ってそれらをアンインストールしてから beta05 をインストールしてください。複数バージョンの共存は、beta05 のリリースでは完全に実装されていません。
  • Microsoft* Visual Studio* Code (VS Code) 向けの新しい 2 つのプラグイン (インテル® oneAPI ツールキット用のサンプル・ブラウザー・プラグインとインテル® oneAPI アナライザー用のランチャープラグイン) は、https://marketplace.visualstudio.com/publishers/intel-corporation (英語) で入手できます。

インテル® oneAPI DPC++ コンパイラー

  • 初期のマルチタイル GPU 管理
  • モジュールでのデバイスコード分割
  • FPGA 診断の改善
  • 基本的な DPC++ と OpenMP* の構成可能性

インテル® oneAPI DPC++ ライブラリー

  • 統合共有メモリー (USM) ポインターのサポートを改善
  • USM バージョンの device_ptr をサポートする拡張 API

インテル® DPC++ 互換性ツール

  • dpct::headers に更新
  • cuRAND API の インテル® oneMKL RNG への移行を改善
  • USM 対応 BLAS API の移行

インテル® oneAPI マス・カーネル・ライブラリー

以下で DPC++ をサポート:

  • ホスト、CPU、および GPU:
    • 三角系ソルバー (USM インターフェイス)
    • すべてのスパース BLAS 関数の入力データ (USM インターフェイス)
    • スパース GEMM 関数 (バッファーベースと USM インターフェイス)
  • ホストおよび CPU:
    • 一部の LAPACK 関数 (USM インターフェイス)
    • 非決定論的乱数ジェネレーター
  • GPU:
    • 直交およびユニタリー行列の乗算 (バッファーベースのインターフェイス)

次の OpenMP* GPU オフロード機能の追加:

  • BLAS 関数向けの非同期オフロード機能
  • 三角系ソルバー (TRTRS)

インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー

  • bfloat16 データ型をサポート (ccl_sparse_allreduce を除く)
  • OFI/SHM プロバイダーをサポート
  • Alltoallv コレクティブの追加

インテル® oneAPI データ・アナリティクス・ライブラリー

新しい CPU 機能:

  • バッチ計算モードで L1 および L2 の正規化を行う Elastic Net アルゴリズム
  • 確率を計算するための選択投票法を用いたデシジョンフォレスト分類アルゴリズムの確率的分類

インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー

  • 新機能なし

インテル® oneAPI ビデオ・プロセシング・ライブラリー

  • 新機能:
    • CPU 拡張に Encode() を追加
    • SVT-HEVC エンコード
    • 10 ビットのデコードサポート (CPU、GEN)
  • 拡張 VPL メモリー

インテル® Advisor

  • GTpin 2.6 の統合
  • 統合ルーフライン・グラフのボトルネックの可視化 (最初のリリース)
  • 統合ルーフラインで単一カーネル表示とガイドを提供
  • 問題の修正

Python* 向けインテル® ディストリビューション

  • daal4py により Scikit-learn の DBSCAN アルゴリズムを高速化
  • daal4py で、Elastic net アルゴリズムとデシジョン・フォレスト・アルゴリズムの確率的分類をサポート

インテル® VTune™ プロファイラー

  • FPGA パフォーマンス解析のワークフローの使いやすさが向上
  • GPU パフォーマンス・メトリックの追加

oneAPI ツールキット用インテル® FPGA アドオン (オプション)

  • 変更なし

ベータ Update 4 の新機能

ツールキット・レベルの機能

  • Windows* のコマンドラインから、または Visual Studio* 2017/2019 において、インテル® oneAPI ベース・ツールキットとインテル® Parallel Studio XE またはインテル® System Studio の共存をサポート
  • インテル® oneAPI ベース・ツールキット・パッケージから Ubuntu* 用 GPU ドライバーを削除。GPU ドライバーのインストール手順については、『インテル® oneAPI ツールキット・インストール・ガイド』 (英語) をご覧ください。

インテル® oneAPI DPC++ コンパイラー

  • Visual Studio* の統合でインテル® パフォーマンス・ライブラリー (インテル® oneMKL、インテル® oneTBB、インテル® IPP、およびインテル® oneDAL) をサポート
  • デバイスコードで “printf” をサポート
  • デバイスコードで標準 C/C++ ライブラリーをサポートする基盤を導入
  • 同期例外をスローするように queue::submit を変更
  • cl::sycl::pipe クラスを cl::sycl::intel 名前空間に移動
  • cl::sycl::ordered_queue::single_tasksingle_taskparallel_for メソッドを追加
  • 問題の修正、診断の改善、およびその他の機能強化。詳細については、「インテル® oneAPI DPC++ コンパイラー・リリースノート」をご覧ください。

インテル® oneAPI DPC++ ライブラリー

  • 64 ビットのアトミック操作をサポート
  • <complex>、<cmath> の大部分の関数 (GNU libstdc++ )、および <ratio> を追加
  • 問題の修正と機能強化。詳細については、「インテル® oneAPI DPC++ ライブラリー・リリースノート」をご覧ください。

インテル® DPC++ 互換性ツール

  • テクスチャー API の移行範囲を拡大
  • メモリー管理 API の移行範囲を拡大
  • 14 個の cuRAND API をインテル® oneMKL に移行
  • 生成されるコードの可読性と保守性に関する多くの改善
  • 問題の修正と機能拡張。詳細については、「インテル® DPC++ 互換性ツール・リリースノート」をご覧ください。

インテル® oneAPI マス・カーネル・ライブラリー

  • BLAS: ポインターベース (USM) インターフェイスのサポート、C/C++ OpenMP* GPU オフロードのサポート
  • LAPACK: PORTF と POTRS のポインターベース (USM) インターフェイスのサポート、xGETRF の C/C++ OpenMP* GPU オフロードのサポート、POTRI の GPU デバイスサポート
  • スパース: GEN9 の CSR 行列向けに最適化された三角系ソルバー
  • FFT: 1D C2C FFT (単精度と倍精度) の C/C++ OpenMP* オフロードのサポート

インテル® oneAPI コレクティブ・コミュニケーション・ライブラリー

  • RHEL 7.x (CPU のみ) と CentOS* 7.x (CPU のみ) のサポート
  • 2D とパイプライン化されたリング allreduce アルゴリズム (CCL_ALLREDUCE=2d、CCL_ALLREDUCE=ring) の追加
  • 問題の修正、安定性とパフォーマンスの改善

インテル® oneAPI データ・アナリティクス・ライブラリー

  • ヘテロジニアス入力データ形式の初期サポート
  • ヘテロジニアス・データの統合共有メモリー (USM) の初期サポート。
  • 新しい GPU シングルノード・アルゴリズム (勾配ブースティング木、線形回帰、 K 近傍法など)
  • 問題の修正と安定性の改善

インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー

  • 新たにサポートされたプリミティブ: Matmul、LogSoftmax、および Resampling
  • 新たなにサポートされた機能: GPU 上の RNN での bfloat16、MLP の非対称量子化のサポート
  • Linux Perf プロファイル・ツールとの統合
  • CPU と GPU でのパフォーマンス改善。
  • 問題の修正

インテル® oneAPI ビデオ・プロセシング・ライブラリー

  • GEN9 向けの基本エンコード (AVC、HEVC)
  • トランスコード (AVC、HEVC)
  • VPL メモリーの拡張: 拡張機能の設計とデコードの改善 (AVC、HEVC)

インテル® Advisor

  • Windows* で GPU ルーフライン収集をサポート
  • Python* 3.x へ移行
  • 機能許可と問題の修正

Python* 向けインテル® ディストリビューション

  • 自動およびブルート・フォース・メソッド向けのインテル® DAAL を使用した sklearn.cluster.DBSCAN の最適化

インテル® VTune™ プロファイラー

  • GPU 解析に必要なシステム設定を簡素化。Linux* カーネルを再構築することなく GPU 利用率解析が可能になりました。詳細は、記事の最後にある「インテル® VTune™ プロファイラー・リリースノート」のリンクを参照してください。
  • システムの概要解析タイプに CPU と GPU 並行性解析を追加
  • 機能強化と問題の修正

oneAPI ツールキット用インテル® FPGA アドオン (オプション)

  • Ubuntu* で動作し、重複するライブラリー・ファイルを削除するようにインストール・スクリプトを改良
  • ライセンスの期限切れにより 2020 年に FPGA アドオンが動作しなくなるライセンスチェックの問題を解決

初期ベータ (Update 3) の新機能

  • 提供される機能:
    • Windows* 10 x64 をサポート。Windows* では FPGA のサポートは、エミュレーターのみに限定されます。
    • Microsoft* Visual Studio* 2017 および 2019 との統合
  • インテル® oneAPI DPC++ コンパイラーは、SYCL* 仕様 1.2.1 revision 5 と次の拡張機能をサポート:
    • 統合共有メモリー – 明示的または制限付きの機能をサポート
    • NDRange 並列処理のサブグループ
  • インテル® DPC++ 互換性ツール:
    • カーネル定義/呼び出し、メモリー管理 (統合メモリーを含む)、デバイス管理、データ型、エラー処理、数学、イベント、ストリームなどの部分的な移行をサポート
  • GDB:
    • カーネル内のブレークポイント
    • ソースレベルのステップ実行
  • インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL):
    • BLAS、LAPACK、FFT、スパース、ベクトル演算、および乱数ジェネレーター
  • インテル® oneAPI データ・アナリティクス・ライブラリー:
    • K-平均法クラスタリング
    • 主成分分析 (PCA)
  • インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー:
    • DPC++ コンパイラーのサポート
    • SYCL* API 拡張と SYCL* コードとの互換性

システム要件

インテル® oneAPI ベース・ツールキットのシステム要件」 (英語) をご覧ください。

インストール手順

インテル® oneAPI ツールキット・インストール・ガイド』 (英語) を参照してください。

ツールを利用する

次のドキュメントを参照してください。

既存の問題と回避策

  1. 現時点では、仮想マシンでの GPU コードの実行はサポートされていません。
  2. Ubuntu* では、インテル® oneAPI ベース・ツールキット beta04 のインストール中に「Intel compute graphics runtime for OpenCL not found (OpenCL* 向けのインテル® Compute Graphics Runtime が見つかりません)」、または GEN9 上でプログラムを実行すると「device not available (デバイスが利用できません)」というメッセージが表示されることがあります。これは、beta04 リリースから Ubuntu* 向けの GPU ドライバーが削除されているためです。GPU ドライバーを別途インストールしてください。GPU インストールの手順については、『インテル® oneAPI ツールキット・インストール・ガイド』 (英語) を参照してください。
  3. Linux* プラットフォーム:
    • Eclipse* 4.12: Makfile から IDE プラグインによって生成されたサンプルコードはビルドされません。これは、Eclipse* 4.12 の既知の問題です。Eclipse* 4.9、4.10、または 4.11 を使用してください。
    • Eclipse* プラグイン固有: インテル® Parallel Studio XE (IPSXE) がインストールされ、インテル® C++ コンパイラーの Eclipse* プラグインがインストールされている場合、インテル® oneAPI ツールキットはインストールできますが、Eclipse* プラグインのインストールに失敗します。以下に回避方法を示します。
    • インテル® oneAPI ツールキットをインストールする前に、IPSXE から Eclipse* プラグインをアンインストールします。
      • インテル® oneAPI ツールキットをインストールする前に、IPSXE から Eclipse* プラグインをアンインストールします。
  4. Windows* プラットフォーム:
    • Visual Studio* 内でプログラムを実行中に「... sycl.dll was not found... (sycl.dll が見つかりません)」または、次のようなランタイムエラーが発生した場合、次の手順に従ってプロジェクトのプロパティーにある [デバッグ] > [環境] を更新してからプログラムを実行してください。
      Unable to start program
      • プロジェクトのプロパティーにある [デバッグ] > [環境] を開き、ドロップダウンを右クリックして [編集] を選択します。
        Unable to start program
      • デフォルトの PATH 環境変数値を下のセクションから上のセクションへコピー & ペーストします。
        Visual Studio* 2017 以降では、PATH 環境変数の追加ディレクトリーを処理する方法が異なるため、この手順は非常に重要です。
        Unable to start program
      • プログラムに必要なこれらの dll ファイルの追加ディレクトリーを次のようにパスに追加します。
        Unable to start program
    • Visual Studio* 2019 では、次の 2 つの既知の問題により、ベータ版のサポートは Visual Studio* 2019 16.3.0 ~ 16.3.3 に限定されています。
      • error: expected an attribute name _NODISCARD _Check_return_
        この問題は、Visual Studio* 2019 16.4 プレビュー版で解決されています。
      • error LNK2005: "bool const std::_Is_integral<bool >" (??$_Is_integral@_N@std@@3_NB) already defined in init-62f295.obj
        この問題は、Visual Studio* 2019 16.2.5 以前でのみ発生します。16.3.0 以降では解決されています。
    • Visual Studio* 2017 のサンプルコードは、Windows* SDK 10.0.17763.0 をベースに作成されています。サンプルコードをビルドする際に次のようなエラーが発生する場合、エラーメッセージの指示に従って問題を解決してください。
      error MSB8036: The Windows SDK version 10.0.17763.0 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". (エラー MSB8036: Windows* SDK 10.0.17763.0 が見つかりません。必要な Windows* SDK バージョンをインストールするか、プロジェクトのプロパティー・ページで SDK のバージョンを変更するか、またはソリューションを右クリックして [ソリューションの再ターゲット] を選択します。)
    • Visual Studio* 内でサンプルコードのプログラムの実行中に次のエラーが発生する場合があります。
      Unable to start program 'xxx.exe" (プログラム「xxx.exe」を起動できません)
      Unable to start program

      次の手順に従って問題を回避してください。

      • [ツール] > [オプション] を選択して [オプション] ダイアログを開き、[デバッグ] タブを選択して、[デバッグの停止時に自動的にコンソールを閉じる] のチェックボックスをオンにします。詳細は、下記のダイアログのイメージを参照してください。
        Unable to start program

インテル® oneAPI ベース・ツールキットに含まれるすべてのツールのリリースノート

法務上の注意書きと最適化に関する注意事項

本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。

本資料には、開発中の製品、サービス、およびプロセスについての情報が含まれています。ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の製品仕様およびロードマップをご希望の方は、インテルの担当者までお問い合わせください。

インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できるコンピューター・システムはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。

本資料で説明されている製品およびサービスには、不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。

インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。

Intel、インテル、Intel ロゴ、Arria、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。

Microsoft および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。

OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の許諾を得て使用しています。

* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

© Intel Corporation.

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事