インテル® Parallel Studio XE
2020 の最新情報
エンタープライズ、クラウド、HPC、AI アプリケーションの並列コードを高速化

久保寺 陽子インテル® Parallel Studio XE - 概要

エンタープライズ、クラウド、HPC、AI 向けの高速でスケーラブルな並列アプリケーションを開発
インテル® Parallel Studio XE とは

対象ユーザー

使用すべき理由

エンタープライズ、クラウド、HPC、AI 向けのハイパ
フォーマンスでスケーラブルな並列アプリケーションを開発するための統合ツールスイート▪ OEM/ISV▪ インテル® Xeon® プロセッサーおよびインテル®
Core™ プロセッサーのパフォーマンスを向上▪ C++、Fortran、Python* パフォーマンス・ツールを含む: 業界最先端のコンパイラー、数値ライブラリー、
パフォーマンス・プロファイラー、コード・アナライザー▪ エンタープライズ、データセン
ター/クラウド、HPC、AI アプリ
ケーションのソフトウェア開発者、
ドメイン・スペシャリスト▪ Windows*、Linux*、macOS* をサポート▪ C++、Fortran、Python* 開発者▪ 少ない労力で、高速かつ安定した、スケーラブル
な並列コードを作成▪ コードを効率的に現代化 - 現在および将来のインテル® プラットフォーム向けに最適化▪ 標準規格に対応

30 日間無料評価版のダウンロード: www.xlsoft.com/jp/products/download/intelj.html
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

2

ハイパフォーマンスによりもたらされる利点▪ インテル® ハードウェアの能力を最大限に引き出してパフォーマンスを向上▪ アプリケーションとワークロードの処理をスピードアップ▪ 効率と開発者の生産性を向上▪ ビジネスの課題を解決し、革新を促進▪ フォワード・スケーリング、互換性と相互運用性を促進

インテル® Parallel Studio XE▪ 現在および将来のインテル® プラットフォームでパフォーマンスを向上▪ ハイパフォーマンスで安定したスケーラブルな並列コードを少ない労力で簡単に作成
3 つのエディション – Composer、Professional、Cluster
無料評価版のダウンロード
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

3

バージョン 2020 の新機能

インテル® Parallel Studio XE: クラウド、HPC、AI アプリケーションの並列コードを高速化
人工知能 (AI) の推論を高速化 - インテル® コンパイラーおよびアナライザーで、第 2 世代インテル® Xeon® スケーラブル・プロセッサー (開発コード名 Cascade
Lake/Cascade Lake AP) で利用可能なベクトル・ニューラル・ネットワーク命令(VNNI) をサポート
最大 512GB DIMM のパーシステント・メモリーに対応 - インテル® VTune™
プロファイラーを使用して、インテル® Optane™ DC パーシステント・メモリー向けのインテル® プラットフォームを特定、最適化、およびチューニング可能
言語規格のサポートを拡張 - 追加の Fortran 2018 機能、C++17 をフルサポート、
イニシャル C++20 をサポート
粗粒度のプロファイルを拡張 - インテル® VTune™ プロファイラーのプラット
フォーム・レベルの収集と解析

HPC クラウドをサポート - AWS* Elastic Fabric Adapter のサポートにより、
MPI アプリケーションで低レイテンシー、高帯域幅の通信を実現
新しい OS をサポート - Amazon* Linux* 2

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

4

インテル® Parallel Studio XE の活用例
さまざまな業界でハイパフォーマンスでスケーラブルなソフトウェアを実現
人工知能

Google Cloud Platform*

23 倍

エネルギー

10 倍

EDA

11 倍
8倍

科学/研究

the Walker Molecular
4倍Dynamics lab

製造業

1.4 倍

京都大学

1.35 倍

4倍

25 倍

政府機関
コンピューター・ソフトウェア

2.5 倍

IT

5倍

ヘルスケア

3倍

1.25 倍

1.3 倍
2倍

ほかの成功事例▪ インテル® Parallel
Studio XE のケーススタ
ディー▪ ケーススタディー (英語)
サイト

20 倍

デジタルメディア通信

2.5 倍

インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。詳細については、http://www.intel.co.jp/ を参照するか、OEM または販売店にお問い合わせください。性能の測定結果は ~2015-2017年のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。詳細については、公開されている構成情報を参照してください。絶対的なセキュリティーを提供できる製品はありません。性能に関するテストに使用されるソフトウェアとワークロー
ドは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。さらに詳しい情報をお知りになりたい場合は、http://www.intel.com/benchmarks/ (英語) を参照してください。システム構成は、インテル®
Parallel Studio XE ケーススタディーおよびケース・スタディー・サイト (英語) を参照してください。

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

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

5

インテル® Parallel Studio XE のコンポーネント
包括的なソフトウェア開発ツールスイート
Composer Edition
ビルド
コンパイラーとライブラリー
インテル®
C/C++、Fortranコンパイラーインテル® MKL1
インテル® DAAL2
インテル® TBB3
C++ スレッド・ライブラリー

インテル® IPP4

Professional Edition
解析
解析ツール
インテル® VTune™
プロファイラー
パフォーマンス・プロファイラー

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

Cluster Edition
スケール
クラスターツール
インテル® MPI ライブラリー
メッセージ・パッシング・インターフェイス・ライブラリーインテル® Trace Analyzer &Collector
MPI チューニングと解析

画像、信号、データ処理

インテル® Advisor

Python* 向けインテル® ディストリビューション
ハイパフォーマンスな Python*

ベクトル化の最適化、スレッドのプロトタイプ生成、
フローグラフ解析

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

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

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

コードを強力に支援 - xlsoft.com/jp/products/intel/studio_xe/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

