最適化・並列化コードを生み出す最新コンパイラ「インテル コンパイラー」

最近のコンパイラには、出力するバイナリコードをより高速に実行できるようにする「最適化」機能が搭載されている。CPUやPCアーキテクチャがより複雑化している近年、コンパイラによる最適化はより注目を浴びるようになっている。
たとえば、現在のCPUはいわゆる「マシン語」のコマンド列をそのまま実行するのではなく、内部でより細かい単位に分解して実行する。このとき、CPUのリソースをより効率良く利用できるよう、場合によってはその順序の並び替えや、並列化が行われる。また、処理を行うデータがキャッシュされているかどうかによっても処理速度が大きく変化する。CPUクロックの向上により、CPUとメモリ間でデータをやりとりする時間についても大きなボトルネックとなるようになったからだ。
このようにCPUの動作が複雑になっている現在、「より速く実行できるコード」を生成するには、CPUの構造やその動作についての知識も必要になっている。そこで注目されているのが、インテルが開発するコンパイラ製品「インテル コンパイラー」である。
インテル コンパイラーは最新のインテル製CPUに最適化されたコードを生成できるだけでなく、安全に並列実行できる処理を自動的に並列化するなど、より高度な最適化機能を備えている。また、インテルが開発している数値演算ライブラリやマルチメディア処理ライブラリが付属しており、これらを利用することで大規模な数値演算の高速化や、マルチメディア処理の高速化も期待できる。
本特集では、このインテル コンパイラーについて紹介するとともに、インテル コンパイラーで作成したプログラムのパフォーマンスについても検証する。
なお、本特集で紹介しているインテル コンパイラー製品は、30日間利用できる無料評価版が用意されている。記事中のコードは評価版でもそのまま利用できるので、ぜひダウンロードしてそのパフォーマンスを手元で確かめてほしい。
コンパイラを変えるだけでパフォーマンス向上? インテル コンパイラーの実力を見る
2009年1月13日
インテル謹製の数値演算ライブラリ「MKL」を使ってプログラムを高速化
2009年1月13日
マルチメディア処理から信号処理まで幅広く活用できる高速ライブラリ「IPP」
2009年1月13日