この記事は、インテル社のウェブサイトで公開されている「Vectorization Resources for Intel® Advisor Users」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
インテル® Advisor は、C/C++、Fortran、データ並列 C++、OpenMP*、OpenCL* ネイティブ/マネージド・アプリケーションが最新のプロセッサー上で最大限のパフォーマンスを発揮できるようにする設計ツールを提供します: ベクトル化とコードの調査、CPU / メモリー・ルーフライン、スレッド化、オフロードのモデル化、GPU ルーフライン、およびフロー・グラフ・アナライザー。
インテル® Advisor は、スタンドアロン製品 (英語) またはインテル® oneAPI ベース・ツールキットの一部として利用できます。
ベクトル化とコードの調査パースペクティブは、ベクトル化により恩恵を得られるループと効率良いベクトル化を妨げる原因を特定し、代替のデータ再構成を調査して、ベクトル化の安全性を高めるベクトル化解析ツールです。
ベクトル化とコードの調査の主な機能の 1 つに、コード固有のベクトル化問題の修正方法を提示する GUI 統合アドバイスがあります。このページには、GUI 統合アドバイスと Web ベースのベクトル化リソースへのリンクが含まれます。
インテル® Advisor でベクトル化を理解する
インテル® Advisor の能力と柔軟性を最大限に引き出すには、次のリソースをご覧ください。
サンプルベースの導入ガイド (英語) | ベクトル化用語集 | サポートとフォーラム (英語)
インテル® Advisor のベクトル化およびコードの調査ワークフローの詳細な説明と手順については、ベクトル化パースペクティブを参照してください。
一般的なインテル® Advisor ワークフローは次のようになります。
推奨事項: 可能な限りすばやく生産性を最大化するには、濃い青色とオレンジ色の手順に従ってください。
インテル® コンパイラーのリソース
インテル® Advisor には、ベクトル化に関連するインテル® コンパイラーのオプションとディレクティブから構成される C++ ミニガイドおよび Fortran ミニガイドが用意されています。これらのミニガイドは、『インテル® コンパイラー・デベロッパー・ガイドおよびリファレンス』の該当ページを抜粋したものです。ベクトル化とコードの調査パースペクティブでは、ベクトル化の制約に関するコンパイラー診断を含む解析データの完全なセットを収集するため、インテル® oneAPI DPC++/C++ コンパイラー、インテル® C++ コンパイラー・クラッシック、またはインテル® Fortran コンパイラー・クラッシック・バージョン 15.0 以上が必要です。インテル® コンパイラーの各種ガイドとベクトル化診断の一覧は、以下を参照してください。
インテル® コンパイラーのガイドとリファレンス
注: メトリックのサブセットは GNU gcc* や Microsoft* コンパイラーでビルドしたバイナリーでも利用できます。
MPI のリソース
OpenMP* 並列化フレームワークや MPI を使用している場合、以下のリソースが役立ちます。
- ユーザーガイド: MPI アプリケーションを解析
- クックブックの活用例: MPI アプリケーションのベクトル化とメモリーアクセスを解析
ケーススタディー
以下のケーススタディーも参考になります。
- より効率的な数値シミュレーション (英語) [PDF]
- ケーススタディー: 天体物理学におけるより効率的な数値シミュレーション (英語)
- ルーフライン・モデルによりメニーコアコードの最適化作業を向上 (英語)
- ベクトル化が再び重要に
関連情報
インテル® デベロッパー・ゾーン (または iSUS) では、豊富なベクトル化リソースを提供しています。以下のページにあるさまざまなリソースへのリンクの一覧やハウツーガイドは、多くのインテル® Advisor ユーザーに役立ちます。
以下のページには、ベクトル化に関する情報と関連リソースへの多数のリンクが含まれています。いくつかのページでは、インテル® コンパイラーの最適化レポートやインテル® VTune™ プロファイラーの解析など、ほかのインテル® ソフトウェア開発ツールのベクトル化機能について取り上げていますが、掲載されている情報には、ベクトル化全般に関する有益な情報が含まれています。
多くのリソースは、現在のインテル® コンパイラー・バージョンに加えて、2 つの前のバージョンまでサポートしています。以前のインテル® コンパイラー・バージョン用に記述されたコンパイラー・リソースの多くは、現在のインテル® コンパイラー・バージョンにも当てはまります。多くの場合、バージョンによる違いが説明されています。
ハウツーガイド
以下は、インテル® デベロッパー・ゾーンにあるベクトル化に関するさまざまな記事とリソースです。
- 一般的なベクトル化のヒント
- インテル® コンパイラーの浮動小数点演算における結果の一貫性
- ベクトル化の可能性を高めるデータ・アライメント
- Fortran の明示的なベクトル・プログラミング
- インテルの組込み関数ガイド (英語)
- 外部ループのベクトル化
- ベクトルのフル活用と -qopt-assume-safe-padding オプションの使用 (英語)
- ベクトル化のコードブック [PDF]
法務上の注意書き
インテルのテクノロジーを使用するには、対応したハードウェア、特定のソフトウェア、またはサービスの有効化が必要となる場合があります。
絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。
実際の費用と結果は異なる場合があります。
© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。
本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。
インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。