1 インテル® マス・カーネル・ライブラリー
2 インテル® データ・アナリティクス・アクセラレーション・ライブラリー
3 インテル® スレッディング・ビルディング・ブロック
4 インテル® インテグレーテッド・パフォーマンス・プリミティブ
5 インテル® Parallel Studio XE Composer Edition でのみ利用可能

6

ビルド

解析

スケール

インテル® C++ コンパイラー
インテル® Fortran コンパイラー
Python* 向けインテル® ディストリビューション
インテル® MKL
インテル® IPP
インテル® TBB
インテル® DAAL
Composer Edition に含まれる

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

インテル® MPI ライブラリー
インテル® Trace Analyzer & Collector
インテル® Cluster Checker

Professional Edition に含まれる

Cluster Edition に含まれる

インテル® コンパイラーによる高速でスケーラブルな並列コード
最先端の C/C++ および Fortran コード・パフォーマンスを実現、最新のインテル® プロセッサーの能力を最大限に活用▪ インテル® Xeon® プロセッサーを含むインテル®
アーキテクチャー向けに最適化およびベクトル化
されたコードを開発▪ 最新の言語標準と OpenMP* 標準規格の利用、
主要なコンパイラーおよび IDE との互換性

詳細: xlsoft.com/jp/products/intel/compilers/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

8

インテル® コンパイラー: 開発者に大きな価値を提供
ソフトウェア開発者にとって重要なポイント

課題

インテル® コンパイラーの利点

最新のハードウェア・
イノベーションを利用しなければならない

最新の x86 互換プロセッサーと命令セットの能力を最大限に引き出すことができる

生産性
主要な言語とプログラミ
生産性を向上でき、使いやす ング・モデルがサポートさくなければならない
れていなければならない

最新の Fortran、C/C++、
OpenMP* 標準規格をサポート
し、主要なコンパイラーおよびIDE と互換性がある

スケーラビリティー
アプリケーションをローカルで開発・デバッグし、グローバ
ルに配置する必要がある

新しい世代のプロセッサーでもコードを変更することなくスケーラブルなパフォーマンス
を実現できる

パフォーマンス
高速なアプリケーションを開発する必要がある

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

急速に増え続けるコア数とベクトル幅に合わせてコードを保守しなければならない

9

インテル® コンパイラー 19.1 の新機能
すべてのバージョンに共通の更新内容
インテル® アーキテクチャーのサポートを強化 - Intel Atom® プロセッサーからインテル® Xeon® スケーラブ
ル・プロセッサーまで、広範なインテル® アーキテクチャー向けに最適化されたコードを生成
優れた並列パフォーマンスを実現 - (OpenMP* を使用した) ベクトル化とスレッド化により、インテル® アドバ
ンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 命令を含む最新の SIMD 対応ハードウェアを活用

C++ の新機能

Fortran の新機能

C++17 標準規格をフルサポート

Fortran 2018 の大部分をサポート▪ ラムダ式と定数式のサポートを向上▪ Co-Array 機能: EVENTS および COSHAPE▪ GNU* C++ コンパイラーおよび Microsoft* コンパイラーとの互換性を向上▪ IMPORT 文の拡張

標準規格に基づく並列化により C++ 開発者を支援▪ OpenMP* 5 の一部をサポート▪ 最新の並列化仕様によりコードを現代化

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

▪ デフォルトのモジュールアクセス

OpenMP* 4.5 の完全サポート (ユーザー定義のリダクションに対応)▪ ランタイムに配列の適合性をチェックする check shape オプション

10インテル® Fortran コンパイラーによる優れたアプリケーション・パフォーマンス ― Linux*

1.23
X

Polyhedron* ベンチマーク
相対 (相乗平均) パフォーマンス (数値が大きいほど高性能)
自動並列化
非自動並列化
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0

1.6
1.717

1.4

1.21

1.2
1.1242

1

1.012

2.38X

1.49

1.07

1.13
1

1

0.8
0.6
0.4
0.2
0

インテル® Fortran 19.1

GFortran 9.2.0

Open64 4.5.2

PGI* 19.1

インテル®
Fortran 19.1 NP

GFortran NP

AOCC 2 NP

Open64 4.6.2 NP PGI* 19.1 NP

Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer. Performance results are based on testing
as of Dec. 12, 2019 and may not reflect all publicly available security updates. See configuration disclosure for details. No product can be absolutely secure. Software and workloads used in performance tests may have been optimized
for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors
may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For
more complete information visit www.intel.com/benchmarks.
Configuration: Testing by Intel as of Dec. 12, 2019. Hardware: Intel® Core™ i7-6700 CPU @ 3.40GHz, HyperThreading is on. RAM 8G. Software: Intel® Fortran Compiler 19.1, PGI Fortran* 19.1, Open64* 4.6.2, gFortran* 9.2.0. Red
Hat Enterprise Linux Server release 7.4 (Maipo), Kernel 3.10.0-693.11.6.el7.x86_64 Polyhedron Fortran Benchmark (www.fortran.uk). Linux compiler switches: Auto-parallel: Gfortran:gfortran -Ofast -mfpmath=sse -flto -march=skylake funroll-loops -ftree-parallelize-loops=8. Intel Fortran compiler: -fast -parallel -xCORE-AVX2 -nostandard-realloc-lhs. PGI Fortran: pgf95 -fast -Mipa=fast,inline -Msmartalloc -Mfprelaxed -Mstack_arrays -Mconcur –mp=bind. Open64:
openf95 -march=auto -Ofast -mso -apo. Non-auto parallel (NP): ifort -fast -xCORE-AVX2 -nostandard-realloc-lhs. open64:openf95 -march=auto -Ofast -mso. gcc: gfortran -Ofast -mfpmath=sse -flto -march=native -funroll-loops. pgi:
pgf95 -fast -Mipa=fast,inline -Msmartalloc -Mfprelaxed -Mstack_arrays. aocc: flang -flto -Wl,-mllvm -Wl,-function-specialize -Wl,-mllvm -Wl,-region-vectorize -Wl,-mllvm -Wl,-reduce-array-computations=3 -ffast-math -Wl,-mllvm -Wl,-inlinerecursion=4 -Wl,-mllvm -Wl,-lsr-in-nested-loop -Wl,-mllvm -Wl,-enable-iv-split -O3 -flto -march=znver2 -funroll-loops -Mrecursive -mllvm -vector-library=LIBMVEC -z muldefs -lamdlibm -lflang -lamdlibm -lm
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These
optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness ofany optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intelmicroprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product Userand Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804

