インテルは2003年12月10日,WindowsおよびLinux向けコンパイラ製品の新バージョン「Intel Compiler 8.0」を発表した。同製品はC/C++コンパイラとFortranコンパイラを同こんしたもの。製品発表に合わせて来日した米Intel,Director of Marketing and BusinessのJames Reinders氏が12月17日,日経ソフトウエア誌との会見に応じた。

――Intel Compiler 8.0の特徴は何か。
 Intel Compilerは,Windows版ならば米MicrosoftのVisual Studio,Linux版ならばGCC(GNU Compiler Collection)との互換性を保ちつつ,Intel製CPUの性能を最大限に発揮する実行コードを生成することが特徴だ。バージョン8ではIA64(Itanium),IA32(Pentium4など)に加え,XScale向けのコンパイラも提供する。
 主にItanium2やPrescott(開発コード名),Hyper-Threading Technologyに対する最適化機能を向上させた。コンパイル速度も向上させた。特にLinux版はプリコンパイル・ヘッダに対応しており,場合によってはコンパイル時間が劇的に短くなる。
 Windows版C++コンパイラはVisual C++ .NET 2002/2003の拡張仕様である「アトリビュート」に対応した。Windows版FortranコンパイラはVisual Studioに追加でき,ソースの編集からコンパイル,ソース・レベルのデバッグが可能である。
 Linux版C++コンパイラはGCCと完全に互換とし,LinuxカーネルをはじめとするGCC向けに書かれたソースコードをコンパイルできるだけでなく,コンパイル後のオブジェクト・レベルでの互換性もある。

――周辺ツールに追加した機能はあるか。
 新たにカバレッジ・ツールを用意した。実行したコードのグラフ化などができ,結果をHTML形式で出力する。コンパイラ自体はネイティブ・コードだけに適用でき,Microsoftの .NET対応C++(Managed C++)には使えないが,性能分析ツールのVTuneはネイティブ・コードだけでなく .NET対応プログラムの分析も可能だ。
 Intel Compilerとは別に,マルチスレッド・プログラムの性能分析やデバッグを支援するツール「Intel Threading Tools」もある。これはVisual C++などでコンパイルしたコードにも使えるが,Intel Compilerと組み合わせて使うとより多くの情報が得られる。例えばマルチスレッド・プログラムでは,あるスレッドのコードがアクセスしたメモリー・アドレスを特定することは難しいが,Intel Compilerと組み合わせて使うことでアクセスされたアドレスが正確にわかる。

――最近はセキュリティに関する関心が高まっている。特にC/C++言語は潜在的な危険性を含んでおり,安全なプログラムを作ることが難しい。C/C++言語による開発を,より安全にするために言語仕様を独自に拡張したり,ライブラリを提供するなどの予定はないか。また,Javaや .NETなどの仮想マシン向けコンパイラを提供する予定はないか。
 Intel Compilerに独自仕様を実装する予定はない。標準仕様に基づいた製品を出す。もし,安全性に関する機能が標準化されC++言語に実装されれば,Intel Compilerも対応する。
 また,IntelはあくまでもIntelが提供するCPUの性能を十分に引き出すためのネイティブ・コンパイラを提供する。仮想マシン向けのコンパイラを提供する予定はない。ただし,他社にコンパイラに関する技術支援は行っている。例えばGCCに対しても最適化技術に関して支援しており,GCCの性能は当初に比べると向上している。

(日経ソフトウエア)