導入事例
インテル® Parallel Studio XE
高速レンダラー「lucille*」開発環境

インテル ® Parallel Studio XE で
CG 向け高速レンダラーの開発を効率化しパフォーマンスと生産性向上を実現
課 題• プログラム開発の生産性向上• プログラムのパフォーマンス向上• 高品質なプログラム開発
ソリューション
• インテル® Parallel Studio XE（インテル® C++ Composer XE、インテル® VTune™ Amplifier XE、
インテル® Inspector XE）（株式会社フィックスターズ）• グローバル・イルミネーション・レンダラー「lucille*」
導入効果• 高パフォーマンス・高品質な高速レンダラーの開発• 開発効率の向上• 開発工数の削減

高速レンダラーの開発基盤にインテル® Parallel Studio XE を採用
株式会社フィックスターズ
本社：東京都品川区大崎 1-11-1
ゲートシティ大崎 ウエストタワー 18 階
設立：2002 年 8 月 8 日
資本金：2 億 1,055 万円
事業内容：マルチコア・プロセッサー関連事業

http://www.fixstars.com/

マルチコア向けソフトウェアや開発サービス、システム構築など、マルチコア向けのトータル・ソリューションを提供する株式会社フィックスターズ（以下、フィックスターズ）。現在、デリバティブ・プライシングなどの「金融シミュレーション」、X 線 CT、MRI などの医療画像機器を支える「メディカル・イメージング」、もの作りの現場で製品の良品と不良品を画像処理で判別する「コンピューター・ビジョン」、製品デザインやデジタルコンテンツ制作を支援する「CG レンダリング」など、高いコンピューター性能を必要とする分野にフォーカスしたビジネスを展開しています。
マルチコア・プロセッサーを活用したサービスを開発する同社は、CG レンダリングの分野で提供している高速レンダラー「lucille*（ルシール）」の開発基盤に、インテル ® コンパイラーや分析ツールなどをバンドルした「インテル ®
Parallel Studio XE」を採用。高品質・ハイパフォーマンスのレンダラーを、製造や映像制作分野を中心としたユーザーに提供しています。

アプリケーションのパフォーマンス向上を支える
インテル® Parallel Studio XE

Lucille* とは、グローバル・イルミネーション（大域照明）アルゴリズムを実装したレンダラーで、光 の 映り込みを反 映した CG 画 像を高速に作成することができます。M³ 事業推進室 シニアディレクターの古坂大地氏は、「lucille* は、当社が開発したマルチコア、マルチノード、マルチアーキテクチャー向けのソフトウェア・プラットフォーム『M³（エムキューブ）』による並列化メリットを享受した CG レンダラーです。複数の CPU コアと複数のサーバーを利用することで、リアルな 3D 映像を短時間にレンダリングすることができます。製品デザインやデジタルコンテンツ制作など、CG映像の最先端を走る分野で採用が進んでおり、映像のリアリティー向上に貢献しています」と説明します。

自動ベクトル化機能とボトルネックの分析機能を評価
フィックスターズが、lucille* の開 発 用 途にインテル ® ソフトウェア開 発 製 品を使 用 開
始し た の は 2007 年、2010 年 に 登 場した「インテ ル ® Parallel Studio XE」をいち
早く採 用し、以 来、マルチコア環 境におけるプログラムの開 発を続けてきました。現在、lucille* のコード生成用途に「インテル ®
C++ Composer XE」、パ フォーマ ン ス 分
析 に「インテ ル ® VTune ™ Amplifier XE」、メモリーリークの 検 出 用 途 に「 イン テ ル ®
Inspector XE」を利用しています。
インテル ® C++ Composer XE の採用メリットについて古坂氏は、「最適化オプションによる高速処理が求められるアプリケーションのパフォーマンスを支えるインテル ® Parallel Studio XEパフォーマンスの向上」を挙げて次のように語ります。
「インテル® C++ Composer XE は、ソースコードにおける算術関数のインライン呼び出しや、ビルトインの関数展開など、他のコンパイラーにない機能が充実しています。ソースコードに対して高速化に必要な修正箇所を指摘する
レポートオプションも、プログラムの最適化・高速化に欠かせない機能です。また、
スカラー
コードを SSE 化、AVX 化する自動ベクトル化機能を活用して、開発工数を削減できることも採用のポイントになりました」。
一方、アプリケーションのボトルネック特定には、
インテル® VTune™ Amplifier XE が貢献。
分析レポートに基づいてプログラム改善を実施することで、アプリケーションの高速化を実現しています。
「インテル® VTune™ Amplifier
XE を使えば、高速化するための改善ポイントが視覚的に確認できます。現在となっては、
インテル ® VTune™ Amplifier XE なくしてプロファイリングすることはできません」と古坂氏は語ります。
フィックスターズでは、Windows* の開発環境に Microsoft* Visual Studio*（VS）を 採 用し、C 言語でプログラムを開発しています。VS環境の場合、インテル® C++ Composer XE やインテル® VTune™ Amplifier XE のツール群をインストールすると、VS のアドオンとして追加されるため、導入に複雑な手間がかかりません。
コンパイル時やパフォーマンス検証時も、VSのツールバーからボタンアイコンをクリックしてツールを呼び出すだけなので利用も簡単です。