11ネイティブコードに近いパフォーマンスを実現▪ 科学計算、マシンラーニング、データ解析向けに
NumPy*/SciPy*/scikit-learn を高速化
▪ 既存の Python* から簡単に移行可能 - コード変更不要▪ 最新のインテル® プロセッサー向けの高度な最適化

バージョン 2020 の新機能
▪ Python* のバージョンを 3.7 に更新▪ インテル® DAAL を使用して高速化された scikit-learn の主要アルゴリズムによりマシンラーニングのパフォーマン
スを向上▪ 改良された daal4py パッケージを使用して Python* API
でインテル® DAAL 機能を利用するデータ・サイエンティス
トのニーズに対応

インテル® MKL を使用したネイティブ
コードに対するパフォーマンス効率

Python* 向けインテル® ディストリビューションで Python* を高速化
インテルによる Python* 向け最適化はネイティブコード scikit-learn に匹敵するパフォーマンスを達成 - インテル® Xeon® プロセッサー

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

stock Python*Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, softwareor service activation. Learn more at intel.com, or from the OEM or retailer. Performance results are based on testing
as of Nov. 27, 2019 and may not reflect all publicly available security updates. See configuration disclosure for details.
No product can be absolutely secure. Software and workloads used in performance tests may have been optimized
for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured
using specific computer systems, components, software, operations and functions. Any change to any of those factors
may cause the results to vary. You should consult other information and performance tests to assist you in fully
evaluating your contemplated purchases, including the performance of that product when combined with otherproducts. For more complete information visit www.intel.com/benchmarks.
Configuration: Testing by Intel as of Nov. 27, 2019. Stock Python: python 3.7.5 h0371630_0 installed from conda, numpy 1.17.4, numba 0.46.0, llvmlite 0.30.0, scipy 1.3.2, scikit-learn 0.21.3 installed from pip; Intel Python: Intel®
Distribution for Python* 2020 Gold: python 3.7.4 hf484d3e_3, numpy 1.17.3 py37ha68da19_4, mkl 2020 intel_133, mkl_fft 1.0.15 py37ha68da19_3, mkl_random 1.1.0 py37ha68da19_0, numba 0.45.1 np117py37_1, llvmlite 0.29.0
py37hf484d3e_9, scipy 1.3.1 py37ha68da19_2, scikit-learn 0.21.3 py37ha68da19_14, daal 2020 intel_133, daal4py 2020 py37ha68da19_4; CentOS Linux 7.3.1611, kernel 3.10.0-514.el7.x86_64; Hardware: Intel(R) Xeon(R) Platinum
8280 CPU @ 2.70GHz (2 sockets, 28 cores/socket, HT: off), 256 GB of DDR4 RAM, 16 DIMMs of 16 GB@2666MHzIntel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets andother optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended foruse with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding thespecific instruction sets covered by this notice. Notice revision #20110804
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

12

インテル® MKL による高速でスケーラブルなコード▪ 高度に最適化、スレッド化、ベクトル化された数学関数により、科学、工学、金融アプリケーションにおける計算を高速化▪ 密/疎線形代数 (BLAS、LAPACK、PARDISO)、FFT、ベクトル演算、サマリー統計、スプラインなどの主な機能を提供▪ コードを分岐せずに各プロセッサー向けに最適化されたコードを自動ディスパッチ
▪ シングルコアのベクトル化およびキャッシュ効率を向上
する最適化▪ マルチコア CPU の自動並列化、コアからクラスターに
スケーリング▪ yum、apt-get、conda、Cloudera および NuGet でダウンロードまたは無料のライブラリー・プログラムの一部として入手

インテル® MKL に含まれる機能
密線形代数

疎線形代数
高速フーリエ変換
ベクトル演算ベクトル RNG
その他 ...

インテル® Parallel Studio XE およびインテル® System Studio の一部として利用可能

インテル® アーキテクチャー・ベースのプラットフォーム
オペレーティング・システム: Windows*、Linux*、macOS*
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

13

インテル® MKL 2020 の新機能 (ドメイン別リスト)
BLAS▪ インテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2) およびインテル® AVX-512 命令セットで C オフセットが非ゼロの場合に小から中サイズの iGEMM のパフォーマンスが向上▪ N が小さい TN ケースの SGEMM のパフォーマンスが向上▪ GEMM_S8U8S32 および GEMM_S16S16S32 でインテル® TBB のスレッドを有効化▪ インテル® AVX およびインテル® ストリーミング SIMD 拡張命令 4.2 (インテル® SSE4.2) 命令セットで 8 ビット/16 ビット iGEMMの最適化を追加▪ アルファスケール係数が整数値でない場合のインテル® AVX2 およびインテル® AVX-512 アーキテクチャーにおける
GEMM_S8U9S32 と SGEMM_S16S16S32 の精度問題に対処

ScaLAPACK▪ 実上準三角行列の一部またはすべての右/左固有ベクトルの計算向けの P{D,S}TREVC 関数を追加

