| 開発者 | インテル開発者向け製品 |
|---|---|
| 安定版リリース | 2021.4 / 2021年10月1日[1] |
| オペレーティング·システム | Windows および Linux (macOS では UI のみ) |
| タイプ | プロファイラー |
| ライセンス | 無料および商用サポート |
| Webサイト | software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html |
Intel Advisor (「 Advisor XE」、「Vectorization Advisor」、「Threading Advisor 」とも呼ばれる)は、SIMD ベクトル化、スレッド化、メモリ使用、GPUオフロード最適化のための設計支援および分析ツールです。このツールは、C、C++、データ並列C++(DPC++)、Fortran、Python言語をサポートしています。スタンドアロンGUIツール、 Microsoft Visual Studioプラグイン、またはコマンドラインインターフェイスの形式で、WindowsおよびLinuxオペレーティングシステムで利用できます。 [2] OpenMP(およびMPIでの使用)をサポートしています。Intel AdvisorのユーザーインターフェイスはmacOSでも利用できます。
Intel Advisor は、スタンドアロン ツールとして、または Intel oneAPI Base Toolkit の一部として無料でご利用いただけます。オプションで、oneAPI Base Toolkit の有料商用サポートもご利用いただけます。
特徴
ベクトル化の最適化
ベクトル化とは、単一の CPU コア内で複数のオブジェクトに対して、SIMD (Single Instruction Multiple Data) 命令 (Intel Advanced Vector Extensions や Intel Advanced Vector Extensions 512 など) を並列に実行することです。これにより、ループのオーバーヘッドが削減され、各コアの複数の演算ユニットがより有効に活用されるため、パフォーマンスが大幅に向上します。
Intel Advisor は、より優れたベクトル化の恩恵を受けるループを見つけ、コンパイラのベクトル化を強制しても安全な場所を特定するのに役立ちます。[3] Intel、GNU、Microsoftコンパイラの自動ベクトル化によって生成されたスカラー、SSE、AVX、AVX2、AVX-512対応コードの解析をサポートします。また、 OpenMP 4.x 以降を使用する「明示的に」ベクトル化されたコードや、C ベクトル組み込み関数またはアセンブリ言語を使用して記述されたコードの解析もサポートします。[4] [5]
自動ルーフライン分析
Intel Advisorは、バークレー校[6]で最初に提案され、リスボン大学[7]で拡張されたルーフラインパフォーマンスモデルを自動化します。

アドバイザー「ルーフライン分析」は、特定のループ/関数がメモリまたはCPUバウンドであるかどうかを識別するのに役立ちます。また、最適化するとパフォーマンスに大きな影響を与える可能性のある、最適化されていないループも識別します。[8] [9] [10] [11]
Intel Advisor は、従来のルーフライン モデルに近い、自動化されたメモリ レベルのルーフライン実装も提供します。従来のルーフラインは、DRAM に依存する高性能コンピューティング アプリケーションに特に役立ちます。Advisor のメモリ レベルのルーフラインは、キャッシュ データを分析し、異なるメモリ レイヤー間のデータ トランザクションを評価して、改善のためのガイダンスを提供します。[12]
Intel Advisorのルーフライン解析は、CPUまたはGPUで実行されるコードをサポートしています。[13] [14]また、機械学習、ビッグデータドメイン、データベースアプリケーション、暗号通貨などの金融アプリケーションで頻繁に使用される整数ベースのアプリケーションもサポートしています。[15]
スレッドプロトタイピング
ソフトウェア アーキテクトは、Advisor が理解できるがコンパイラーは無視するスレッド化を記述するコード注釈を追加します。Advisor は、スレッド化のスケーラビリティを予測し、同期エラーをチェックします。Advisor スレッド化の「適合性」機能は、さまざまなスレッド化設計の並列 SMP スケーラビリティとパフォーマンス損失を予測して比較するのに役立ちます。一般的な適合性レポートは、右側の適合性 CPU スクリーンショットに表示されます。Advisor 適合性は、データセット サイズ (反復空間) モデリング機能とパフォーマンス ペナルティの内訳 (負荷の不均衡、並列実行オーバーヘッド、ロック競合による悪影響の検出) を提供します。[16]

