Intel Parallel Studio

Intel Parallel Studio XEとは、インテル社が開発・販売している、ソフトウェアの並列計算に特化したツール群である。日本での販売・サポートはXLsoftが行なっている。

1. 概要
-----

インテルが自社製マルチコアプロセッサの並列性能を最大限発揮させ、C/C++による並列処理の実装における特有の問題点を素早く解決するために開発したコンパイラ/デバッガ/プロファイラ各製品を含む統合ツールキットである。 Parallel Studio 2011以降では、コンパイラとしてIntel C++ Composer XEおよびIntel Fortran Composer XEをバンドルした上位製品であるParallel Studio 2011 XEも同時にリリースされており、C++ Composer XEの最適化機能のすべてやIntel Math Kernel Libraryを利用できるようになるだけでなく、Fortran言語を使って開発することも可能になっている。なお、バージョンXE 2013以降は下位製品がなくなり、C++コンパイラとツールセットの名称はIntel C++ Studio XE、Fortranコンパイラとツールセットの名称はIntel Fortran Studio XE、C++/Fortranコンパイラとツールセットの名称はIntel Parallel Studio XE、さらに追加のツールを含む最上位版の名称はIntel Cluster Studio XE、という形態になった。

同社が従来から開発・販売してきたIntel C++ CompilerおよびIntel Fortran Compilerは主にHigh Performance Computing  向けのコンパイラ単体製品という位置付けになっているのに対し、Parallel Studioは実装、デバッグ、分析およびチューニングまでの一連の開発フロー、特にソフトウェアの効率的な並列化をサポートする統合製品という位置付けになっている。 ただし、Intel C++/Fortran CompilerにはLinuxおよびmacOS向けの製品も存在するが、Parallel StudioはMicrosoft Visual Studioを必要とするため、Windowsプラットフォーム向けのみの提供となっている。XE 2013以降はLinux版も提供されるようになった。また、Intel C++/Fortran CompilerはIA-32 、Intel 64 、およびIA-64向けのバイナリをそれぞれ生成することができるが、Parallel StudioはIA-32およびIntel 64のみをサポートし、IA-64向けにコンパイルすることやIA-64アプリケーションを分析することはできない。なお、Parallel Studio、Parallel Studio SP1、およびParallel Studio 2011の時点では英語版のみの提供となっているため、コンパイラをParallel Composerに切り替えた場合はコンパイラの出力するメッセージやコンパイルオプション設定画面のテキストが英語表示になる。

Parallel Studioは下記製品群からなる。

Intel Parallel Composer - ソフトウェアのマルチスレッド化をサポートするコンパイラ、デバッガおよびライブラリ
Intel Parallel Inspector - メモリーおよびスレッドに関するエラーを検出するツール
Intel Parallel Amplifier - マルチスレッド対応のプロファイラ
Intel Parallel Adviser - ソフトウェアの並列化に関するアドバイスを分析・表示するツール具体的には、上記の各コンポーネントがMicrosoft Visual Studioのアドインとして、開発環境自体に組み込まれる形で利用される。対応するVisual Studioのバージョンは、Parallel StudioおよびSP1の場合Visual Studio 2005およびVisual Studio 2008のStandardエディション以上であり、Parallel Studio 2011の場合Visual Studio 2005およびVisual Studio 2008のStandardエディション以上、およびVisual Studio 2010のProfessionalエディション以上となっている。

Parallel Studioおよび各単体コンポーネントにはIntel C++/Fortran Compilerと同様、それぞれ30日間無料の評価版があり、使用期限以外の機能制限は存在しない。正規のライセンスを購入すればそのまま製品版として使用できる。ライセンスには1年間のマイナーバージョンアップデート入手の権利がある。なお、Linux版では非商用目的に限り無償で使用できるバージョンが公開されている。

2. Intel Parallel Composer
--------------------------

Intel Parallel Composerは実質的にIntel C++ Compilerの機能制限版であり、Parallel StudioおよびParallel Studio SP1の時点ではIntel C++ Compilerのバージョン11.1に相当する。Intel C++ Compiler 11に付属する、Intel Integrated Performance Primitives  ライブラリのバージョン6.1およびIntel Threading Building Blocks  ライブラリのバージョン2.2が付属するが、Intel Math Kernel Library  は付属しない。また、プロファイルに基づく最適化  など、Intel C++ Compilerがサポートしている一部の最適化オプションが使用できなくなっているが、MMX/SSE/SSE2/SSE3/SSSE3/SSE4拡張命令を使用した自動ベクトル化や、OpenMPによる自動並列化などのIntel Compiler特有の強力な最適化オプションは使用可能である。Intel C++ Compilerと同様に、Parallel ComposerおよびVisual C++ネイティブ コンパイラはVisual Studio IDE上から自由に切り替えることが可能となっている。 また、Parallel Studio 2011には、Intel C++ Compiler 12の機能制限版、IPP 7.0、およびTBB 3.0がバンドルされる。

Parallel Composerを利用して開発したアプリケーションをエンドユーザー環境で実行するには、Intel C++ Compiler 11/12同様、Intel C++の再頒布可能ランタイムが必要となる。また、必要に応じてIPPおよびTBBのランタイムが必要となる。IPPとTBBに関しては、スタティックリンク方式を選択することで、DLLの不要な実行プログラムを作成することもできるが、プロセッサの拡張命令のサポートの有無を調べるために別途初期化関数を明示的に呼び出す必要があるなどの注意点がある。

3. Intel Parallel Amplifier
---------------------------

Intel Parallel Amplifierは、従来から提供されてきたIntel VTune Performance Analyzerによるプロファイリング機能を、より習得しやすくしたものである。Parallel Amplifierは主に下記3つの視点からアプリケーションのパフォーマンスを分析することができる。

Hotspotsの分析
Concurrencyの分析
Locks and Waitsの分析具体的には、デバッグ情報を有効にしてリリースモードでビルドしたアプリケーションを実行し、分析結果を表示するという流れになる。なお、Cランタイムライブラリはスタティックリンクせず、ダイナミックリンクする必要がある。分析結果は、コールスタックのツリー表示およびCPU時間の積算値バーなどでグラフィカルに表示される。分析結果からソースコードを逆参照することもできる。

なお、VTune Analyzerに同梱されるIntel Thread Profilerによるスレッドの時系列表示や、コールグラフの表示など、より高度な機能に関してはサポートされていない。

4. 脚注
-----

5. 関連項目
-------

インテル
Microsoft Visual C++
Intel C++ Compiler

6. 外部リンク
--------

[1]