乱数ジェネレーター (RNG)▪ MRG32k3a/Philox4x32-10/ARS-5 基本乱数ジェネレーターの乱数ジェネレーター向けの高度な SkipAhead メソッドを追加▪ インテル® AVX-512 システムの ARS-5 基本乱数ジェネレーターのパフォーマンスを向上

サマリー統計▪ インテル® AVX2 およびインテル® AVX-512 命令セットでロー/中心積率/和、分散/共分散/相関/クロス積行列の高速計算メソッドのパフォーマンスが向上

ライブラリー・エンジニアリング▪ モジュール・ファイル・サポートを追加最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

14

画像、信号、データ処理アプリケーション向けのビルディング・ブロック
インテル® IPP

ドメイン

画像処理

インテル® IPP の概要
インテル® IPP は、画像処理、信号処理、デー
タ圧縮、暗号化計算を高速化する、すぐに使える、プロセッサー向けに最適化された関数を開発者に提供

さまざまな取り組み•

データセンター

クラウド・
コンピューティング

インテル® IPP を使用する理由
▪
▪
▪
▪
▪

ハイパフォーマンス
簡単に使える API
開発期間を短縮
プロダクション環境にも対応
クロスプラットフォーム API

医療用画像
コンピューター・ビジョン
デジタル監視

•
•

ADAS
自動ソート
生体認証
視覚探索

信号処理
•
•
•
•

IoT

•
•
•
•

ゲーム (高度なオーディオコンテンツやエフェクト)
エコー・キャンセレーション
通信
エネルギー

組込みシステム

データ圧縮と暗号化

インテル® IPP の入手方法▪ インテル® Parallel Studio XE▪ インテル® System Studio▪ 無料ツールプログラム (英語)バージョン 2020 の新機能
▪ インテル® 第10世代Core ファミリーのインテル® AVX-512命令セットをサポート

•
•
•
•
•
•

データセンターエンタープライズ・データ管理
ID 検査
スマートカード/スマートウォレット
電子署名
情報セキュリティー/サイバーセキュリティー

詳細: xlsoft.com/jp/products/intel/perflib/ipp/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

15

インテル® TBB による高度なスレッド化
スレッド化を利用してマルチコア・パフォーマンスとヘテロジニ
アス・コンピューティングを活用▪ CPU、GPU、FPGA にわたって計算負荷の高い作業を並列処理 - C++
で高レベルのシンプルなソリューションを提供▪ 並列プログラミング向けの機能が豊富で包括的なソリューション
▪ 優れた移植性、構成の容易性、コスト、アプローチを備えた将来にわたるスケーラビリティー

バージョン 2020 の新機能
▪ NUMA 対応アプリケーションの開発を簡素化するため task_arena
インターフェイスを拡張▪ 非推奨の機能が使用されたときに警告を表示▪ フローグラフのノードに C++17 推定ガイドを追加
詳細: xlsoft.com/jp/products/intel/perflib/tbb/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

16

ヘテロジニアス・サポート
インテル® TBB

ヘテロジニアス調整レイヤーとしてインテル® TBB のフローグラフは最適化の可能性を保持し、既存のモデルで構成+

インテル® TBBOpenVX*
OpenCL*
COI/SCIF…

CPU、統合 GPU など
ライブラリー実装の構成レイヤーとしてのインテル® TBB▪ 1 つのスレッドエンジンで CPU 側の全処理に対応

調整レイヤーとしてのインテル® TBB フローグラフ▪ ヘテロジニアス・ハードウェアとソフトウェアをつなぎ合わせる▪ ブロック間の並列性を示し、統合を容易にする
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

17

スピードアップインテル® Xeon® プロセッサーにおけるインテル® TBB の優れたパフォーマンス・スケーラビリティー

ハードウェア・スレッド数
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer. Performance results are based on testing as ofJuly 31, 2018 and may not reflect all publicly available security updates. See configuration disclosure for details. No product can be absolutely secure. Software and workloads used in performance tests may have been optimized. forperformance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may
cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more
complete information about performance and benchmark results, visit www.intel.com/benchmarks.
Configuration: Testing by Intel as of July 31, 2018. Software versions: Intel® C++ Intel® 64 Compiler, Version 18.0, Threading Building Blocks (TBB) 2019; Hardware: 2x Intel® Xeon® Gold 6152 CPU @ 2.10GHz, 192GB Main Memory;
Operating System: CentOS Linux* release 7.4 1708 (Core), kernel 3.10.0-693.e17.x86_64; Note: sudoku, primes and tachyon are included with Intel® TBB.
Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and otheroptimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intelmicroprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction
sets covered by this notice. Notice revision #20110804
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

18

インテル® DAAL による解析とマシンラーニングのスピードアップ
マシンラーニングとビッグデータ解析のパフォーマンス
を高速化▪ アプリケーションがより速くより優れた予測を行えるように支援▪ 最高のパフォーマンスを引き出せるようにデータの取り込みとアルゴリズムの計算を最適化▪ 広範なアプリケーションのニーズを満たす、オフライン、ストリーミ
ング、分散型使用モデルをサポート▪ エッジデバイスとクラウドサービス間で解析ワークロードを分割してアプリケーション全体のスループットを最適化

バージョン 2020 の新機能
新しいアルゴリズム▪ ハイパフォーマンス多項 Adaboost、広く利用されている分類
アルゴリズム▪ 拡張勾配ブースティング機能、確率的分類と変数の重要度計算を提供▪ 拡張決定木機能、確率的分類と加重データを提供

詳細: xlsoft.com/jp/products/intel/perflib/daal/

前処理

変換

解析

モデリング

検証

意思決定

展開、
フィルタリング、正規化

集計、
次元縮小

サマリー統計
クラスタリングなど

マシンラーニング (訓練)、パラメーター推定、
シミュレーション

仮説検証、
モデルエラー

予測、決定木など

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

19

ビルド

解析

スケール

