ベータ版インテル® Advisor 2021 リリースノート

同カテゴリーの次の記事

インテル® Advisor 2020 導入ガイド

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® Advisor (Beta) Release Notes」(https://software.intel.com/en-us/articles/advisor-beta-release-notes) の日本語参考訳です。


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

免責条項

これは、ベータ版インテル® Advisor 2021 です。皆様からの早期のフィードバックをお待ちしております。それらは、実際のアプリケーションに影響する問題の優先順位を決定して対処するのに役立ちます。

バージョン履歴

ドキュメントの改訂 日付 説明
2021.1 – Beta(05) リリース 2020 年 3 月 Beta 05 リリースノート
2021.1 – Beta(04) リリース 2020 年 2 月 Beta 04 リリースノート
2021.1 – Beta(03) リリース 2019 年 10 月 Beta 03 リリースノート

主な機能

新機能 – Beta 05

  • 問題の修正、 機能およびセキュリティーの更新

新機能 – Beta 04

  • Microsoft* Windows* 上で GPU ルーフライン解析が利用できるようになりました。
  • –data-type=int コマンドライン・オプションで利用可能な GPU ルーフラインの整数型データがサポートされました。
  • オフロード・アドバイザーのパフォーマンス予測は、Python* 3.6 または内部 Python* (advixe-python) で使用できます。 
  • フラットデータ (ボトムアップ) の使用を強制して、高速な解析 (精度がわずかに低下する) を行い、解析中にトップダウンで不良データを処理する、–no-stacks オプションが collect.py と analyze.py で利用できるようになりました。
  • [Why Not Offloaded (オフロードされない理由)] カラムのメッセージに、領域がオフロードに適していない理由が追加されました。

新機能 – Beta 03

  • DPC++ サポート: Linux* 上の CPU でデータ並列 C++ (DPC++) コードをプロファイル。
  • オフロード・アドバイザー: GPU にオフロードすることで恩恵が得られるコード領域を決定します。この機能によりパフォーマンスを推測できます: GPU にオフロードされる領域の実行時間を推測し、オフロードに最も適した領域を選択して、領域のスピードアップの上限を決定します。
  • HPC 解析の改善:
    • OpenMP* オフロード・プログラミングをサポート
    • テクニカルプレビュー機能: GPUルーフライン解析 で各ループのパフォーマンス・ヘッドルームと GPU の利用状況を確認します。改善の余地があるループとボトルネックの原因 (メモリー依存または計算依存) を特定します。GPU のプロファイルを有効にするには、ADVIXE_EXPERIMENTAL 環境変数に gpu-profiling を設定します。
    • CLI オプション、Python* API、およびヘルプに新機能が追加されました。

システム構成要件

ベータ版インテル® Advisor のシステム要件 (英語)

GPU 上でルーフライン解析を行う前に、システムが適切に設定されていることを確認してください。

Linux* システム: Linux* カーネル 4.14 以降。GPU 上のルーフライン・モデルはテクニカルプレビュー機能であり、デフォルトでは無効になっています。有効にするには、次の操作を行います。

  1. video グループに対象のユーザー名を追加します。video グループに所属しているか確認するには次のコマンドを実行します。
    groups | grep video

    video グループにまだ所属していない場合、次のようにユーザー名を追加します。
    sudo usermod -a -G video

  2. GPU メトリックの収集を有効にします。
    sudo su
    echo 0 > /proc/sys/kernel/perf_stream_paranoid
    
  3. DPC++ コードが GPU 上で適切に実行されることを確認します。コードがどのハードウェアで実行されているか確認するには、DPC++ コードに次の行を追加して実行してください。
    Cl::sycl::default_selector selector;
    Cl::sycl::queue queue(delector);
    auto d = queue.get_device();
    std::cout<<"Running on :"<<d.get_info<cl::sycl::info::device::name>()<<std::endl;
    
  4. ベータ版インテル® Advisor の環境を設定します。
    source <advisor_install_dir>/env/vars.sh
  5. GPU プロファイルを有効にします。
    export ADVIXE_EXPERIMENTAL=gpu-profiling

既知の問題と注意事項

  • GPU ルーフライン機能は、インテル® Compute Runtime 20.10 以降と互換性がありません。バージョン 20.09 以前を使用してください。この問題は、インテル® Advisor とインテル® Compute Runtime の将来のバージョンで解決される予定です。
  • VASP-19445: 現在、C++ の名前のないラムダ関数のシンボル解決はサポートされていません。名前のないラムダ関数は、マングルされたシンボル名で表示されます。
  • analyze.py、collect.py、および run_oa.py スクリプトは Python* 3.6 と Python* 3.7 でのみ動作します。Python* 3.6 または Python* 3.7 がインストールされていない場合、インテル® Advisor ディレクトリーにある内部の python コマンドを使用できます。以下に例を示します。
    advixe-python run_oa.py <project_directory>
    
  • ベータ版インテル® Advisor の以前のリリースで収集された結果に対してパフォーマンス・モデルを実行すると、analyze.py スクリプトは、「Error: Memory model cache hierarchy incompatible (エラー: メモリー・モデル・キャッシュ階層に互換性がありません)」エラーを出力します。この問題を回避するには、結果ディレクトリーから “perf_models” ディレクトリーを削除して analyze.py を再度実行します。
  • Microsoft* Windows* システム上の GPU ルーフラインは、64 ビット・アプリケーションでのみサポートされます。

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

関連記事