図1●マルチスレッド対応が強化されるIntel製開発ツール
図1●マルチスレッド対応が強化されるIntel製開発ツール
[画像のクリックで拡大表示]
図2●統合開発環境「Xcode」に組み込んで使うIntel C++ Compiler
図2●統合開発環境「Xcode」に組み込んで使うIntel C++ Compiler
[画像のクリックで拡大表示]
図3●自動並列化機能を無効にしたときに比べて,自動並列化機能を有効にしたときは約2倍高速化した
図3●自動並列化機能を無効にしたときに比べて,自動並列化機能を有効にしたときは約2倍高速化した
[画像のクリックで拡大表示]
図4●Intel Math Kernel Libraryを利用すると大幅に高速化した
図4●Intel Math Kernel Libraryを利用すると大幅に高速化した
[画像のクリックで拡大表示]
図5●GCCでコンパイルしたもの(右)に比べてIntel C++ Compilerでコンパイルした方(左)が高速に描画した
図5●GCCでコンパイルしたもの(右)に比べてIntel C++ Compilerでコンパイルした方(左)が高速に描画した
[画像のクリックで拡大表示]

 米Intelは,米サンフランシスコで開催中の開発者向け会議「IDF(Intel Developer Forum)」で開発ツールに関するセッションを開いた。今回のIDFでは,次世代マイクロアーキテクチャのCoreアーキテクチャを発表し,今後はデュアルコア/マルチコア化の方向性を示したこともあり,コンパイラ,ライブラリ,デバッガ,開発支援ツールでも,マルチスレッド対応を強化することが強調された(図1拡大表示])。

 また,Mac OS向け開発ツールも用意することを明らかにした。2006年第2四半期(4月)に出荷予定で,現在IntelのWebサイトで評価用のベータ版がダウンロードできる。

 Mac OS向けに用意されるのは,Intel Fortran Compiler,Intel C++ Compiler,Intel Math Kernel Library,Intel Integrated Performance Primitives,の4製品。Intel C++ Compilerは,Mac OS向けの統合開発環境「Xcode」に組み込んで使う(図2拡大表示])。Mac OS 10.4.4,Xcode 2.2.1に対応する。

 Intel C++ Compiler for Mac OSは,GCC(GNU Compiler Collection)と,コマンド・ライン・オプション,ソース・コード,バイナリについて互換性がある。objective Cには対応しないが,バイナリに互換性がある。

 OpenMP 2.5に対応した自動並列化機能と,SSE/SSE2/SSE3命令を使った自動ベクトル化機能を備える。SSE/SSE2/SSE3は,Intel製プロセッサが備える,SIMD(Single Instruction Multiple Data)の浮動小数点演算命令セットである。

 Intel Math Kernel Library for Mac OSは,Intel製プロセッサに高度に最適化された数学関数ライブラリである。そして,Intel Integrated Performance Primitives for Mac OSは,画像やオーディオ,ビデオ,音声認識といった,デジタル・メディア処理向けの最適化ライブラリである。マルチスレッド化されており,Intel C++ CompilerとGCC 4.0以降に対応する。

 IDFのセッションでは,実際にMac OS向けのIntel C++ Compilerを使ったデモが行われた。デモは簡単な行列演算で,自動並列化機能を有効にしたときと無効にしたとき,行列演算にIntel Math Kernel Libraryのライブラリ関数を利用したときで,それぞれ実行時間を比較した。使用したコンピュータは,デュアルコア・プロセッサのCore Duo搭載iMacである。

 まず,自動並列化機能を無効にしたときに演算にかかった時間が9.121秒だったのに対して,自動並列化機能を有効にしたときは4.492秒と,約2倍高速化した(図3拡大表示])。また,Intel Math Kernel Libraryを利用したときは,1スレッドを動かしたとき(自動並列化機能が無効の状態)が4.18秒,2スレッドを動かしたときが2.28秒と,大幅に高速化した(図4拡大表示])。

 また,グラフィックスの描画デモでは,同じソース・コードをIntel C++ CompilerとGCCでコンパイルしたものを同時に動かして,Intel C++ Compilerでコンパイルした方が描画スピードが速いことを見せた(図5拡大表示])。一般に,Intel C++ Compilerでコンパイルした方が約25%速いという。