46
インテル コーポレーション 開発製品部門 テクニカル・コンサルティング・エンジニア Kevin O’Leary インテル® Parallel Studio XE により アプリケーション・パフォーマンスを大幅に向上

インテルコーポレーション開発製品部門 テクニカル ......インテルコーポレーション開発製品部門 テクニカル・コンサルティング・エンジニア

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • インテルコーポレーション開発製品部門テクニカル・コンサルティング・エンジニアKevin O’Leary

    インテル® Parallel Studio XE によりアプリケーション・パフォーマンスを大幅に向上

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    パフォーマンスを引き出すコードを生成インテル® Parallel Studio XE

    ハイパフォーマンスでスケーラブルな HPC、エンタープライズ、およびクラウド・アプリケーションを作成 インテルのハードウェアとパフォーマンスの能力を最大限に利用

    インテル® Xeon® スケーラブル・プロセッサーとインテル® Xeon Phi™ プロセッサー向けのインテル® アドバンスト・ベクトル・エクステンション (インテル® AVX-512) を使用して一貫したプログラミングを実現

    最新のベクトル化、マルチスレッド、マルチノード、およびメモリーの最適化手法を利用して簡単にコードを作成および現代化

    最先端のコンパイラー、数値ライブラリー、パフォーマンス・プロファイラーにより最新のハードウェア向けにソフトウェアを確実に最適化

    プライオリティー・サポートによりインテルのエンジニアに技術的な質問を直接問い合わせ1

    • C、C++、Fortran、および Python* ソフトウェア開発者を支援標準規格に基づく並列モデルを使用: OpenMP*、MPI、インテル® TBB

    1ライセンス購入者のみ、サポートサービス更新時には割引も提供学生/アカデミック向けにインテル® ソフトウェア・ツールの割引または無料版 (英語) も用意

    2

    https://software.intel.com/en-us/articles/optimization-notice#opt-jphttps://software.intel.com/en-us/qualify-for-free-software

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    Cluster EditionProfessional EditionComposer Edition

    インテル® Parallel Studio XE のコンポーネント包括的なソフトウェア開発ツールスイート

    コードを強力に支援 - isus.jp/intel-parallel-studio-xe/

    インテル® VTune™ Amplifier

    パフォーマンス・プロファイラー

    解析解析ツール

    インテル® Advisorベクトル化の最適化と

    スレッドのプロトタイプ生成

    インテル® Inspectorメモリー/スレッドの

    デバッガー

    スケールクラスターツール

    インテル® Trace Analyzer & Collector

    MPI チューニングと解析

    インテル® MPI ライブラリーメッセージ・パッシング・

    インターフェイス・ライブラリー

    インテル® Cluster Checkerクラスター診断エキスパート・システム

    オペレーティング・システム: Windows*、Linux*、macOS*

    インテル® アーキテクチャー・ベースのプラットフォーム

    ビルドコンパイラーとライブラリー

    インテル® C/C++ コンパイラー

    最適化コンパイラー

    インテル® Distribution for Python*

    ハイパフォーマンスなスクリプト

    インテル® MKL2

    インテル® IPP3画像、信号、データ処理

    インテル® TBB1C++ スレッド・ライブラリー

    インテル® DAAL4インテル® Fortran コンパイラー

    最適化コンパイラー

    1インテル® スレッディング・ビルディング・ブロック2インテル® マス・カーネル・ライブラリー3インテル® インテグレーテッド・パフォーマンス・プリミティブ4インテル® データ・アナリティクス・アクセラレーション・ライブラリー

    3

    https://software.intel.com/en-us/articles/optimization-notice#opt-jphttps://www.isus.jp/intel-parallel-studio-xe/https://www.isus.jp/intel-vtune-amplifier-xe/https://www.isus.jp/intel-advisor-xe/https://www.isus.jp/intel-inspector-xe/https://www.isus.jp/itatc/https://www.isus.jp/intel-mpi-library/https://www.isus.jp/c-compilers/https://www.isus.jp/python-distribution/https://www.isus.jp/intel-mkl/https://www.isus.jp/intel-ipp/https://www.isus.jp/intel-tbb/https://www.isus.jp/intel-daal/https://www.isus.jp/fortran-compilers/

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    4

    インテル® Parallel Studio XE 2018 の新機能コードの現代化により高速でスケーラブルな移植性の高い並列コードを実現

    • 最新のインテル® Xeon® スケーラブル・プロセッサーとインテル® Xeon Phi™ プロセッサー向けのインテル® AVX-512 でアプリケーションのパフォーマンスを高速化。インテル® Omni-Path アーキテクチャーで MPI アプリケーションを高速化。

    • ハイパフォーマンスな Python* で HPC を高速化• パフォーマンスへの影響が大きく、最適化が不十分なループをインテル® Advisor のルーフライン解析機能で特定

    • 最新の標準規格と IDE に対応• C++14 の完全サポート、C++ 2017 (ドラフト) の初期サポート• Fortran 2008 の完全サポート、Fortran 2015 (ドラフト) の初期サポート• Python* 2.7/3.6 のサポート、OpenMP* 5.0 (ドラフト) の初期サポート• Microsoft* Visual Studio* 2017 との統合

    • ニーズに柔軟に対応• MPI、CPU、FPU、メモリーの使用状況を表示するパフォーマンス・スナップショット機能を使用してコードの高速化の可能性を素早く特定。

    MPICH と Cray* をサポート。• apt-get、yum、conda コマンドから最新のインテル® パフォーマンス・ライブラリーとインテル® Distribution for Python* にアクセス可能• インテル® パフォーマンス・ライブラリーとインテル® Distribution for Python* の新しく広範な再配布権

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® Parallel Studio XE によりアプリケーション・パフォーマンスを大幅に向上

    • どこから開始すべきか?• 診断と実装のフローチャート• スレッドの問題• ベクトル化の問題• メモリー/ストレージの問題• クラスターのスケーラビリティー• デモ• まとめ

    5

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    6

    どこから開始すべきか?

    • どのような最適化の可能性があるか?• 答えはアプリケーションに依存する

    • 最適化を開始する前に問題を高レベルで理解する• インテル® Advisor – ルーフライン解析• アプリケーション・パフォーマンス・スナップショット• インテル® VTune™ Amplifier – HPC パフォーマンス特性解析

    • 特にアプリケーションがクロスノードよりもクラスターでスケールする場合は、通信の問題に対応する必要がある

    • 単一ノードの最適化では、一般に次の問題に対応• スレッドの問題• ベクトル化の問題• メモリー/ストレージの問題

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    並列ハードウェアでパフォーマンスを最適化インテル® Parallel Studio XE

    クラスターでない場合はスキップMPI チューニング

    帯域幅の最適化スレッド化

    Y

    N

    YN

    Y Nベクトル化

    クラスターでスケーリングできる

    か?

    メモリー帯域幅に影響されるか?

    効率良くスレッド化されて

    いるか?

    繰り返し作業

    7

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    診断を支援するパフォーマンス解析ツールインテル® Parallel Studio XE

    インテル® Trace Analyzer & Collector

    MPI チューナー

    インテル® VTune™ Amplifier

    インテル® Advisor

    インテル® VTune™ Amplifier

    MPI チューニング

    帯域幅の最適化スレッド化

    Y

    N

    YN

    Y Nベクトル化

    クラスターでスケーリングできる

    か?

    メモリー帯域幅に影響されるか?

    効率良くスレッド化されて

    いるか?

    8

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    ハイパフォーマンスな実装を支援するツールインテル® Parallel Studio XE

    インテル® コンパイラー

    インテル® MPI ライブラリーとインテル® MPI Benchmarks

    インテル® MKLインテル® IPP (メディアおよびデータ・ライブラリー)インテル® DAALOpenMP*インテル® TBB (スレッド・ライブラリー)

    MPI チューニング

    帯域幅の最適化スレッド化

    Y

    N

    YN

    Y Nベクトル化

    クラスターでスケーリングできる

    か?

    メモリー帯域幅に影響されるか?

    効率良くスレッド化されて

    いるか?

    9

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    キャッシュを考慮したルーフライン概念

    • データ収集前にインテル® Advisor は簡単なベンチマークを実行してハードウェアの能力を評価• 計算の制限• メモリー帯域幅の制限

    • これらがパフォーマンスの "ルーフ" となる• ループと関数にはアルゴリズムがあり、特定

    の AI がある• ループと関数のパフォーマンス (FLOPS) を

    測定• 最適化によりパフォーマンスは変わる。目標

    は最大限のパフォーマンスを達成すること。

    FLOPS

    演算強度 (AI)

    FMA ピーク

    ベクトル加算ピーク

    スカラー加算ピーク

    ビデオ: インテル® Advisor 2018 のルーフライン解析

    ルーフラインは最初にカリフォルニア大学バークレー校によって提案された:Roofline: An Insightful Visual Performance Model for Multicore Architectures (英語), 2009

    キャッシュを考慮したルーフラインはリスボン工科大学によって提案された:Cache-Aware Roofline Model: Upgrading the Loft (英語), 2013

    11

    https://software.intel.com/en-us/articles/optimization-notice#opt-jphttps://software.intel.com/en-us/videos/roofline-analysis-in-intel-advisor-2017http://www.inesc-id.pt/ficheiros/publicacoes/9068.pdf

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    キャッシュを考慮したルーフライン使用法

    • 最初にトップルーフから最も離れている大きな赤色の点に注目する• 大きな赤色の点 = 多くの時間を費やしている• ルーフよりも下にある = パフォーマンス向上の

    可能性がある

    • 下のルーフ: ルーフのすぐ上にある場合を除き、ボトルネックの可能性は低い

    • 上のルーフ: ボトルネックの可能性が高く、最も近い上のルーフがボトルネックの原因の可能性が高い

    すべてのアルゴリズムがすべてのルーフを超えることはできない! 一部のアルゴリズムでは本質的に特定のボトルネックが避けられない

    注:

    12

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    New!

    ベクトル化、スレッド化、メモリー、MPI – インテル® VTune™ AmplifierHPC パフォーマンスの鍵

    MPI インバランス・メトリック クリティカル・パスのランクのパフォーマンスに関するメトリック インテル® VTune™ Amplifier で計算ボトルネックと外れ値のランクの動作を確認可能

    ランク間の通信パターンの問題にはインテル® Trace Analyzer & Collector (ITAC) を使用

    スレッド: CPU 使用率 シリアル時間と並列時間 パフォーマンス向上の可能性がある上位の OpenMP* 領域を表示 ヒント: 詳細は Hotspot OpenMP* 領域解析を使用

    メモリーアクセスの効率 メモリー階層でストール 帯域幅の使用状況 ヒント: メモリーアクセス解析を使用

    ベクトル化: FPU 使用率 サンプリングから FLOPS1 を推定 ヒント: 正確なメトリックとベクトル化の最適化にはインテル® Advisor を使用

    1第 3、5、6 世代インテル® Core™ プロセッサーと第 2 世代インテル® Xeon Phi™ プロセッサー (開発コード名 Knights Landing) 向け

    13

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    パフォーマンス・プロファイラーとスレッドのプロトタイプ生成ツールによりスレッドを最適化

    • インテル® VTune™ Amplifier • CPU 使用率とスレッドの並行性 (コンカレンシー) を解析• OpenMP* 解析

    • インテル® Advisor • スレッドのプロトタイプ生成と適合性解析

    15

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    • コードの最適化にかかる時間を短縮• C、C++、Fortran、Python*、Go*、Java* に加えて、これらの言語が混在したコードを正確にプロファイル

    • CPU、スレッド、メモリー、キャッシュ、ストレージほかを最適化

    • 時間を節約: 詳細な解析によりさらに詳しい情報が得られる

    • バージョン 2018 の新機能 (一部のみ抜粋)• 共有および分散メモリー・アプリケーションのメトリックを素早く取得

    • クロス OS 解析 – Windows* や macOS* からLinux* を解析

    • コンテナー内部もプロファイル

    インテル® VTune™ Amplifier パフォーマンス・プロファイラーによるアプリケーション・パフォーマンスとスケーラビリティーの解析とチューニング

    詳細: isus.jp/intel-vtune-amplifier-xe/

    16

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    CPU 使用率とスレッドの並行性 (コンカレンシー) を解析

    スレッドの並行性の平均は?

    CPU を効率良く使用できているか?

    17

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    アイドル (待機) 時間が多い理由は?

    上位の同期ポイント

    待機時間と呼び出し回数

    18

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    スレッド化モデルの詳細な解析

    OpenMP* 解析

    19

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    20

    設計、チューニング、デバッグ、実装開発を妨げることなく設計可能 — インテル® Advisor のスレッドのプロトタイプ生成

    • 問題• アプリケーションをスレッド化してもパフォーマンスがそれほど向上しない

    • "スケーラビリティーの限界" に達したのか? • 同期による問題からリリースを延期

    • データに基づくスレッド設計• 複数の選択肢のプロトタイプを素早く生成• 大規模システムでのスケーリングを予測• スレッド化を実装する前に同期エラーを発見• 開発を妨げることなく設計可能

    より少ない労力とリスクで、より大きな効果が得られる並列処理を実装

    「インテル® Advisor により、並列化候補のプロトタイプを素早く生成し、開発者の時間と労力を節約することができました。」

    Sandia National Laboratoriesシニア・テクニカル・スタッフSimon Hammond 氏

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    設計ツールにより非効率的なスレッド化コードのプロトタイプを生成

    インテル® Advisor

    コードが CPU 数でスケーリング

    するか?

    スピードアップを計算!

    21

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    1. コンパイラー診断 + パフォーマンス・データ + SIMD 効率

    モジュールを除外、インテル® MKL

    2. ガイダンス: 問題の検出と修正方法の推奨

    推奨事項の追加

    インテル® Advisor - バージョン 2018 の新機能

    3. "正確な" 反復回数と FLOPS。ルーフライン解析。アプリケーションの特徴付け。

    ルーフラインを正式サポート!

    呼び出し回数、インテル® MKL、命令数、より上位のルーフライン

    4. ループ伝播の依存性解析

    オーバーヘッドが減少

    5. メモリー・アクセス・パターン解析

    キャッシュ・シミュレーション(プレビュー機能)

    23

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® Advisor の調査: 注目 + 特徴付けベクトル化されたループを順序付けして注目

    • 効率 – パフォーマンスの温度計• 推奨事項 – パフォーマンス向上の

    ヒント• (スカラーループにも適用)

    24

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    データ依存性 – 困難な問題 1コンパイラーにベクトル化を強制しても安全か?

    DO I = 1, NA(I) = A(I-1) * B(I)

    ENDDO

    void scale(int *a, int *b){

    for (int i = 0; i < 1000; i++) b[i] = z * a[i];

    }

    25

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® Advisor のメモリー・アクセス・パターン (MAP): アクセスパターンを把握

    for (i=0; i

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    • KNL✝ 上でインテル® AVX-512 をネイティブ・プロファイル

    • 正確な FLOPS とマスク使用状況のプロファイラー• インテル® AVX-512 に関するアドバイスと

    "特徴"• その他...

    • インテル® AVX-512 コードのパフォーマンス・サマリー

    • インテル® AVX-512 のギャザー/スキャッター・プロファイラー

    • インテル® AVX-512 対応ハードウェアが手元になくても解析可能• –axcode オプションとインテル® Advisor の新しい調査

    機能を利用してインテル® AVX-512 コードを検証可能

    インテル® Advisor: インテル® AVX-512 固有のパフォーマンスに関する詳細情報

    27

    ✝開発コード名

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    FMA ピーク

    ベクトル加算ピーク

    スカラー加算ピーク

    キャッシュを考慮したルーフライン次のステップ

    メモリールーフの下または近くの場合

    スカラー加算ピークのすぐ上の場合

    ベクトル加算ピークよりも下の場合

    スカラー加算ピークの下の場合…

    FLOPS

    演算強度 (AI)

    • MAP 解析を実行する適切なキャッシュの最適化を行う

    • キャッシュを最適化できない場合は、アルゴリズムを見直して AI を上げる

    [Survey Report] の [Traits] 列で FMA が使用されているか確認使用されていない場合は、FMA が使用されるようにコードを変更するか、オプションを使用する

    [Survey Report] でベクトル化の効率を確認。効率が悪い場合は、推奨事項に従って改善する。

    [Survey Report] でループがベクトル化されているか確認。ベクトル化されていない場合は、可能であればベクトル化されるようにする。必要に応じて、依存性解析を実行して、安全にベクトル化を強制できるか確認する。

    28

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    メモリーアクセスの最適化メモリーアクセス解析 - インテル® VTune™ Amplifier

    • パフォーマンス向上のためデータ構造をチューニング• キャッシュミスを (コード行だけでなく) データ構造に紐付け

    • カスタム・メモリー・アロケーターのサポート

    • NUMA レイテンシーとスケーラビリティーの最適化• 共有とフォルス・シェアリングの最適化• システムの最大帯域幅を自動検出• ソケット間の帯域幅のチューニングが容易

    • 簡単なインストール、最新のプロセッサー• Linux* では特別なドライバーは不要• インテル® Xeon Phi™ プロセッサーの MCDRAM

    (高帯域幅メモリー) 解析

    30

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    • I/O 依存か、CPU 依存か?• I/O 操作 (非同期/同期) と計算の間のインバランスを調査

    • ストレージアクセスをソースコードにマップ• CPU が I/O を待機している個所を確認• ストレージへのバス帯域幅を測定

    • レイテンシー解析• レイテンシー・ヒストグラムを利用してストレージアクセスをチューニング

    • I/O を複数のデバイスに分散

    ストレージデバイス解析 (HDD、SATA、NVMe SSD)インテル® VTune™ Amplifier

    I/O 待機を伴う遅いタスク

    スライダーでI/O キューの深さのしきい値を設定

    31

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    メモリーアクセス解析

    • メモリー関連の問題に特化したインテル® VTune™ Amplifier の "メモリーアクセス" 解析タイプ• メモリー階層別のパフォーマンスの問題 (L1、L2、LLC、DRAM 依存)• 帯域幅によって制限されるアクセス

    • DRAM および QPI 帯域幅• NUMA の問題• パフォーマンス・イベントをメモリー・オブジェクトに関連付け (データ構造)

    • 以前のバージョンのインテル® VTune™ Amplifier の “帯域幅” 解析の後継

    32

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    プログラムのレイテンシーに関連しているメモリー・オブジェクトは?

    "lin_stream.cpp:100 (152MB)" は、ソースファイル lin_stream.cpp の行 100 で割り当てられたメモリー・オブジェクトを意味し、152MB は割り当てサイズ

    33

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    メモリー帯域幅を使用しているコードセクションとメモリー・オブジェクトの特定

    • 帯域幅の使用状況ヒストグラムを使用して、システム帯域幅の使用状況を特定の値ごと (帯域幅ドメインごと) に確認

    • 下のスライダーを使用して、帯域幅の使用率を "高"、"中"、"低" に分類可能

    34

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® MPI ライブラリーにより分散アプリケーションのパフォーマンスを大幅に向上パフォーマンス、スケーラビリティー、ファブリックの柔軟性

    分散コンピューティング向けの標準規格準拠の最適化された MPI ライブラリー オープンソースの MPICH 実装をベースに開発 低レイテンシー、高帯域幅、高スケーラビリティー向け

    にチューニング 柔軟な展開を可能にするマルチファブリック・サポート

    バージョン 2018 の新機能1 ジョブの起動時間が最大 11 倍スピードアップ ジョブのファイナライズ処理時間を最大 25% 削減 最新のインテル® Xeon® スケーラブル・プロセッサー

    をサポート

    詳細: isus.jp/intel-mpi-library/

    1詳細は、後述のベンチマーク・スライドを参照

    36

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    ハイパフォーマンス MPI アプリケーションのプロファイルと解析インテル® Trace Analyzer & Collector

    MPI アプリケーション向けの強力なプロファイラー、解析、視覚化ツール 低オーバーヘッドで正確なプロファイル、解析、正当

    性チェック チューニングと最適化に必要なプロセスの相互作用、

    hotspot、ロードバランスを簡単に視覚化 柔軟なワークフロー: コンパイル、リンク、または実行

    バージョン 2018 の新機能 OpenSHMEM* アプリケーションをサポート 最新のインテル® Xeon® スケーラブル・プロセッサー

    とインテル® Xeon Phi™ プロセッサーをサポート

    詳細: isus.jp/itatc/

    ロードマップに関する注意事項: ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の製品仕様およびロードマップをご希望の方は、インテルの担当者までお問い合わせください。 37

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® Cluster Checker 2018Linux* 向けのハイパフォーマンスな計算クラスター

    クラスターは複雑なシステム課題は次の人々のために複雑さを減らすこと• アプリケーション開発者• クラスター・アーキテクト• クラスターユーザー• システム管理者

    インテル® Cluster Checker はクラスターシステムの詳細を提供するエキスパート・システム・アプローチ• システム・ヘルス・チェック• 推奨アクションの提示• 幅広いフレームワークを提供• 統合サポート用 API

    38

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    インテル® Cluster Checker 2018 の新機能HPC クラスター・コンポーネントの連携を保証

    使いやすさとチェック機能を向上する新機能

    新しいインテルのシリコンとプラットフォーム要素 (プロセッサー、ファブリック、メモリー、ストレージ、クラスター・プロビジョニング、HPC プラットフォーム) をサポート

    チェックのグループ化による拡張性

    診断情報の改善

    インテル® スケーラブル・システム・フレームワークの典型的なHPC クラスター・リファレンス・アーキテクチャーの検証

    インテル® Omni-Path ファブリックの詳細なチェック

    複数のデータベース・ソースからデータを解析

    解析してルールを適用

    解決策を提示

    診断データを収集

    39

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    40

    アプリケーション・パフォーマンス・スナップショットに MPI を追加MPI + OpenMP* + メモリーのデータを 1 個所にまとめる — インテル® VTune™ Amplifier

    パフォーマンスの概要を簡単に素早く確認 パフォーマンス・チューニングが必要か?

    MPI と非 MPI アプリケーション✝ シングル/マルチスレッドの分散 MPI 共有メモリー・アプリケーション

    一般的な MPI 実装をサポート インテル® MPI ライブラリー MPICH と Cray* MPI

    計算効率に関する豊富なメトリック CPU (プロセッサー・ストール、メモリーアクセス) FPU (ベクトル化メトリック)

    ✝MPI は Linux* でのみサポート

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    MPI チューナー

    MPI チューナーは mpitune と呼ばれるユーティリティーで、次の 2 つのモードで動作して、特定のクラスターまたはアプリケーションに最適な設定を含むインテル® MPI ライブラリーの設定ファイルを作成する• クラスター固有 – インテル® MPI Benchmarks またはユーザー指定のベンチマーク・プログラムを使用してクラスター環境を評価し、インテル® MPI ライブラリーの最適な設定を特定する

    • アプリケーション固有 – MPI アプリケーションのパフォーマンスを評価して、インテル® MPI ライブラリーの最適な設定を特定する

    41

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

    次のステップ

    インテル® Parallel Studio XE 2018 をお試しください!• 製品の評価版: https://www.isus.jp/intel-parallel-studio-xe/

    ウェビナーもご覧ください!• https://software.seek.intel.com/fall-webinar-series (英語)

    • インテル® Xeon® プロセッサー上で要件の厳しいワークロードのパフォーマンスを向上する (英語) – オンデマンド

    • インテル® VTune™ Amplifier + OpenMP* によりスレッドのパフォーマンスとスケーラビリティーを向上する (英語) - 2017 年 9 月 28 日 (木) 午前 2 時 (日本時間)

    • メモリー・アクセス・プロファイル: 一般的なパフォーマンス・ボトルネックの特定と解決方法 (英語) - 2017 年 10 月 5 日 (木) 午前 2 時 (日本時間)

    44

    https://software.intel.com/en-us/articles/optimization-notice#opt-jphttps://www.isus.jp/intel-parallel-studio-xe/https://software.seek.intel.com/fall-webinar-serieshttps://software.seek.intel.com/fall-webinar-serieshttps://software.seek.intel.com/fall-webinar-serieshttps://software.seek.intel.com/fall-webinar-series

  • © 2017 Intel Corporation. 無断での引用、転載を禁じます。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

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

    本資料の情報は、現状のまま提供され、本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的財産権の侵害への保証を含む) をするものではありません。

    性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。 結果はこれらの要因によって異なります。 製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。

    © 2017 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Intel Core、Xeon、Intel Xeon Phi は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。

    最適化に関する注意事項

    インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

    注意事項の改訂 #20110804

    45

    https://software.intel.com/en-us/articles/optimization-notice#opt-jp