Vol.14

2020

さらなるパフォーマンスを追求する C/C++、 Fortran、 Python* 開発者向け

インテル® Parallel Studio XE 2020
スマートで革新的な組込みソリューションを迅速に開発インテル® System Studioインテル® Parallel Studio XE

少ない労力で最高の C/C++、 Fortran、Python* パフォーマンスを実現

インテル®

Parallel Studio XE 2020科学、 工業、 商業、 クラウドで利用されるソフトウェアはより高いパフォーマンスが求められています。 インテル® Parallel Studio XE は、 計算負荷が高い HPC、 エン
タープライズ、 クラウド・ソリューション向けに、 最新のインテル® プロセッサーの パ
フォーマンスを最大限に引き出すコードを開発できるように開発者を支援します。
C、 C++、 Fortran、 Python* ソフトウェア開発者は、 現在および将来のインテル® プ
ラットフォームで効率的にスケーリングする高速かつ安定したコードを開発できます。

開発のニーズにあわせて選べる 3 種類のエディション

コンパイラー
ライブラリーComposer Edition• 最新プロセッサーの性能を最大限に引き出せるように、 最適化されたバイナ
リーを自動生成する C/C++、 Fortran コンパイラー• C++20 や Fortran 2018、OpenMP* 5.0 規格の一部機能や、Microsoft* Visual Studio* 2019 への統合など、最新の言語規格と IDE のサポート• 最適化された数値演算、 画像処理、 スレッド化、 データ解析ライブラリー• Python* アプリケーションのパフォーマンスを引き出す Python* 3.6
実行環境

コンパイラー
解析

Professional Edition

Composer Edition の機能に加え、 パフォーマンス分析、 ベクトル化 / マルチス
レッド化のアドバイス、 高度なメモリー / スレッド ・ エラー ・ チェック機能を提供

コンパイラー
解析
MPI

Cluster Edition

Professional Edition の機能に加え、 最適化された MPI ライブラリー、
MPI アプリケーションのエラーチェックおよびチューニング機能を提供■ 特徴• コンパイラー、 パフォーマンス ・ ライブラリー、 解析ツールのさまざまな機能により、 最新のインテル® Core™ プロセッサーおよび
インテル® Xeon® プロセッサーでアプリケーションの効率とパフォーマン
スを向上。

• Python* 向けインテル® ディストリビューションの Python* と NumPy、
SciPy、pandas、scikit-learn 等の計算パッケージ により、マシンラーニングを高速化。
• インテル® VTune™ プロファイラーを使用して、CPU と GPU パフォー

• (OpenMP* を 使 用し た) ベ ク ト ル 化 と ス レ ッ ド 化 に よ り、 イ ン テ ル®

マ ンス、スレッドのパフォーマンスとスケーラビリティー、バンド幅、

AVX-512 命 令 を 含 む 最 新 の SIMD 対 応 ハ ー ド ウ ェ ア を 活 用。

キャッシュ利用など、パフォーマンス向上のための豊富な情報を収集。

エンタープライズ、 クラウド、 HPC、 AI の各種ワークロードを高速化。
• 次世代のインテル® MPI ライブラリーにより、 優れたスケーラビリティーを実現し、 レイテンシーを軽減してパフォーマンスを向上。
• インテル® Advisor のフローグラフ解析により、 並列アルゴリズムを
インタラクティブにビルド、 検証、 視覚化。

2

• 最適化済みの数値演算、画像処理、スレッド化、データ解析ライブラリーを活用して、インテル® プロセッサーの性能を引き出せるアプリケーションを開発。

インテル® Parallel Studio XE

各エディションに同梱される製品と機能一覧
Composer Edition
製品

for
Fortran&C++

for C++

インテル®
C++ コンパイラー (P.4-5)

・

・

インテル®
(Visual) Fortran
コンパイラー (P.4-5)

・インテル® DAAL

データ解析ライブラリー (P.6)

インテル® IPP

画像処理ライブラリー (P.6)

インテル® MKL

数値演算ライブラリー (P.7)

インテル® TBB

マルチスレッド ・ ライブラリー (P.7)

OpenMP*

マルチスレッド ・ プロラミング ・
モデル (P.4)

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

最適化された Python* 実行環境 (P.8)

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

パフォーマンス分析ツール (P.9)

インテル® Inspector
エラー検出ツール (P.10)

インテル® Advisor

ベクトル化 / スレッド化アドバイザー(P.11)

for
Fortran・Professional Editionfor
Fortran&C++

for C++・・・

Cluster Editionfor
Fortran

・
・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

・

インテル®
Trace Analyzer & Collector

・

MPI アプリケーションのパフォーマンス分析ツール (P.13)

・

・

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

メッセージ ・ パッシング ・ライブラリー (P.12)

単体
販売

・

・

3

インテル® Parallel Studio XE

高速化のための、C/C++、 Fortran コンパイラー

インテル®

C++/Fortran コンパイラー
最新インテル® プロセッサーに対応する最適化と並列化
Composer
Edition

次のエディションに含まれます