インテル® C++ コンパイラー
インテル® Fortran コンパイラー
Python* 向けインテル® ディストリビューション
インテル® MKL
インテル® IPP
インテル® TBB
インテル® DAAL
Composer Edition に含まれる

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

インテル® MPI ライブラリー
インテル® Trace Analyzer & Collector
インテル® Cluster Checker

Professional Edition に含まれる

Cluster Edition に含まれる

インテル® VTune™ プロファイラーによるアプリケーションのパフォーマンスの解析とチューニング
より分かりやすい製品名に変更
コードの最適化にかかる時間を短縮▪ C、C++、Fortran、Python*、Go*、Java* に加えて、これらの言語が混在したコードを正確にプロファイル▪ CPU、スレッド、メモリー、キャッシュ、ストレージほかを最適化▪ 時間を節約: 詳細な解析により洞察が得られる▪ プライオリティー・サポート (英語) の利用– インテルのエンジニアに技術的な質問を直接問い合わせ可能 (有償バージョン)

バージョン 2020 の新機能 (一部のみ抜粋)

詳細: xlsoft.com/jp/products/intel/vtune/

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

▪ プラットフォーム・プロファイラーの正式リリース - 長いデータ収集▪ インテル® Optane™ DC パーシステント・メモリー向けに設計
および最適化▪ アプリケーション・パフォーマンス・スナップショット - 通信パター
ン診断を追加、多くのランクをプロファイル▪ Linux* - perf の使用を拡張、ドライバーを追加しない解析が可能
21

さまざまな分野に対応した豊富なプロファイル機能インテル® VTune™ プロファイラー

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

22

インテル® VTune™ プロファイラー 2020
新機能(一部のみ抜粋)

新しいプロダクション機能
▪
▪
▪
▪
▪
▪
▪
▪
▪

プロダク
インテル® Optane™ DC パーシステント・メモリー向けに設計および最適化
ション機能
プラットフォーム・プロファイラー - システムメトリックを素早く分かりやすく表示
I/O 解析 - PCIe* デバイスメトリックを強化
HPC 解析 - ベクトル化メトリックを合理化、プロセス/スレッド・アフィニティーを表示
アプリケーション・パフォーマンス・スナップショット - 通信パターン診断、多くのランクをプロファイル
マイクロアーキテクチャー解析 – 最新のプロセッサーに対応 (開発コード名 Cascade Lake など)
OpenCL* 解析 – インラインフィルター、中間言語、命令カウント
Linux* - perf の使用を拡張、ドライバーを追加しない解析が可能
パフォーマンス解析クックブック – 一般的な解析手法のレシピ

新しいプレビュー/試験的機能▪
▪
▪
▪

プロセス・スレッド・アフィニティー可観測性 (プレビュー機能)
ファブリック・プロファイラー – 通信ボトルネックを診断 (プレビュー機能)
Lustre* 並列ファイル I/O 解析 (試験的機能)
プロセッサー・トレース – 非常に短い異常検知 (試験的機能)最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

プレビュー
機能

23

インテル® Optane™ DC パーシステント・メモリー向けに最適化
新しいメモリー・テクノロジー
インテル® Optane™ DC パーシステント・
メモリー

DRAM
属性

Nand
SSD 属性

低レイテンシーでDRAM に匹敵する
パフォーマンス1

DRAM よりも
高容量で
データを
保持2

インテル® VTune™ プロファイラーで解析
より大きなメモリーの構成の問題点と可能性を検出

プラットフォーム・
プロファイラー

ホット/ウォーム/クール
メモリーのデータ構造を識別

メモリー解析

I/O ボトルネックを特定

ストレージ
解析

パーシステント・メモリーの使用をチューニング

上記のすべて1. “DRAM に匹敵するパフォーマンス” - インテル® Optane™ DC パーシステント・メモリーは DDR4 DRAM に近いレイテンシーで動作すると予想される。ベンチマークおよび詳細は近日公開予定。
“低レイテンシー” - メモリーバス間のデータ転送のレイテンシーは PCIe* または I/O バスと NAND/ハードディスク間のデータ転送に比べて桁違いに低い。ベンチマークおよび詳細は近日公開予定。
2. インテル® Optane™ DC パーシステント・メモリーは 3 つの異なる容量 (128GB、256GB、512GB) を提供。DDR4 DRAM の個々の DIMM は最大 256GB。
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

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

24

ワークロードとシステム構成のチューニング
インテル® VTune™ プロファイラー

検出

パフォーマンス・メトリック▪ 構成の問題点▪ 適切にチューニングされていないソフト
ウェア

▪
▪
▪
▪

ターゲットユーザー▪ インフラストラクチャー・アーキテクト▪ ソフトウェア・アーキテクト/QA

キャプチャー時間の拡張 (数分～数時間)
低オーバーヘッド – 粗粒度のメトリック
OS/ハードウェア・パフォーマンス・カウンターのサンプリング
スクリプトによる解析が簡単な RESTful API

タイムラインとヒストグラム

コア間の比較

サーバートポロジーの概要

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

25

未活用のパフォーマンスを素早く発見する方法

インテル® VTune™ プロファイラー - アプリケーション・パフォーマンス・スナップショット
パフォーマンスの概要を簡単に素早く確認▪ 休憩中にテストケースをインストールして実行可能

すべてのデータを 1 カ所に表示▪ MPI + OpenMP* + メモリー + 浮動小数点

一般的な MPI 実装をサポート▪ インテル® MPI、MPICH、OpenMPI、Cray* MPIバージョン 2020 の新機能
▪ 通信パターン診断▪ 平均だけでなく高帯域幅の時間を確認▪ 64K ランクを超える大きな MPI アプリケーションを
プロファイル

無料ダウンロード: intel.com/performance-snapshot (英語)Linux* のみ最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

