Intel C/C++ Fortran 9.0 Math Kernel_Lib
Ubunts-ja 5.1.0 上で、Intel 開発環境(無償版を使う)
Intel C/C++ on Eclipse IDE
最初に
そもそも、gcc があるのに何故 Intel Devtool を使うのか。
それは、無償で遊べるから。それだけ。本式に使うならば、64bit
版のディストリと、更に安定した 64bit 商用版が当然必要。
http://www.intel.com/cd/software/products/ijkk/jpn/index.htm
から、リンクを辿って落とす。
Intel C/C++ 9.0
インストールガイド(英文)に従うが、結局 rpm パッケージを alien で deb
パッケージにした。シェルは、出来れば tcsh にした方が楽。
sudo dpkg -i ***.deb で入れられる。ライセンスファイルの置き場所などは
当初、インストーラを起動して先に入れておく。
Intel Fortran Math Kernel Library 8
これらは、インストーラ通りで OK
ちなみに、Eclipse 3.0 C/C++ IDE 上で扱うようになっている。単体でも可
だが、設定が面倒。きちんと設定されていれば、Intel ロゴの Eclipse が起
動する。
私の、~/.tcshrc
---
umask 022
limit coredumpsize 0
# aliases are set by .alias
if -f ~/.alias source ~/.alias
#endif
source /etc/complete.tcsh
set path = (. /opt/intel/fc/9.0/bin /opt/intel/fc/9.0/lib /opt/intel/mkl/8.0.1/include /opt/intel/mkl/8.0.1/lib/32 /opt/intel/cc/9.0/bin /opt/intel/cc/9.0/lib /usr/local/java/jdk1.5.0_06/jre ~/bin $path)
#set manpath = ("man -w")
#
# set prompt="%m:%~ %h %% "
#
# setenv EDITOR emacs
# setenv LANG ja_JP.UTF-8
set savehist = (1000 merge)
set HOSTTYPE=i686
set MACHTYPE=i686
setenv INSTALLDIR /opt/intel/cc/9.0
source /opt/intel/cc/9.0/bin/iccvars.csh
source /opt/intel/idb/9.0/bin/idbvars.csh
source /opt/intel/fc/9.0/bin/ifortvars.csh
source /opt/intel/mkl/8.0.1/tools/environment/mklvars32.csh
---
起動は、KDE 上でしているので、
/opt/intel/cc/9.0/bin/iccec-kde
としている(メニューに登録されるので、プロパティーでフルパス指定 gnome
でも、同様で構わない)。
source しているシェルスクリプトの先頭に
setenv LANG C
setenv LANGUAGE C
として、デフォルトの英語環境にしてやらないと、g++(gcc)と競合してしまうの
で注意すること。
また、Intel C/C++ Fortran ともに、リンクするライブラリを Gnu glibc
libstdc++ なのか Intel 独自のものにするかは、コンパイラオプションを、
Eclipse 上で出来るようになっている。サンプルソースを用いて計測すると、約
20% 近く速度を上げられたが、 Fortran + Math Kernel Lib だと、最高で
60% 以上高速に計算出来た。(P-4 3.0GHz E)
精度は、GCC の最新版 4.1 系と大差なかった。もっとも、速度とトレードオフ
で、精度をあげるオプションも豊富にあるし、Math_Lib を上手に使えば、並列
計算で他を犠牲にせず、精度も上げられる。
但し、GUI なアプリ作成には向かない。Qt3 , Qt4 を使うなら、GCC g++ と
Kdevelop が圧倒的に効率的。コードが大きくて構わないなら、スタティック
ライブラリを Intel で作成して、リンクすれば良い。シェアードライブラリは
小さなものは OK のようだったが、大きかったり、他ライブラリが関係すると、
シンボルが合わないことがある。
配布出来るようなアプリは、ライセンス上、正規版でなければ無理なようだ。また
、別途 automake autoconf で、ソースツリーを作成する必要がある。
Qt4 商用版が、開発環境ごと Intel C/C++ をビルトインしてくれれば、随分
と良質なコードも吐けるだろうが、両者が共同することは無いだろう。
つまり、ターミナルプログラムか、ライブラリ作成か、アプリからラウンチされる
ようにするしか現状有効性は薄い。数値計算メインならば、メリットは十分ある。