Professional
EditionCluster
Edition■ 新機能■ インテル® コンパイラーの最適化 / 並列化機能

コンパイラー、 パフォーマンス ・ ライブラリー、 解析ツール のさまざまな新機能と拡張機能により、 最新のインテル® Core™ プロセッサーおよび
インテル® Xeon® プロセッサーでアプリケーションの効率とパフォーマン
スを向上します。 (OpenMP* を使用した ) ベクトル化とスレッド化により、インテル® AVX-512 命令を含む最新の SIMD 対応ハードウェアを活用。
エンタープライズ、クラウド、HPC、 AI の各種ワークロードを高速化します。

自動ベクトル化
ベクトル演算のための SIMD 拡張命令を自動生成します。
(インテル® AVX、インテル® AVX2、 インテル® AVX-512 を含む )自動並列化
並列実行可能なループに対して、 自動的にマルチスレッド ・ コードを生成します。
ガイド付き自動並列化 (Guided Auto Parallelism)
自動ベクトル化、 自動並列化のためのアドバイスを提供します。
マルチスレッド化手法のサポート• OpenMP* 4.0/4.5、OpenMP* 5.0 : マルチスレッド / SIMD並列プログラ
ミングのための API• インテル® MKL : マルチスレッド化された数値演算ライブラリーを提供■ 高速化のためのコンパイラー
インテル® Xeon® スケーラブル ・プロセッサーを含む、 最新のプロセッサーに対応します。 ハイパフォーマンスなアプリケーション開発のために、 さまざま
な最適化 / 並列化機能を提供します。

■ 優れた互換性
C++/Fortran Windows* 版 :Microsoft* Visual Studio* 2017/2019 への統合機能によって、Microsoft* Visual Studio* 上で開発を行うことができます。

プロシージャー間の最適化 (IPO)
小 / 中規模の関数呼び出しを頻繁に行うプログラムのパフォーマンスを劇的に向上します。

C++ Linux* 版 :GCC* と の 互 換 性 が あ り、 Eclipse* へ 統 合 す る こ と が で き ま す。 また、 ISO/IEC など各言語標準に対応しています。

プロファイルに基づく最適化 (PGO)
コードのレイアウトを最適化してコードサイズを縮小します。
最適化に関するレポート
最適化に関するレポート結果はループごと、 多重ループの階層ごとに表示されるため、 パフォーマンス問題をスムーズに確認することができます。

サポートされる並列プログラミング ・ モデル
マルチスレッドによる並列実行
コンパイラーのサポート

自動
並列化
自動
ベクトル化

マルチプロセスによる並列実行

ライブラリーインテル® TBB

(マルチスレッド ・ ライブラリー)

OpenMP*

インテル® IPP

(画像処理ライブラリー )ベクトル化 （SIMD 命令の活用）※ 1 インテル® MPI ライブラリーは Cluster Edition にのみ含まれています。

4インテル® MKL

(数値演算ライブラリー)+

インテル® MPI
ライブラリー ※ 1

インテル® Parallel Studio XE

ベクトル化機能インテル® コンパイラーは、 ループを解析して、1 つの命令で 1、 2、 4、 8、16、 32、 64 バイトのデータ要素を処理するようにコードを変換します。 下記の例では、 32 バイトの SIMD レジスターを使用して
1 つの命令で 4 要素を処理するので、 ループの反復数が 1/4 になり、 処理に要する時間を減らすことができます。
インテル® Xeon® スケーラブル ・ プロセッサーでサポートされたインテル® AV X-512 を活用する
ために、 コードの特性に応じた調整を指示する -[Q/q]opt-zmm-usage オプションが追加されています。

例double A[], B[], C[];for (int i=0; i<N; i++)C[i] = A[i] + B[i];256 ビットの SIMD レジスター