26

通信ボトルネックを診断
インテル® VTune™ プロファイラー

アプリケーション・
パフォーマンス・
スナップショット

一般的なボトルネック▪ 遅いスイッチまたは遅いノードアダプター▪ 効率の低いスケジューリング

MPI ランク間通信

プロダク
ション機能

▪ アプリケーション・パフォーマンス・スナップショット

ファブリック・プロファイラー (プレビュー機能、旧 ESP)
▪ インテル® VTune™ プロファイラー 2020 に付属▪ プレビューでは別のインターフェイス▪ 最初は SHMEM のみ (MPI は未対応)▪ InfiniBand*、Cray* Aries およびインテル® Omni-Path アーキテクチャー
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

2020
プレビュー
機能

ファブリック・プロファイラー
通信時系列

同期統計

遅延 hotspot
解析
27

プロセス・スレッド・アフィニティー可観測性
インテル® VTune™ プロファイラー - HPC パフォーマンス特性

2020
プレビュー
機能

スレッド・アフィニティーとマイグレーションを視覚化▪ CPU の不十分な利用と NUMA 関連のパフォーマンス
問題を特定▪ アフィニティー設定が予想通りに動作していることを素早く確認

コマンドラインまたは UI▪ 個別の HTML レポートを生成最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

28

新規ユーザーにも使いやすい
インテル® VTune™ プロファイラー

ようこそページに新規ユーザー向けの情報を追加▪ ドキュメントとトレーニングへのクイックアクセス

ビルトインのサンプルコード、事前収集済みの結果▪ チュートリアルを容易に利用可能

ツアーを用意▪ 重要なユーザー・インターフェイスのコントロールを素早く習得

コマンドライン・ヘルプを改良▪ 構造を改良、詳細を提供

Linux* - さらに多くの perf をサポート▪ インテルのドライバーをインストールできない場合に perf で結果を表示最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

29

短いパフォーマンス異常を診断

インテル® VTune™ プロファイラー - プロセッサー・トレース

2020
試験的
機能

統計メソッドを示唆する問題を特定▪ 外部割り込み▪ スキップされたビデオフレーム▪ 長いネットワーク・パケット処理▪ 長い金融取引
非常に細粒度の時間およびイベントデータ▪ すべての分岐をキャプチャー
▪ マイクロおよびナノ秒の粒度▪ 多くのデータを生成▪ 循環バッファーおよびマネージ収集のトリガー
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

30

Lustre* 並列ファイル I/O 解析
インテル® VTune™ プロファイラー

2020
試験的
機能

主要メトリックでアプリケーション・パフォーマンスに与える I/O の影響を測定▪ I/O 待機時間、I/O 帯域幅、パケットレート、パケットサイズ
平均メトリックのサマリー:

タイムライン: 時間でメトリックをフィルター(オプション)

詳細メトリック: 並列ファイルシステム共有で整理

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

31

インテル® Advisor で最新のソフトウェアを設計
ベクトル化の最適化、スレッドのプロトタイプ生成、フローグラフの作成と解析

機能
▪
▪
▪
▪
▪

ベクトル化とその最適化
メモリーパターン解析
迅速なスレッドのプロトタイプ生成
各ループのパフォーマンスのヘッドルームを示す
フローグラフを作成して解析バージョン 2020 の新機能 (一部のみ抜粋)▪ インテル® AVX-512 VNNI をサポート▪ 統合ルーフライン▪ ボトルネックを引き起こしているキャッシュレベルを正確に特定▪ ルーフライン・ガイダンス▪ ループ固有の実行可能な最適化を推奨

詳細: xlsoft.com/jp/products/intel/advisor/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

▪ ルーフラインの比較▪ 1 つのグラフに複数のルーフラインの結果を表示して最適化の
進捗を追跡
32

最新ハードウェア向けのコードを設計するツール
ベクトル化の最適化、スレッドのプロトタイプ生成、フローグラフの作成と解析

詳細: xlsoft.com/jp/products/intel/advisor/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

33

“自動” ベクトル化では不十分

優れたコンパイラーはベクトル化の最適化によりさらなる利点を得ることができる

コンパイラーは常にベクトル化するとは限らない▪ インテル® Advisor でループ伝播の依存性を確認▪ 依存性がない場合はベクトル化を強制し、プラグマ simd(C++)、SIMD ディレクティブ (Fortran) を使用

すべてのベクトル化が効率的であるわけではない▪ ストライド 1 のほうがストライド 2 以上よりもキャッシュ効率が良い - インテル® Advisor を使用して解析▪ SIMD Data Layout Templates (英語) を利用してデータ
レイアウトの変更を検討

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

以前紹介したベンチマークはすべて “自動ベクトル化” したものではない。ベクトル化を強制し、さらなるパフォーマンスを引き出す
ため、コンパイラー・ディレクティブを使用している。
構造体配列はデータを直感的に整理するのには適しているが、配列構造体よりも効率が悪いため、
SIMD Data Layout Templates(英語) を利用してベクトル化に適した効率良いレイアウトに
データをマップする。

34

ブレークスルーのベクトル化パフォーマンスを実現
インテル® Advisor - ベクトル化アドバイザー

素早くベクトル化を最適化
▪
▪
▪
▪
▪

最も大きな利点が得られる個所をベクトル化
ベクトル化を妨げているものを素早く特定
効率良いベクトル化のためのヒント
安全にコンパイラーによるベクトル化を強制
メモリーストライドを最適化必要なデータとガイダンス▪ コンパイラー診断 + パフォーマンス・データ +SIMD 効率▪ 問題の検出と修正に関する推奨事項▪ ループ伝播の依存性解析▪ メモリー・アクセス・パターン解析

インテル® AVX-512 対応ハードウェアの有無に関係なくインテル® AVX-512 向けに最適化
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

