「インテルParallel Studio」を構成するツール
インテルParallel Studioは、今回のリリースで3つのツールから構成されている。コンパイラ・ライブラリの「インテルParallel Composer」、デバッガー・エラー/メモリーチェッカーの「インテルParallel Inspector」、アナライザー・プロファイラーの「インテルParallel Amplifier」だ。
3つのツールそれぞれが、ソフトウェアの開発サイクルにおける「コーディング」「検証・検知」「チューニング」の各フェーズに対応している。これらを組み合わせることで、並列化を開発の全工程において並列化を網羅的に実現できる。
もうひとつ開発サイクルの重要なフェーズとして「デザイン・設計」がある。これは後発のツール「インテルParallel Advisor」で対応される予定だ。インテルParallel Advisorでは、ソースコードのどこを並列化すればいちばん良い効果が得られるかを特定し、エンジニアにアドバイスしてくれる。もちろん、インテルParallel Studioを購入していれば、インテルParallel Advisorも後から入手し、利用することが可能だ。
インテルParallel Composer - コンパイラ・ライブラリ
「インテルParallel Composer」では、ハイエンド向け製品をベースにしたC/C++コンパイラに、「IPP(インテグレーティッド・パフォーマンス・プリミティブ)」ライブラリがバンドルされている。また、並列化の標準仕様「OpenMP」もサポートしており、簡単にその機能を利用できる。
プリデファインされたテンプレートライブラリ「インテルTBB(スレッディング・ビルディング・ブロック)」も含まれている。並列化済みのライブラリであり、プロセッサのコア数を認識させ、必要な数だけ並列化させるといった処理を、テンプレートとして利用できる。
このようにOpenMPを利用したり「テンプレートに並列化してもらう」ことで、書かなければいけないコードの量は圧倒的に少なくてすむ。開発者は、実務のロジックに注力することができるだろう。

インテルParallel InspectorとインテルParallel Amplifier
「インテル Parallel Inspector」は、スレッド化特有のエラーを検出する「インテル・スレッド・チェッカー」をベースにしている。並列化に特有なスレッド化のエラーをチェックする機能に加え、新しくメモリチェックの機能を備え、メモリリークやさまざまな問題を検出できる

「インテルParallel Amplifier」は、チューニング用のツール「VTuneパフォーマンス・アナライザー」をベースに、より簡単に使えるよう作られている。パフォーマンスのホットスポットやボトルネックを検出したり、正しく並列化されているかどうかをチェックできる。

事例:どのくらい簡単に効果を得られるか?
インテルParallel Studioはまだβテスト段階だが、公開してわずか4か月で、実際にパフォーマンスが向上したという事例がたくさん報告されている。たとえば、金融系の「Trading System Lab」では、Composerを使って金融系のトレーディング・アプリケーションで10~20%のパフォーマンス向上を達成したという。
また、「インテルParallel Amplifier」を利用すれば、並列化しやすいところ、良い効果が得られるところに集中できる。あまり開発期間をかけず、並列化のアドバンテージを手軽に得ることができる。
ヒューストン大学のバイオケミカルグループでは、インテルParallel Amplifierでボトルネックを発見でき、そこを改善したところ10倍のパフォーマンス向上があった。この数字は極端だが、「Open Cascade」というアプリケーションでも、同じように2倍の向上が見られたという。
並列化手法の習得サポート
インテルでも、「インテルParallel Studio」を利用してすぐに効果が得られるよう、サポートとしてウェブ上にさまざまなリソースを掲載している。並列化のエキスパートではないエンジニアに対しても、ホワイトペーパーや「ビデオシリーズ」、あとは「ウェビナー」(ウェブ上のセミナー)などを提供している。ビデオシリーズは日本語でも提供されているので、ぜひ見てみるとよいだろう。
さらにコミュニティベースのサポートも用意されている。ユーザーのフォーラムがすでにオープンし、インテルのエンジニアがユーザーからの質問に回答している。また、並列化に関する情報を集めた「Go Parallel」というサイトもあり、世界中のユーザーが活用方法やQ&A情報を交換している。メインストリームの開発者がターゲットだけに、こういったユーザーコミュニティもたいへん盛り上がることが期待される。ぜひ日本のユーザーにも広まってほしいフォーラムだ。