OpenMP* によるマルチスレッド化とベクトル化
最新の OpenMP* 規格を使用するとインテル® コンパイラーは効率のよいマルチスレッド化とベクトル化を行うことができます。 コンパイラーは最初にマルチスレッド化を行い、 次にベクトル化を行います。
ﬂoat func(ﬂoat *a, ﬂoat *b, int n) {ﬂoat sum = 0.0f;#pragma omp parallel for simd reduction(+:sum)for (int k=0; k<n; k++)sum += a[k] * b[k];return sum;}
マルチスレッド化

スレッド 0スレッド 1スレッド 2ベクトル化

5

インテル® Parallel Studio XE

高度なマシンラーニングと解析ライブラリーでビッグデータ解析を高速化

インテル®

Composer
Edition

次のエディションに含まれます※

DAAL (Data Analytics Acceleration Library)

Professional
EditionCluster
Edition※ C++ コンパイラーを含む Edition のみ

オフライン、 ストリーミング、 分散解析における、 データ解析処理のすべての段階(前処理、 変換、 解析、モデリング、 意思決定) に対応した、 最適化された解析
ビルディング ・ブロックを提供するデータ解析ライブラリーです。
■ あらかじめ最適された高度な解析アルゴリズム
最高の解析スループットを達成できるようにデータの取り込みとアルゴリズムの計算を最適化。
分類と回帰の決定木 / ランダムフォレスト、 KNN、 リッジ回帰などのアルゴリズムをサポート。

■ C++、 Java*、 Python* 向け API を提供
C++、 Java* および Python* アプリケーションにシームレスに組み込むことが可能■ データソースと環境の統合
一般的なデータ ・ プラットフォーム (Hadoop* と Spark* を含む) との緊密な統合により、高度に最適化されたデータアクセスが可能

最適化された画像処理、 信号処理、 データ圧縮、
暗号化アプリケーションを作成するためのライブラリー

インテル®

Composer
Edition

次のエディションに含まれます※

IPP (Integrated Performance Primitives)

Professional
EditionCluster
Edition※ C++ コンパイラーを含む Edition のみ

画像処理、 信号処理、セキュリティー、 ストレージ ・ アプリケーションを作成するための、 最適化された基関数から構成されるライブラリーです。 高速なエンコーダーや、 画像認識ソフトウェアを素早く開発することができます。
■ 高度に最適化された関数• ハードウェアの機能を効果的に使用した高速処理• すべての関数はスレッドセーフ• インテル® AVX-512 や、インテル® AVX2、インテル® AVX、インテル® SSE による高度な最適化■ 高い生産性• 広 範 囲 な 分 野 に 対 応 す る、
数千の関数を提供• 基関数を組み合わせることで、高速なアプリケーションを素早
く開発

6

画像処理
コンピューター ・ ビジョン

信号処理

データ圧縮
暗号化

カラー変換

ベクトル演算文字列処理

画像ドメイン

信号ドメイン

データドメイン15

インテル® Parallel Studio XE

工学、 科学、 金融系アプリケーションのパフォーマンスを向上する数値演算ライブラリー

インテル®

次のエディションに含まれます

MKL (Math Kernel Library)

Composer
EditionProfessional
EditionCluster
Edition

線形代数、 高速フーリエ変換、 ニューラル ・ ネットワーク、 ベクトル演算、 統計、その他の高度な関数を提供する数値演算ライブラリーです。
■ 高速な数値演算関数
各プロセッサー ・ ファミリーでパフォーマンスを最大限に引き出すように、 高度に最適化、 スレッド化、 ベクトル化されたBLAS、 LAPACK、 PARDISO、 高速フーリエ変換 (FFT) などに対応した関数を提供■ クラスターシステムにも対応
クラスター FFT、 並列 BLAS (PBLAS)、 ScaLAPACK (Scalable LAPACK)、Cluster PARDISO などを使用して、 スケーラブルなクラスター ・アプリケーションを作成■ 過去、 現在そして将来のプロセッサーに渡って最高のパフォーマンスとスケーラビリティーを実現
業界標準の C および Fortran API を利用して、 よく使用される BL AS、 L APACK、 FFTW 関数との互換性を実現。
コードを分岐せずに各プロセッサー向けに最適化されたコードを自動ディスパッチ。

■ 特徴
・ JIT 高速小行列乗算機能 : インテル® AVX2 およびインテル® AVX-512 向け S/DGEMM の速度を向上
・ ス パース QR ソルバー : ス パース 線 形方程 式、 ス パース 線 形最小 2 乗問題、 固有値問題、 ランクと null 空間の決定などのソルバー・ 多項式向け乱数生成 : 金融、 地質学、 生物学分野向けに高度に最適化された多項式乱数ジェネレーター

スレッド化されたスケーラブルな並列アプリケーションの開発を支援する C++ テンプレート ・ ライブラリー

インテル®

TBB

次のエディションに含まれます※(Threading Building Blocks)

Composer
EditionProfessional
EditionCluster
Edition※ C++ コンパイラーを含む Edition のみ

アプリケーションをマル チスレッド化する場合に最 適な C++ テンプレート ・ ライブラリーで す。
高度なタスク ・ スケジューラーにより効率的な並列化が可能です。
■ テンプレートによる並列化の実装
並列化のためのテンプレート、 コンテナー、 およびクラスを提供■ タスクベースの並列化
スレッドを操作する代わりにタスクを指定。 論理タスクをスレッドにマップ (入れ子構造の並列処理を完全サポート)。
処理を論理タスクに分割することで、 マルチコア ・プロセッサーを柔軟に活用することが可能。

■ スケーラブルな開発
コア数に応じて自動的に生成されるスレッド数が拡張。 コア数が変化してもコードの再記述が不要であり、
ライフサイクルの長い製品が開発可能。

■ 特徴・ フローグラフの新機能により並列性とヘテロジニアスへの対応が向上
・ 新しいテンプレートにより C++11 多次元配列を最適化

・ C++17 Parallel STL、 OpenCL*、 Python* conda 言語をサポート
・ Windows*、 Linux*、 Android*、 macOS* のサポートを拡張

7

インテル® Parallel Studio XE

最適化された Python* 実行環境

Python* 向け
インテル® ディストリビューション
ネイティブコードに近いパフォーマンスを実現
次のエディションに含まれます

Composer
EditionProfessional
EditionCluster
EditionPython* 向けインテル® ディストリビューション (インテル® Python*) は既存の Python* よりも高速な処理を行える実行環境です。 インテル® Python* を使用することで、 コードを修正することなく、 最新のインテル® プロセッサー向けに、 アプリケーションのパフォーマンスを向上させることができます。
■ 高速化
インテル® Python* は最適化や並列化された数値演算ライブラリーであるインテル® MKL を自動的に呼び出します。
NumPy* や SciPy* を使用した部分はインテル® MKL 上で実行されるため、 パフォーマンスが大幅に向上します。

■ コンポーネント
インテル® Python* の インスト ール には、 NumPy* や Scikit-Learn な どの Python* ラ イブ ラリー の 他 にも、Caffe*、 Theano*、 TensorFlow* とい っ た Python* か ら 利 用 可 能 な デ ィープ ラ ーニ ン グ ・ フレ ームワ ー ク や、Jupyter* Notebook、 matplotlib*、 OpenCV* などのツールを含む多くのビルド済みパッケージが含まれており、簡単にマシンラーニングやデータ解析向けの実行環境を構築することができます。
またインテル® MKL の他にも、以下のようなインテルが提供するインテル®
プロセッサー向けパフォーマンス ・ ライブラリーの恩恵を Python* スクリ
プト言語から得ることが可能です。
• クラスターシステム向けに mpi4py パッケージを通してのインテル®
MPI ライブラリーの利用 ( Linux* のみ)• インテル® TBB のスレッド ・ スケジューラーを用いた効率的なスレッド
管理の適用• マシンラーニング および ビッグデー タ 解 析用のライブラリーであ るインテル® DA AL を用いて、高速なマシンラーニング・アプリケーショ
ンを素早く実装■ パフォーマンス ・ プロファイラー
インテル® VTune™ プロファイラー は、 Python*、 ネイティブ C および C++ が混同するコードのアプリケーションにおいて、 パフォーマンスの問題となる原因を素早く正確に特定できます。 低オーバーヘッドで、 ソースコー
ドの行レベルの詳細なプロファイル情報、 およびコールスタックのリスト使用できるコンポーネント

Python*Python* 向け
インテル® ディストリビューション• NumPy*• SciPy*• Scikit-Learn• Numba• Cython• mpi4py• conda• NumPy*• SciPy*• Scikit-Learn• Numba• Cython• mpi4py• conda

高速化や並列化を目的としたパフォーマンス ・ ライブラリーを提供します。

■ サポート環境
Python* 向けインテル® ディストリビューション
OS
バージョン
解析ツール

8

64 ビット OS である Windows*、 Linux*、 macOS*※ 一部機能は OS ごとに提供の有無が異なります。 詳細はリリースノートを参照してください。

Python* 3.6
インテル® VTune™ プロファイラー (Windows*、 Linux*)※ インテル® VTune™ プロファイラー は、 Professional Edition および Cluster Edition にのみ含まれています。

• インテル® MKL• インテル® MPI• インテル® TBB• インテル® DAAL
(PyDAAL)

インテル® Parallel Studio XE

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

インテル®

VTune™ プロファイラー
パフォーマンスの問題となる原因を素早く特定
次のエディションに含まれます

Professional
EditionCluster
Edition

数回のクリックのみで、 CPU、 GPU、 スレッド、 メモリー、 キャッシュ、 ストレージの最適化に役立
つさまざまなデータを収集し、 最新のインテル® プロセッサー向けにアプリケーションをチューニン
グするためのツールです。
■ 必要な情報を、 容易に参照
特別なライブラリーのリンクやソースコードを修正しなくても、 パフォーマンスを分析することができます。
Windows* ホスト OS では Microsoft* Visual Studio* から特別なビルドなしで操作できるため、 素早く開発を進めることができます。
パフォーマンス問題となる部分について、 費やされた CPU 時間や性能指標値などを、
ソースコードと対比させて確認することができます。 さらにアセンブリ表示により、コンパ
イラーによる最適化内容とパフォーマンスを関連付けて読み取ることができます。

■ 多彩な機能• C、 C++、 C#、 Fortran、 Python*、 Go*、 Java*、 OpenCL* および、 それらの言語が混在したコードの解析が可能です。

解析タイプの選択画面が改善され、 ホットスポット、 並列性、マイクロアーキテクチャーやその 他といった解 析目的別に分けられたアイコン表示に加え、 マウスオーバーで用途や例が表示されるようになり、 解析タイプの選択がわかりやすくなりました。

• インテル® プロセッサー上のオンチップのパフォーマンス ・ モニタリング ・ ユニット を利用してデータを収集し、 キャッシュミス、 分岐予測ミス、 帯域幅などの重要なパフォーマンス問題を見つけることができます。
• ハードウェア ・ パフォーマンス解析に重要な CPU 使用率、 スレッド並列性、 メモ
リーアクセス、 浮動小数点数演算ユニットの使用率、 FLOPS を素早く測定することができます。
• メモリーアクセス解析により、 データ構造のチューニングや NUMA レイテン
シーの最適化を行うべきかどうか判断できます。インテル®
• インテル® グラフィックス ・ テクノロジーの解析に対応しており、 内蔵 GPU 向け
OpenCL* カーネルのボトルネック特定に役立ちます。
• MPI および OpenMP* の両方を使用するハイブリッド ・ アプリケーションを解析できます。
• プロファイリング ・ データの収集だけでなく、 時間軸、 フィルタリング、 フレーム分析など、 データを実用的な情報 に変換するための多数の機能が備わっています。
問題をさまざまな角度から確認することができます。

パフォーマンスの問題とその比率を具体的な図表と数値で表示する機能が追加されました。 解析結果から自動的に最も影響のあるパフォーマンス問題 (ボトルネック) が抽出され、 その原因が表示されるようになりました。

■ 特徴• 長いデータ収 集によりハードウェア構成 の問題点と適切にチューニングされていないワークロードを検出する
新しいプラットフォーム ・ プロファイラー• アプ リケーション ・ パ フォーマ ンス ・ スナ ップ ショット ( Linux* の み ) に より、 論 理コアと物 理コアの 使 用率、一時 停止と再開、 インテル® Tr ace Analy zer & Collec tor との 統合機能を追 加• LLVM または HHVM PHP サーバーでの JIT プロファイル

9インテル® Parallel Studio XE

高度なメモリー / スレッド化エラーチェッカー

インテル®

Inspector
メモリー / スレッドの不具合を動的に分析
次のエディションに含まれます

Professional
EditionCluster
Editionインテル® Inspector を使用することで、 メモリーリーク、 メモリー破壊、 メモリー関連 API のリソー
ス解放し忘れなどの誤りを動的に検出することができます。 また、 データ競合やデッドロックなど、デバッガーでは検出の困難なマル チスレッド ・ エラーも的確に発見し、 分かりやすいユーザー ・
インターフェイスで確認することができます。

メモリーエラー検出画面。 メモリーリークやメモリー破壊などのエラーが、 エラーのタイプもスレッドエラー検出画面。 データ競合やデッドロックなどの問題を、 ソースコードまで素早く含めて表示されます。 コードの関連個所やコールスタック情報から、 原因の把握および修正を特定することで、 問題を簡単に解決することができます。

素早く行えます。

■ 豊富な機能• ヒープ拡張解析機能は、 アプリケーションの実行中、 メモリー使用量が増え続ける原因を特定するために役立ちます。
• デバッガー・ブレークポイントにより、 エラーが発生する直前にデバッガーに移ることで、 複雑なエラーの診断を容易にします。
• MPI アプリケーションや、 MPI と OpenMP* を組み合わせたハイブリッド ・ アプリケーションのメモリーとスレッドのエラーを検出できます。
• メモリー使用量の解析結果をグラフで表示して、 メモリーリークの発生タイミングを確認できます。

デバッガー ・ブレークポイント機能を使うと、 インテル® Inspector なしには

アプリケーション実行中のメモリー使用量の増加をグラフィカルに数週間はかかるであろう診断も数時間の内に行うことができます。

表示します。

■ 幅広い開発言語をサポート• Windows* および Linux* 上の C、C++、 Fortran のシリアル / 並列コードおよび Windows* 上の C# .NET の並列コード• Windows* 版にて、 Microsoft* Visual Studio* 2017、 2019 に統合■ 特徴 : 不揮発性メモリーエラーを発見
・ 不足している / 冗長なキャッシュフラッシュ・ ストアフェンスの不足

10・ アウトオブオーダーの不揮発性メモリーストア
・ PMDK トランザクションの Redo (やり直し) ログエラー

インテル® Parallel Studio XE

ベクトル化 / スレッド化アドバイザー

インテル®

Advisor
ベクトル化 / スレッド化すべき個所を特定し、 効果を予測
次のエディションに含まれます

Professional
EditionCluster
Edition

C、 C++、 C# および Fortran 言語で利用できるベクトル化、マル
チスレッド化のアドバイスツールです。
ベクトル化を安全かつ効率的に行えるように、 反復回数、 データ
依存性、 メモリー ・アクセス ・ パターンなどの必要なキーデータを取得します。 また、マルチスレッド化によりパフォーマンスが大きく向上する可能性の高い領域を検出することができ、 深刻な同期問題の発生を予測することができます。

■ ベクトル化の候補となる個所を特定

ホットなベクトル 化さ れていな いス ポットや、 ベクトル 化が 不十 分な ル ープ を 特定し、ベクトル化のアドバイスを提供します。

ベクトル化アドバイザーを使用すると、 既存のベクトル化された個所のうち改善が必要な個所や、 ベクトル化の候補となる個所を見つけだし、 コード
をハイライトします。 また、 パフォーマンス向上のためにすぐに利用できる
コーディング方法を提案し、 高速化の度合いを予測します。
特にインテル® AVX-512 を利用する場合のベクトル化について、 コンパイ
ラーが生成したコードとそこから得られたパフォーマンスについての詳細な評価を可能とします。

■ キャッシュを考慮したルーフライン解析
ルーフライン解析により、 パフォーマンスへの影響が大きく、 最適化が不十分であるループを特定することができます。 インテル® Advisor は、 マイ
クロ ・ ベンチマークにより実行環境での FLOPS/s 値 ( 秒間の浮動小数点
数演算実行数 ) とキャッシュおよびメモリー帯域幅について推定の最大値を取得し、 これに対してアプリケーションの主要なループや関数が実行環
境の性能をどの程度まで引き出せているかをグラフ上に表示します。

ルーフライン解析画面。 パフォーマンスへの影響が大きなループや関数は目立つようグラフ上に赤い点で示されます。 グラフの屋根 （ルーフライン） との距離は、 ベクトル化や並列化による性能向上の余地を表します。

また、 ルーフライン解析で注目すべきであると分かったループや関数について、 実行時間と全体の処理時間に対する割合、 呼び出し回数やループ
回数、 ベクトル化についての診断、 対応するソースコード行と呼び出し階層などを同じ解析結果画面から確認することが可能です。

■ 特徴• ルーフライン解析のさらなる向上 : 呼び出し階層の表示、 スレッド数の反映、 結果の HTML 形式での出力、 整数演算実行数の解析に対応• フローグラフ ・ アナライザー : 並列アルゴリズムをインタラクティブに
ビルド、 検証、 視覚化でき、 インテル® TBB のフローグラフ API を用いた C++ ソースコードを自動生成

フロー グラフ ・ アナ ライザー。 GUI に よりデ ー タフローと依存関 係 の グラフを直 観 的に構成できます。 またグラフに基づいて自動生成されるソースコードから、 素早く並列
アプリケーションの実装を行うことができます。

11インテル® Parallel Studio XE

最適化された MPI ライブラリー

インテル®

MPI ライブラリー
分散アプリケーションのパフォーマンスを向上
次のエディションに含まれます

Cluster
Editionインテル® MPI ライブラリーは、 Infiniband* や Myrinet*、TCP/IP などの広範なインターコネクト・
ファブリックに対応し、 インテル® アーキテクチャー ・ ベースのクラスター上で、 アプリケーションのパフォーマンスを最大限に引き出します。 MPI-1.3、 MPI-2.2、 MPI-3.1 標準規格に準拠。
■ クラスター上で動くアプリケーションのパフォーマンスを向上• マルチコア ・ プラットフォームの共有メモリーパスの最適化により、 通信スループットの向上と低レイテンシーを実現• 低レイテンシーの MPI 実装により、 一般的な MPI ライブラリーより最大 2 倍高速化
• 大規模な SMP ノードで最適化された共有メモリーへ動的に接続可能• mpitune ユーティリティーによる自動パフォーマンス ・ チューニングにより、 アプリケー
ションを高速化

■ 特徴
•
•
•
•

新しい MPI コードベース –MPI-CH4
優れたスケーラビリティーと CPU パスの短縮
優れた MPI マルチスレッド ・ パフォーマンス
最新のインテル® Xeon® スケーラブル ・プロセッサーをサポート■ 高いスケーラビリティーを実現• インターコネクトを変更したり、 アップグレードした場合でも、 ソフトウェアや動作環境に大幅な変更を加えることなく、 パフォーマンスを素早く最大限に引き出すことが可能• インテル® MPI ライブラリーはスレッドセーフであり、 ハイブリッド並列 （マルチスレッド化された MPI アプリケーション） への対応が可能• プロセス管理システム Hydra により、 起動時のスケーラビリティーを向上■ 複数のハードウェア・ファブリックのサポート• TCP ソケット、 共有メモリー、 または InfiniBand* などの多数の RDMA ベースのインターコネクトのいずれかを実行しなければならな い場合でも、 OFI を介した高速なインターコネクト用のユニバーサルなマルチファブリック ・ レイヤーを提供することで、 すべての構成をカバー• TCP、 共有メモリーに加えて、 インテル ® Omni-Path アーキテクチャー ・ファブリック、 インテル® True Scale、 Myrinet Express およびQLogic* PSM* インターフェイスを含む高速なインターコネクトを利用可能■ 最新の MPI 標準規格をサポート• ハイパフォーマンスな MPI-3.1 標準規格を複数のファブリックに実装することにより、 インテル® アーキテクチャー ・ ベースのクラスター上でアプリケーションのパフォーマンス向上をサポート• 既存の MPI-1.x および MPI-2.x アプリケーションとのバイナリー互換性を提供。 新しい MPI 標準へ移行する準備ができていない場合でも、再コンパイルすることなく、 最新のインテル® MPI ライブラリーによるパフォーマンス向上を実現可能

12

インテル® Parallel Studio XE

MPI アプリケーションのパフォーマンス分析、
チューニング ・ ツール

インテル®

Trace Analyzer & Collector
分散アプリケーションのボトルネックを素早く特定し、優れたパフォーマンスを実現
次のエディションに含まれます

Cluster
Editionインテル® Trace Analyzer & Collector を使用すると、インテル® プロ
セッサー ・ ベースのクラスター上で、 MPI 通信によるパフォーマンスの問題となる個所を素早く発見することができます。 取得した情報は、
分かりやすいグラフ表示や帳票表示によりソースコードと関連付けて確認することができます。
■ MPI 正当性検証• デッドロック、データ破損、または MPI パラメーター、データ型、バッファー、
コミュニケーター、 一対一通信、 集合操作などのエラーを検出• インテル® Trace Analyzer の GUI にて検出されたエラーの発生タイミン
グや問題のプロセスを確認• より多 数のプロセス 間においてもエラー検出が 可能な ため、 大 規 模 なシステムへ スケールした際の問題解決を支援

デッドロックやデータ破損などのエラーを検出して、 ソースコードの問題個所を特定する MPI
正当性検証機能。

■ 様々な解析機能• 各 MPI 関数の呼び出しをトレースし、 プロセス毎の通信および計算に要した時間や、 時系列の関数呼び出し状況を記録• MPI ジョブ実行時のパフォーマンスをプロセス別および関数別に表示し、負荷バランスを図示• 各プロセス間での通信データ量や通信に要した時間をマトリクス表示• 理想的な通信環 境を 仮 定するシミュレーション機能により、 アプリケー
ションの負荷バランスや通信環境の向上による影響を把握することが可能• パフォーマンス・アシスタントを使用して、 MPI アプリケーションのパフォー
マンス問題を特定

MPI ジョブのボトルネックを特定し、 問題の原因を説明するパフォーマンス ・ アシスタント機能。

■ 使いやすいインターフェイス• カスタマイズ可能 な GUI• 迅速にコールスタックをアンワインドし、 デバッグ情報を使用して、 ソースコードに命令アドレスをマッピング• コマンドラインと GUI のインターフェイスにより、 バッチ実行の設定と対話形式の解析の双方を実行可能

13

インテル® System Studio

スマートで革新的な組込みソリューションを迅速に開発

インテル®

System Studio
インテル® System Studio は、 組込み / モバイル機器向けに、 次世代の優れた電力効率、 ハイパフォー
マンスおよび信頼性を有するソフトウェアの開発を支援するツールスイートです。
UEFI、 オペレーティング・システム、 ドライバー・ソフトウェア、 組込みアプリケーションを含む、 システム・
ソフトウェアのすべてのレイヤーのビルド、 デバッグ、 最適化を合理化します。
■ CE Linux*、Yocto Project*、Wind River* Linux*、Tizen*、 Android*、 Microsoft* Windows* 上
で実行するコードをデバッグ、 最適化■ 組込み向けのインテル® C/C++ コンパイラーや、 最適化済みの数値演算、 画像処理、マルチスレッド
・ ライブラリー■ 様々な解析機能を提供 : 電力プロファイラー、 CPU/GPU パフォーマンス ・ アナライザー、 OpenGL*
ES および DirectX* グラフィックス ・ パフォーマンス ・ アナライザー、 スレッドおよびメモリーリーク
解析ツール■ USB 接続を介した JTAG ベースのデバッグとトレースにより、 柔軟かつ低コストでデバッグを実行可能■ Intel Atom® プロセッサー、インテル® Core™ プロセッサー、インテル® Xeon® プロセッサーの最新版

平均消費電力を測定したり、 電力を浪費するウェイクアップの原因を特定することができます。

を含む、幅広いインテル® プラットフォームをサポート

各エディションに同梱される主な製品と機能一覧※ 本製品に含まれる、 インテル® C++ コンパイラー、 インテル® VTune™ プロファイラー、 インテル® Inspector は、 インテル® Parallel Studio XE に含まれる製品または単体で販売している製品とは異なります。
※ FreeBSD* 向けシステムおよびアプリケーションの開発、 最適化、 チューニングを支援するインテル® System Studio for FreeBSD* も提供しています。

Composer
EditionProfessional
Edition

Ultimate
Edition

・
・

・
・
・

・
・
・

インテル® Graphics Performance Analyzers- グラフィックス ・ エンジン向けワークロード /パフォーマンス最適化アナライザー

・・インテル® SoC Watch- 電力最適化プロファイラー

・
・

・
・
・

主なコンポーネント

ビルド

インテル® C++ コンパイラー- パフォーマンス最適化 C/C++ コンパイラー

インテル® IPP、 MKL、TBB、DAAL- 最適化済みパフォーマンス ・ ライブラリー
インテル® VTune™ プロファイラー- シリアル / 並列パフォーマンス解析プロファイラー

解析

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

デバッグ

14

インテル® System Debugger- JTAG インターフェイスによるデバッガー

5

お役立ち情報インテル® ソフトウェア開発製品お役立ち情報
その 1

IA 向けのソフトウェア開発に役立つ技術ポータルサイト 「iSUS」
IA プラットフォーム向けソフトウェア開発者必見のサイトです。
主に、 インテル社の開発者向けサイト 「インテル® デベロッパー ・ ゾーン」 に公開される情報を翻訳掲載する承諾を受け、 最新の技術情報を配信しています。
並列化、 最適化、 性能解析、 OpenMP*、 機械学習、 ゲーム開発など、 様々なテーマに関する技術記事を多数掲載しています。
また、 インテル® 64 アーキテクチャーおよび IA-32 アーキテクチャー最適化リファレンス ・マニュアル参考訳版など、 iSUS だけで特別に公開されているドキュメントも必見です。

人気記事を一部ご紹介 ！

www.isus.jp

その 2• C++ コーディングに関する 42 の推奨事項 - プログラミング、 リファクタリング、 そしてすべてにおける究極の疑問• マルチコアシステムの並列パフォーマンス向けに Fortran アプリケーションをスレッド化• 暗号通貨訓練のディープラーニング• Python* プログラムの並列パフォーマンスを引き出そう• ゲーム ・ アプリケーションにおけるニューラル ・ ネットワーク入門• 比較関数の罠

ツールの利用を支援する無料セミナー
C /C++、 For tr an の 最 適 化コースをはじ め、 O p enMP * に よる並 列 化 のコースや、
最 新 の イ ンテル® Xeon® スケーラブル ・ プ ロ セッ サー 向け のプ ログ ラミング、 性 能
解 析コースな ど、 各種セミナーを定期的に開催していま す。
製品を使い始めたい、 製品を使いこなしたい、 といったお客様に最適です。 また、 お客様先での導入教育トレーニングや個別講習会もご提供できますので、 お問い合わせください。

セミナー開催情報はこちら

www.xlsoft.com/intel/seminar

その 3

豊富なオンライン ・ トレーニング ・ コース
インテル® デベロッパー ・ ゾーンで公開されている、 インテル® ソフトウェア開発製品のWebinar コースを日本語化して公開しています。 下記は公開中のコースの一例です。
• インテル® Parallel Studio XE によりアプリケーション ・ パフォーマンスを大幅に向上• Python* はネイティブコードと同じくらい速いのか？
• さらに効率良く高速でスケーラブル : エクサスケールに向けて前進オンライン ・ トレー二ング情報はこちら

www.xlsoft.com/intel/training15価格体系 (商用 / アカデミック)

商用
アカデミック

概要

注意事項

一般ユーザー向け製品です。 商用利用が可能です。

ー

教育の提供を主目的とする学位供与機関 ( 例えば、 製品内容は、 商用版と同様です。 (シリアル番号は異なります。)
大学、 短大 ) に携わる教員および生徒に適用されます。 購入時に有効な学生証などの身分証明書の提出が必要です。

ライセンスの種類 ( 特定ユーザー / フローティング )特定ユーザーライセンス(旧名称 : シングル・ユーザー・ライセンス)

特定の 1 個人が製品を使用できます。
ネットワー ク上の 複 数のコンピュー ターに 製品を インスト ール して、 購入した同時 使 用ユーザー 数の範囲で製品を使用できます。

フローティング ・ ライセンス

サポート
新規ライセンスに含まれるもの :次年度以降のサポートサービス :1. 製品使用権利 (恒久的)各製品の SSR (サポートサービス更新) を購入することで、 サポート

各ライセンスの範囲で、 製品を使用できます。

サービスを安価に更新できます。 複数年分の SSR をまとめて購入

2. 初年度のサポートサービス

することもできます。

• 最新版へのバージョンアップ ・ サービス
• 日本語によるサポートサービス (エクセルソフト株式会社より提供 )お客様の声「インテル® Advisor とインテル® Trace Analyzer & Collector を使用することで、 ベクトル依存性を排除し、 メモリーロード操作を最適化して、 インテル® Xeon Phi™ プロセッサー ・ ベースのアーキテク
チャーに適したベクトルと配列サイズを適用することができました。
この最適化により、 さまざまな天体物理学のテストを 3 倍以上の速度で実行できるようになりました。」
ノボシビルスク大学
Igor Kulikov 准教授「オープンソースのツールよりもインテルのツールの方が大幅にパフォー
マンスが向上しました。 再コンパイルしただけで、 コードは全く変更していないのに、 パフォーマンスが 20% ～ 50% もアップしました。」
デューク大学
Scalable Computing Support Center
所長
John Pormann 氏

無償評価版ダウンロード

www.xlsoft.com/intel/

製品の詳細に関するお問い合わせ先 :〒 108-0073 東京都港区三田 3-9-9 森伝ビル 6F
Tel: 03-5440-7875 Fax: 03-5440-7876 E-mail: intel@xlsoft.com
お問い合わせフォーム : www.xlsoft.com/jp/qa
インテル® ソフトウェア製品のパフォーマンス / 最適化に関する詳細は、 http://software.intel.com/en-us/articles/optimization-notice （英語） を参照してください。
Intel、 インテル、 Intel ロゴ、 Intel Inside、 Intel Inside ロゴ、 Intel Atom、 Intel Core、 Xeon、 VTune は、 アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。 * その他の社名、 製品名などは、 一般に各社の表示、 商標または登録商標です。 © 2020 Intel Corporation. 無断での引用、 転載を禁じます。
XLsoft のロゴ、 XLsoft は XLsoft Corporation の商標です。 Copyright © 2020 XLsoft Corporation.