35

設計、チューニング、デバッグ、実装

インテル® Advisor のスレッドのプロトタイプ生成 - 開発を妨げることなく設計可能問題▪ アプリケーションをスレッド化してもパフォーマンスがそれほど向上しない▪ "スケーラビリティーの限界" に達したのか?
▪ 同期問題によりリリースを延期

データに基づくスレッド設計▪
▪
▪
▪

複数の選択肢のプロトタイプを迅速に生成
大規模なシステムにおけるスケーリングを予測
スレッド化する前に同期問題を発見
開発を妨げることなく設計可能より少ない労力とリスクで、より大きな効果が得られる並列処理を実装

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

「インテル® Advisor により、並列化候補のプロトタイプを素早く生成し、開発者の時間と労力を節約することができました。」
Sandia National Laboratories
シニア・テクニカル・スタッフ
Simon Hammond 氏
36

効率良い最適化手法を特定

インテル® Advisor - キャッシュを考慮したルーフライン解析

ルーフライン・パフォーマンスの詳細な情報▪ パフォーマンスの悪いループをハイライト▪ 各ループの「最大」パフォーマンスを表示– 最適化可能なループ– 最適化する価値のあるループ▪ ボトルネックの原因の可能性を表示「インテル® Advisor の新しい “統合ルーフライン” は素晴らしい機能です。メモリー転送の最適化とベクトル化という重要で難しい課題に、ステップ・バイ・ステップのアプローチで対処できるの
Onera (フランス国立航空宇宙研究所) です。」

▪ 次の最適化ステップを提案

ソフトウェア・アーキテクト、Nicolas Alferez 氏
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

37

フローグラフをインタラクティブにビルド、検証、解析
インテル® Advisor - フローグラフ・アナライザー
フローグラフの設計および解析▪ コードスタブを視覚的に生成▪ 並列 C++ プログラムを生成▪ アルゴリズムのノードやエッジをクリックしてズームし、並列データとプログラムフローを理解▪ ロードバランス、コンカレンシー、その他の並列特性を解析し、プログラムを細かくチューニング
▪ インテル® TBB または OpenMP* 5 の OMPT API を使用最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

38

インテル® Inspector によるメモリーとスレッドのデバッグ

メモリーリーク、異常、データ競合、デッドロック、パーシステント・メモリー・エラーの特定とデバッグ
正当性検証ツールにより ROI が 12%-21%1 向上▪ 早期に問題を発見したほうが修正コストが少なくて済む▪ 競合やデッドロックは簡単に再現できない▪ メモリーエラーをツールなしで発見するのは困難

デバッガー・ブレークポイントにより迅速な診断が可能▪ 問題が発生する直前にブレークポイントを設定▪ デバッガーで変数とスレッドを確認

パーシステント・メモリー・エラーをデバッグ▪ 不足しているキャッシュフラッシュ、ストアフェンスなど
詳細: xlsoft.com/jp/products/intel/inspector/

バージョン 2020 の新機能
▪ 最新の OS および IDE をサポート

1 コスト要因 - Square Project による分析

CERT: U.S. Computer Emergency Readiness Team および Carnegie Mellon CyLabNIST: National Institute of Standards & Technology : Square Project の結果最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

39

ビルド

解析

スケール

インテル® C++ コンパイラー
インテル® Fortran コンパイラー
Python* 向けインテル® ディストリビューション
インテル® MKL
インテル® IPP
インテル® TBB
インテル® DAAL
Composer Edition に含まれる

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

インテル® MPI ライブラリー
インテル® Trace Analyzer & Collector
インテル® Cluster Checker

Professional Edition に含まれる

Cluster Edition に含まれる

インテル® MPI ライブラリーによる高速でスケーラブルなコード
分散コンピューティング向けの標準規格準拠の最適化された MPI ライブラリー▪

オープンソースの MPICH 実装をベースに開発▪

低レイテンシー、高帯域幅、高スケーラビリティー向けに
チューニング▪

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

バージョン 2019 Update 6 の新機能

詳細: xlsoft.com/jp/products/intel/cluster/mpi/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

▪

Mellanox* InfiniBand* EDR/HDR インターコネクトのサポートを改善▪

AWS* Elastic Fabric Adapter (EFA)、Parallel Cluster、
Amazon* Linux* 2 によるクラウド HPC サポート▪

最新のインテル® Xeon® スケーラブル・プロセッサー向
けにパフォーマンスを最適化
42インテル® Trace Analyzer & Collector による MPI 解析
MPI アプリケーション向けの強力なプロファイラー、解析、視覚化ツール▪

低オーバーヘッドで正確なプロファイル、解析、正当性
チェック▪

チューニングと最適化に必要なプロセスの相互作用、
hotspot、ロードバランスを簡単に視覚化▪

柔軟なワークフロー: コンパイル、リンク、または実行

バージョン 2020 の新機能

詳細: xlsoft.com/jp/products/intel/cluster/tatc/
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

▪

機能の改良

▪

最新のインテル® Xeon® スケーラブル・プロセッサー
をサポート

43

ハイパフォーマンスな計算クラスター向けの広範な診断ツールセット
インテル® Cluster Checker (Linux*)
クラスターシステムの状態を確認▪ クラスターシステムの詳細を提供するエキスパート・システム・アプローチ- システム・ヘルス・チェック: 問題の特定、推奨アクションの提示▪ 幅広いフレームワークを提供、統合サポート用 API▪ 操作やパフォーマンスに影響する可能性のある 100 項目を超える特性をチェック – 稼働時間と生産性を向上

