Ubuntu12.04 Intel® Parallel Studio XE 2011 for Linuxのインストール

Linux向けの非商用Intel Fortran Compilerのインストール方法です。
FortranC++の両方のコンパイラを含むIntel® Parallel Studio XE 2011 for Linuxのインストールする手順を紹介しますが、FortranコンパイラだけのIntel® Fortran Composer XE 2011 for Linuxも同様の手順でインストールできます。
Fortranの場合はifort、C++の場合はiccコンパイルできます。

準備

まず次のソフトをインストールします。

$ sudo apt-get install build-essential
$ sudo apt-get install gcj-jre

もしかしたらこれらも必要です。

$ sudo apt-get install libstdc++6
$ sudo apt-get install ia32-libs

インストール

Qualify for Free Software | Intel® SoftwareからIntel® Parallel Studio XE 2011 for Linuxをダウンロードします。
ダウンロードの際は、メールアドレスの登録が必要です。
登録したメールアドレスに、シリアル番号とダウンロードファイルのURLが送られてきます。
自分のOSに合わせて32bit版か64bit版をダウンロードしてください。
ダウンロードしたファイルはホーム・フォルダに置いておきます。

まず拾ったファイルを解凍(ファイル名は落としたファイルを見てください)。

$ tar xvzf parallel_studio_xe_2011_sp1_update2_ia32.tgz

そしたらルート権限に変更してインストール実行。

$ cd parallel_studio_xe_2011_sp1_update2_ia32
$ sudo su
# ./install.sh

で、あとは画面の指示に従ってください。

インストールが完了したら、ホーム・フォルダにある .bashrc を開いて、ファイルの最後に以下の行を追加します。
(インストール先のフォルダは自身で確認してください。)

source /opt/intel/composer_xe_2011_sp1.9.293/bin/compilervars.sh ia32

ia32は32bit用のオプションです。64bitの場合は代わりに'intel64'としてください。

これが終わったら、rootから一回ぬけてコマンドラインで再度読み込み

$ source ~/.bashrc

か、もう一回ログインするとOK。
これで毎回コマンドラインから使えるようになります。

$ ifort -v
$ icc -v

でバージョンが表示されたらインストール成功です。

iccコンパイルできない?

試しにiccで簡単なプログラムをコンパイルしようとしても、うまくコンパイルできないことがあります。
エラーメッセージを見ると、bits/predefs.hがないとか言っています。
このpredefs.h、変なところに潜り込んでいて、

$ sudo ln -s /usr/include/i386-linux-gnu/* /usr/include/

とすれば解決します。
これ、早く改善した方がいいと思うんだけど・・・。



追記 2012/10/02
新しくリリースされた XE 2013 では直ってるみたいです。

MKLのコンパイルオプション

このコンパイラにはIntel特製のMath Kernel Libraryというのがついてきます。
この中にはLAPACK&BLASも含まれています。
MKLを使う際のコンパイルオプションの付け方は
Intel® Math Kernel Library Link Line Advisor | Intel® Software
から調べることができます。
出てきたlink line, Compiler optionsで$(MKLROOT)となっているところは

/opt/intel/composer_xe_2011_sp1.9.293/mkl

などと置き換えます。
(MKLの入っているフォルダは自身で確認してください。)