オフロードモデリング
Advisor は、2021 リリースで GPU オフロード パフォーマンス モデリング機能を追加します。ベースライン プラットフォームでアプリケーション パフォーマンス特性を収集し、ターゲット (モデル化) プラットフォームの分析パフォーマンス モデルを構築します。
これにより、対象GPUでのパフォーマンスの高速化の見積もりと、オフロード、データ転送、領域実行のスケジュールのオーバーヘッドの見積もりが提供され、パフォーマンスのボトルネックが正確に特定されます。[17] [18] [19]この情報は、オフロードする領域を選択し、GPU対応にするために必要な潜在的なコード再構築を予測する、オフロード戦略の選択に役立ちます。
顧客の使用状況
Intel Advisorは、Schlumberger [20] 、 Sandia国立研究所、その他[21]で設計および並列アルゴリズムの研究に使用されており、ベクトル化アドバイザーの機能はLRZおよびICHEC [22] 、Daresbury Lab、[23] Pexip [24]で使用されていることが知られています。
ステップバイステップのワークフローは、学術界では教育目的で使用されています。[25]
参照
- インテル インスペクター
- インテル VTune プロファイラー
- Intel oneAPI ベース ツールキット
- oneAPI (コンピューティングアクセラレーション)
- Intel Developer Zone (Intel DZ; サポートとディスカッション)
参考文献
- ^ 「Intel® Advisor リリースノートと新機能」。
- ^ 「コマンドラインの使用例」。Intel 。 2021年1月5日閲覧。
- ^ 「リアルタイム 3D 心臓シミュレーションのベクトル化の側面を最適化する...」Intel 。2021 年 1 月 7 日閲覧。
- ^ 「HPC コード最新化ツール」(PDF)。
- ^ “Новый инструмент анализа SIMD программ — ベクトル化アドバイザー”. habr.com (ロシア語) 。2021年1月5日閲覧。
- ^ Williams, Samuel (2009 年 4 月)。「Roofline: マルチコア アーキテクチャ向けの洞察力に富んだビジュアル パフォーマンス モデル」(PDF)。バークレー大学。2016 年 12 月 6 日のオリジナル(PDF)からアーカイブ。2017 年 3 月 29 日閲覧。
- ^ イリッチ、アレクサンダル。 「キャッシュを意識したルーフライン モデル: ロフトのアップグレード」(PDF)。リスボンのシステム開発およびコンピューター開発研究所。
- ^ 「Intel Advisor 2017 のルーフライン分析: YouTube のハウツー ビデオ」。YouTube。
- ^ 「Intel Advisor Roofline ステップバイステップ チュートリアル」。
- ^ 「ルーフライン モデルと Intel Advisor の使用」、ルーフライン パフォーマンス モデルの作成者である Sam Williams 氏によるプレゼンテーション。
- ^ 「ケーススタディ:SimYog がシミュレーション ツールのパフォーマンスを 2 倍に向上」Intel 。2021 年 1 月 7 日閲覧。
- ^ 「Intel® Advisor を使用したメモリレベルのルーフライン モデル」。Intel 。2021 年 1 月 5 日閲覧。
- ^ 「CPU / メモリ ルーフライン インサイトの視点」。Intel 。2021 年 1 月 5 日閲覧。
- ^ 「GPU Roofline Insights Perspective」。Intel 。 2021年1月5日閲覧。
- ^ 「Intel® Advisor の整数ルーフライン モデリング」。Intel 。2021年 1 月 5 日閲覧。
- ^ 「Advisor XE 2015 を使用して適合性をモデル化する方法」。
- ^ 「Intel® Advisor ユーザー向けのモデリング リソースのオフロード」。Intel 。2021 年 1 月 5 日閲覧。
- ^ 「GPU にオフロードするコード領域を特定し、GPU の使用状況を視覚化する (ベータ版)」。Intel 。2021 年 1 月 5 日閲覧。
- ^ 「オフロードモデリングの観点」。Intel 。 2021年1月5日閲覧。
- ^ 「Schlumberger* - Intel ソフトウェア製品を使用して石油およびガス ソフトウェアを並列化」(PDF)。
- ^ 「「リーディングデザイン」企業Advisor XEのケーススタディ」(PDF)。[永久リンク切れ ]
- ^ 「Intel® Advisor を使用した並列処理とオフロードのためのコード設計」。
- ^ 「コンピュータ支援定式化のケーススタディ: ベクトル化アドバイザーからの支援を受ける」。
- ^ 「Pexip がエンタープライズ グレードのビデオ会議を高速化」(PDF)。
- ^ 「スーパーコンピューティング 2012 スリッパリーロック大学の HPC 教育者」
外部リンク
- 公式サイト
- 「ベクトル化アドバイザーから支援を受ける」 - ユニリーバおよびその他の CAF アプリケーションを参照した Hartree のケース スタディ
- RWTH での「aixVectorize」ベクトル化とチューニングのワークショップ 2017-10-15 にWayback Machineでアーカイブされました:
- aixVectorize「Intel (Vectorization) Advisor を使用した HPC コードの最新化」チュートリアル フォイル 2016-03-04 にWayback Machineでアーカイブされました
- aixVectorize aixVectorize ラボとサンプルコード 2015-12-22 にWayback Machineでアーカイブされました
- Schlumberger* - Intel ソフトウェア製品を使用して石油およびガス ソフトウェアを並列化
- 匿名の「トップデザイン」企業のケーススタディ、Advisor XE を使用 2014-04-16 にWayback Machineでアーカイブ
- 京都大学スーパーコンピューティングセンター Linux での Advisor XE の使用に関するユーザーガイド (2014-04-16 にWayback Machineでアーカイブ)
- Intel® Advisor XE 2015 を使用して Intel® Xeon Phi™ コプロセッサーの適合性をモデル化する方法
- Intel Inspector 製品ページ
