Windows向けの並列アプリケーション開発支援ツールスイート「インテル Parallel Studio」の最新バージョン「[http://www.xlsoft.com/jp/products/intel/parallel/index.html?sft9 インテル Parallel Studio 2011]」がリリースされた。Parallel Studio 2011では並列化の効果やその際に発生しうる問題を分析するツール「インテル Parallel Advisor」が新たに追加されたほか、並列プログラミング向けのC/C++言語拡張「インテル Cilk Plus」や並列化支援ライブラリ「インテル Array Building Blocks」(ベータ版)に対応するなど、大幅なアップデートが行われている。本記事では、これら新機能を中心にParallel Studio 2011を紹介していく。 === 並列プログラミングを支援するツールを備えたParallel Studio 2011 === Parallel Studioは、自動並列化機能やOpenMPなどの並列プログラミングAPIサポートを備えるコンパイラやデバッガを含む「インテル Parallel Composer」と、メモリの競合やデッドロック、メモリリークなどの問題を検出するデバッグツール「インテル Parallel Inspector」、関数や命令レベルで実行時間やCPUの利用状況を調査できるプロファイラ「インテル Parallel Amplifier」、そしてParallel Stduio 2011から新たに追加された並列化支援ツール「インテル Parallel Advisor」から構成される、アプリケーション開発ツールスイートである。 それぞれに含まれるツールの詳細については'''表1'''にまとめているが、設計段階ではParallel Advisorを使って並列化に関する診断を行い、実装段階ではParallel Composerの並列化支援機能を活用、デバッグ段階ではParallel Inspectorでバグを検出、そして最後にParallel Amplifierを用いて性能の測定およびチューニングを行うという、ソフトウェアの開発ライフサイクルすべてにおいて活用できるツールが揃えられている。 {{{ html <h6>表1 Parallel Studioに含まれる主なコンポーネント</h6> <table class="wikitable" border="1"> <tr><th>コンポーネント</th><th>説明</th></tr> <tr><td>Parallel Advisor</td><td>既存のソースコードを診断し、パフォーマンス上問題となっている個所の検出や、指定した個所を並列化することでどの程度パフォーマンスが向上するかの予測、並列化により発生しうる問題の検出などを行うツール</td></tr> <tr><td>Parallel Composer</td><td>コンパイラ(インテル C++ コンパイラー)、デバッガ(インテル Parallel Debugger Extension)、並列化支援ライブラリ(インテル スレッディング・ビルディング・ブロック、Cilk Plus、Array Building Blocksベータ版、インテル インテグレーテッド・パフォーマンス・プリミティブ・ライブラリ)が含まれるツール群</td></tr> <tr><td>Parallel Inspector</td><td>スレッド間でのデータの競合やデッドロック、メモリリークといったメモリやスレッドに関する問題を検出するツール</td></tr> <tr><td>Parallel Amplifier</td><td>プログラム内でボトルネックとなっている個所を検出するプロファイルツール。関数・命令レベルでCPUコアごとの活動状況を確認できる</td></tr> </table> }}} また、Visual Studioとのシームレスな統合も特徴の1つだ。Parallel ComposerにはVisual Studio 2005/2008/2010用のプラグインが同梱されており、Visual StudioからGUIで各種機能やツールを簡単に呼び出し、その結果をグラフィカルに確認できる。コンパイルなど一部の操作についてはコマンドラインから呼び出すことも可能で、バッチ処理やMakefileとテキストエディタを使ったコマンドラインベース開発にも柔軟に対応できる。 なお、Parallel Studioの動作環境は'''表2'''のとおりだ。Parallel Studioはリンクやアーカイブファイルの操作などにVisual Studioに含まれるツールを使用するため、Visual Studioが必須な点には注意が必要だ。 {{{ html <h6>表2 Parallel Studioの動作環境</h6> <table class="wikitable" border="1"> <tr><td>OS</td><td> Windows XP/Vista/7/Server 2003/Server 2008</td></tr> <tr><td>開発環境</td><td> Visual Studio 2005/2008/2010(2005/2008についてはStandard Edition以上、2010についてはProfessional Edition以上)</td></tr> </table> }}} === Parallel Studio 2010の新機能 === Parallel Studio 2010の主要な新機能としては、次が挙げられる。 * Visual Studio 2010に対応 * 新ツール「Parallel Advisor」の追加 * Parallel Composerに含まれるコンパイラ「インテル C++ コンパイラー」が並列プログラミング向けのC/C++言語拡張「Cilk Plus」をサポート * インテル C++ コンパイラーのC++0xサポートがさらに強化 * Parallel Composerに新たな並列プログラミングライブラリ「Array Building Blocks」(ベータ版)が追加された。 * Parallel Inspectorにリソースリーク検出機能が追加された * Parallel InspectorでCilk Plusを使った並列プログラムの解析が可能に この中でも特に注目したいのが、新ツールであるParallel Advisorと、新たにサポートされた並列プログラミング向けのC/C++言語拡張「Cilk Plus」サポートである。