スカラーバージョンのレンダラーに対して2.5 倍のパフォーマンス向上を確認インテル® Parallel Studio XE の採用効果は、lucille* の生産性向上に現れています。現在、lucille* の基本プログラムの作成においては、インテル® C++ Composer XE の 最 適 化オプションを用いて短時間にコンパイル。パターンが込み入った複雑なプログラムの作成には、ハンド・チューニングを用いて最適化しています。
「 基 本 的 な ベ クト ル 化 をイン テ ル ® C++
Composer XE で実行することで、開発工数の大幅な削減が実現しました。基本処理を短時間に終わらせることで複雑なパターンのチューニングに注力できるようになり、全体を通して質の高いプログラム開発につながっています」（古坂氏）。
（秒）

120

系列 1

100806040200ICC

自動ベクトル化

SSEAVX

出典：株式会社フィックスターズ

フィックスターズでは、lucille* に対するコンパイラーの性能を確認するために、検証実験を行っています。
「その結果は、ベクトル化していないスカラーバージョンの lucille* に対して、インテル ® C++ Composer XE で自動ベクトル化した場合は約 1.3 倍、SSE 化した場合は2 倍のパフォーマンス向上を実現。さらにハンド・チューニングで AVX 化すると、スカラーバージョンと比較して約 2.5 倍のパフォーマンスが向上することを確認しました」（古坂氏）。
生産性の向上については、インテル® VTune™
Amplifier XE のパフォーマンス分析機能が貢献。
「標準で装備するフィルター機能を使うと、スレッド単位、CPU コア単位の詳細なパフォーマンスや、メモリーのキャッシュ効率などが多角的に分析できるので、以前の開発環境では難しかったボトルネックの特定が容易になりました」と古坂氏。このように、インテル®
VTune™ Amplifier XE は唯一無二のツールとして存在感を高めていることは間違いありません。また、メモリーリークの検出で活用している「インテル ® Inspector XE」によって高い品質を維持しています。

編集作業の効率化により映像のクオリティーが大幅に向上
フィックスターズでは今後もインテル ® Xeon®
プロセッサー E5 や、次世代プロセッサーのHaswell（開発コード名）など、マイクロアーキテクチャーを採用したプロセッサーの登場に合わせて lucille* の高速化を進めていく予定です。また、SSE 命令、AVX 命令、AVX2命令など、プロセッサーの拡張命令に関しても、新たな高速化テクノロジーにキャッチアップしていく姿勢を明らかにしています。最後に古坂氏はインテルに対して、「これからのプログラム開発では、コンパイラーの性能がカギを握ります。そのためにも、プロセッサーの性能をフルに引き出すツールの充実は欠かせません。特にマルチスレッドに関しては、より簡単なフレームワークの登場に期待しています」と今後の期待を語りました。
インテルは、アプリケーションのパフォーマンスを向上する製品の開発を通して、フィックスターズのマルチコアビジネスを支援していきます。

インテル ® Parallel Studio XE に関する詳しい情報は、下記のサイトをご覧ください。
http://www.intel.com/jp/
software/products/index.htm

株式会社フィックスターズ
M³ 事業推進室
シニアディレクター
古坂 大地 氏インテル ® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル R ストリーミング SIMD 拡張命令 2（インテル R SSE2）、インテル ® ストリーミング SIMD 拡張命令 3（インテル ® SSE3）、ストリーミング SIMD 拡張命令 3 補足命令（SSSE3）命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル ® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。
この文書は情報提供のみを目的としています。この文書は現状のまま提供され、いかなる保証もいたしません。ここにいう保証には、商品適格性、他者の権利の非侵害性、特定目的への適合性、また、あらゆる提案書、仕様書、見本から生じる保証を含みますが、これらに限定されるものではありません。インテルはこの仕様の情報の使用に関する財産権の侵害を含む、いかなる責任も負いません。また、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。

Intel、インテル、Intel ロゴ、Xeon、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
Microsoft、Visual Studio、Windows は、米国 Microsoft Corporation および / またはその関連会社の商標です。
フィックスターズ、Fixstars、Fixstars ロゴ、M³、lucille はフィックスターズの登録商標または商標です。

* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

インテル株式会社〒 100-0005 東京都千代田区丸の内 3-1-1
http://www.intel.co.jp/

2012 Intel Corporation. 無断での引用、転載を禁じます。
©2012
年 11 月328191-001JA
JPN/1211/PDF/SE/SSG/TT