== 新しくなったインテル コンパイラー 11.1日本語版を使って最新環境向けビルドにチャレンジ == 2009年7月3日、インテル コンパイラーの新版11.1がリリースされた。[http://www.xlsoft.com/jp/products/intel/compilers/index.html?sfwiki インテル コンパイラー 11.1]では、Core i7やAtomといったインテルの最新CPU向けの最適化機能や並列化機能が備えられたほか、並列プログラミング向けのデバッグ機能などが新たに追加されている。 インテル コンパイラー 11.1で追加された主な機能や改良点は、下記のとおりだ。 * 現在策定中であるC++の新規格、C++0xで提供される予定の新機能の一部に対応 * プログラムの並列化を容易にする新C++キーワードの追加 * 2010年以降に登場予定のインテルの新命令セット「Intel Advanced Vector Extensions(Intel AVX)」をサポート * 並列プログラムのデバッグを容易にする「インテル Parallel Debugger Extension」の搭載 * コンパイル時間の短縮 * インテル インテグレーテッド・パフォーマンス・プリミティブ(IPP)でCore i7プロセッサ向けの最適化が行われる また、インテル コンパイラー 11.1ではCore i7で利用できる命令セット「SSE4.2」や並列化API「OpenMP」の最新版「OpenMP 3.0」が利用できるほか、SSEを利用して高速な処理を可能にするライブラリ「インテル インテグレーテッド・パフォーマンス・プリミティブ(IPP)やインテル マス・カーネル・ライブラリー(MKL)も付属しており、これらを活用することで高速なプログラムの作成が可能となる。また、Visual C++やGCCなど、WindowsおよびLinux、Mac OS Xで事実上標準となっているコンパイラとの互換性も高く、Visual C++やGCC向けに作成されたプログラムの多くが容易にインテル コンパイラーでコンパイルできる。 本特集では、インテル コンパイラー 11.1を利用し、より高速なプログラムを作成するためのテクニックや、インテル コンパイラーで採用されているC++0xやOpenMP 3.0といった新機能を紹介する。また、インテル コンパイラーでオープンソースソフトウェアをコンパイルする試みについても紹介しよう。 インテル コンパイラー 11.1の評価版は、日本での販売代理店である[http://www.xlsoft.com/jp/products/intel/download.html?sfwiki エクセルソフトのWebサイト]からダウンロードできる。この評価版は30日の期間限定ながら、インテル コンパイラーのすべての機能が利用可能だ。ぜひダウンロードして記事の内容などを実際に試していただきたい。 また、「[http://sourceforge.jp/projects/intel-compiler/ インテル コンパイラー1000本ノックプロジェクト]」では、インテル コンパイラーでコンパイルしたさまざまなオープンソースソフトウェアを配布している。LAMEなど、インテル コンパイラーでコンパイルすることで大きくパフォーマンスの向上が見られたソフトウェアもあるので、興味がある方はこちらも試してみると良いだろう。 === [Core_i7のSSE4.2にも対応、インテル_コンパイラーで作るSSE対応プログラム_p1 Core i7のSSE4.2にも対応、インテル コンパイラーで作るSSE対応プログラム] [[Embed(374dabfcc13d28994c5fd879106d2ce3.jpg, float=right)]] インテル コンパイラーの特徴の1つに「自動ベクトル化」がある。これはSSE(Streaming SIMD Extensions)と呼ばれるCPUの機能を利用することで数値演算の高速化を図るものだ。インテル コンパイラーは最新のCore i7といったCPUに搭載されているSSE4.2に対応しており、現行のほとんどのインテルCPUにおいて高速化が期待できる。本記事では、インテルコンパイラーでのSSEの使用と、その効果について解説する。 === [インテル_コンパイラーで試す次世代C++規格「C__0x」_p1 インテル コンパイラーで試す次世代C++規格「C++0x」] インテル コンパイラーではOpenMP 3.0やC++ラムダ関数、並列コンパイルといった、新規格や最近注目されている機能がいち早く取り入れられている。本記事では、インテル コンパイラーが採用した新規格について解説する。 === [インテル_コンパイラー_1000本ノックプロジェクト_p1 インテル コンパイラー 1000本ノックプロジェクト] インテル コンパイラーはVisual C++やGCCといったコンパイラと高い互換性を備えている。そのため、多くのソフトウェアではほとんど修正を行うこと無しにインテル コンパイラーでのコンパイルが可能であるが、ソフトウェアによってはコンパイル時の設定にコツがあったり、ソースコードの修正等が必要な場合もある。本記事では、さまざまなオープンソースソフトウェアをインテル コンパイラーでコンパイルし、そのコンパイル方法や注意点を紹介する。