バージョン 2019 Update 5 の新機能: 出力と機能により使いやすさと機能を向上▪ 実行速度の速い新しいデフォルトのテスト▪ 新しい事前定義済みユーザー/管理者固有のテストおよび詳細な解析▪ ノードと問題のサマリー出力を改良、ログファイルに詳細を出力▪ インテル® MPI ライブラリーの必要条件のトラブルシューティング・テスト▪ 最新のインテル® プロセッサーをサポート (インテル® Xeon® Platinum
9200 プロセッサー・ファミリー)▪ 管理者向け BIOS チェック機能、‘syscfg’ ユーティリティーを使用
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

アプリケーション開発者、クラスター・アーキテクト/
ユーザー、システム管理者向け
44

重要• どのような最適化の可能性があるか?
答えはアプリケーションに依存する• 最適化を開始する前に問題を高レベルで理解する
インテル® Advisor – ルーフライン解析
アプリケーション・パフォーマンス・スナップショット
インテル® VTune™ プロファイラー – HPC パフォーマンス特性解析• 特にアプリケーションがクロスノードよりもクラスターでスケールする場合は、通信の問題に対応する必要がある• 単一ノードの最適化では、一般に次の問題に対応スレッドの問題

ベクトル化の問題
メモリー/ストレージの問題

並列ハードウェアでパフォーマンスを最適化
インテル® Parallel Studio XE - 繰り返し作業
クラスター
でスケーリ
ングできる
か?

N

MPI
チューニングY

ベクトル化

クラスターでない
場合はスキップY

効率良くスレッド化されているか?

N

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

N

Y
スレッド化

システム構成の問題の可能性メモリー帯域幅に影響されるか?

Y

帯域幅の
最適化

インテル® Cluster Checker

46

診断を支援するパフォーマンス解析ツール

インテル® VTune™ プロファイラーのアプリケーション・パフォーマンス・スナップショット

インテル® Parallel Studio XE

最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

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

N

MPI
チューニングインテル® Trace
Analyzer & Collector
MPI チューナー

Y

効率良くスレッド化されているか?

Y

ベクトル化

N

N

Y
帯域幅の
最適化

スレッド化

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

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

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

ハイパフォーマンスな実装を支援するツール
インテル® Parallel Studio XE
クラスター
でスケーリ
ングできる
か?

N

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

MPI
チューニングY
インテル® コンパイラー
効率良くスレッド化されているか?

Y

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

ベクトル化

N

Y
帯域幅の
最適化

スレッド化

システム構成の問題の可能性
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

Y

N

インテル® MKL
インテル® IPP
(メディアおよびデータ・ライブラリー)
インテル® DAAL
インテルによる OpenMP* 実装

インテル® TBB
(スレッド・ライブラリー)
インテル® Cluster Checker48

プライオリティー・サポートの利用
インテル® ソフトウェア開発ツールの有償ライセンスには購入日から 1 年間のプライオリティー・
サポートが含まれており、満了時に割引価格で更新可能

利点▪ パフォーマンスと生産性を向上 - インテル® ハードウェアでコードのパフォーマンスを最大限に引き出す方法、パフォーマンス・ボトル
ネックや開発の課題を解消する方法などを問い合わせ可能▪ インテルのエンジニアに直接問い合わせることができ、機密の問い合わせやコードサンプルを送信可能▪ 技術的な質問やその他の製品ニーズに対するヘルプ▪ 製品の新しいアップデートおよび以前のバージョンへの無料アクセス
関連情報▪ ほかのエキスパートと知識を共有できるコミュニティー製品フォーラム▪ 過去数十年のハイパフォーマンス・コード作成の経験を基に構築されたドキュメント・ライブラリー
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

49

最適化に役立つ情報 さあ、始めよう
最適化に役立つ情報
iSUS (IA Software User Society)▪

インテル® ソフトウェア開発製品の日本語版や日本語
ヘルプの提供▪

インテル コーポレーションのインテル® ソフトウェア・
ネットワークの記事の日本語化

最適化の近道登録 (英語)TEC ウェビナーを視聴する

インテル® Parallel Studio XE▪ 概要、機能、サポート、コードサンプル (英語)▪ トレーニング資料、Tech.Decoded ウェビナー (英語)、HOW TO ビデオと記事 (英語)
▪ お客様の声 (英語) & ケーススタディー▪ その他のインテル® ソフトウェア開発製品

インテル® Code Modernization Program▪ 概要 (英語)▪ ライブ・トレーニング (英語)intel.ly/2PdkNhN (英語)▪ リモートアクセス
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

50

法務上の注意書きと最適化に関する注意事項
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark*などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。
さらに詳しい情報をお知りになりたい場合は、http://www.intel.com/benchmarks/ (英語) を参照してください。
性能の測定結果はシステム構成の日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。詳細については、公開されている構成情報を参照してください。絶対的なセキュリティーを提供できる製品はありません。
インテルは、サードパーティーのデータについて管理や監査を行っていません。原典を確認し、ほかの情報も参考にして、参照しているデータが正確かどうかを確認してください。
インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。
インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。
Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Intel Atom、Intel Core、Xeon、Intel Optane、VTune は、アメリカ合衆国および / またはその他の国における Intel
Corporation またはその子会社の商標です。
最適化に関する注意事項
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。
これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロ
セッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。
注意事項の改訂 #20110804
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

51

キャッシュを考慮したルーフラインの例
ベクトル加算ピークよりも下の場合

メモリールーフの下または近くの場合[Survey Report] の [Traits] 列で FMA が使用されているか確認。使用されていない場合は、FMA が使用されるようにコードを変更するか、オプションを使用する。
FLOPS• MAP 解析を実行する
適切なキャッシュの最適化を行う• キャッシュを最適化できない場合は、アルゴリズ
ムを見直して 演算強度
(AI) を上げる

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

FMA ピーク

ベクトル加算ピーク

スカラー加算ピーク

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

演算強度 (AI)
最適化に関する注意事項© 2020 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

52