[SCore-users-jp] Compiler
kameyama @ pccluster.org
kameyama @ pccluster.org
2002年 12月 11日 (水) 12:12:44 JST
亀山です.
In article <3DF6A41C.7BB25394 @ sse.co.jp> "Sugano, Mitsukuni" <suga @ sse.co.jp> wrotes:
> SCoreで、GNU以外のコンパイラを使用する場合、どのような手順
> を踏めばよろしいのでしょうか?
>
> SCoreのバージョンは、5.0.1または、5.2.0です。
コンパイラの扱いは 5.0.1 と 5.2.0 で異なります.
> 1.コンパイラのインストール
>
> 各コンパイラを通常どおりインストール後、
>
> 以下の2通りありそうなのですが...
>
> (1)
>
> 「/opt/score/etc/compilers/site」に、各コンパイラ(intelなら
> 「intel」)を追加
>
> # cd /opt/score
> # for tarfile in /mnt/cdrom/source.source/*.tar.gz
> # do
> # tar xzf $tarfile
> # done
> # cd /opt/score/score-src/runtime/mpi
> # smake
> # smake install
SCore 5.0.1 もしくは SCore 5.2.0 でも下記のコンパイラ以外の場合は
こちらを行ってください.
(下記のコンパイラでもコンパイラの version によっては再コンパイル
する必要があるかも知れません.)
> インテル、PGI、富士通コンパイラのいずれかを一つだけ追加する場合は
> /opt/score/etc/compilers/site.example.* を
> /opt/score/etc/compilers/site
> にコピーするだけですむかもしれません。さらにこの 3 つのコンパイラ
> についてはバイナリ rpm を用意しています。コンパイラをインストール
> したあとで、SCore CD-ROM をマウントして
>
> # cd /mnt/cdrom/score.rpm
> # rpm -Uvh *compiler*
SCore 5.2.0 かつ上記ののコンパイラの場合はこちらを行ってください.
> また、例えば、Intelコンパイラのバージョンを6から7へ上げた場合の
> 手順はどうなりますでしょうか?
Intel compiler としての設定を行っていて, binary の互換性があれば,
そのままで動きます.
(site ファイルに full path を指定した場合は site ファイルを変更する必要が
ありますが...)
version 6 と Version 7 の両方を install していて使いわけたい場合は
% mpicc -compiler intel -compiler-path /opt/intel/compiler70/ia32/bin/icc ...
のように指定します.
SCore 5.2.0 の場合は
/opt/score/etc/compilers/alias
に
intel7 intel
と書いておいて, site ファイルに
mpicc intel=icc intel7=/opt/intel/compiler70/ia32/bin/icc ...
のように記述しておけば,
mpicc -compiler intel7 ...
で version 7 のほうを使用することができます.
ただ, Intel C++ コンパイラのリリースノートに
6 と 7 でのバイナリの互換性が無いと書かれていましたので,
MPI の再コンパイルが必要になる可能性があります.
(cpi は問題無く動きましたので, 多分, C なら大丈夫かも知れません.)
> 2.コンパイル
>
> コンパイルは、
> mpicc --compiler=intel myprog.c
> などとすればよろしいでしょうか?
はい.
> また、デフォルト指定変更はどうすればよろしいでしょうか?
SCore 5.0.1 の場合は変更できません.
SCore 5.2.0 の場合は site ファイルの先頭にあるのが
default になります.
また, 環境変数 SCORE_COMPILER に
mpicc=intel,mpif77=intel
などと設定してあれば, mpicc, mpif77 の default compiler が
intel になります.
> 3.実行
>
> mpirun、scrunの実行は、コンパイラ指定オプションはありますか?
> また、デフォルトはどこを参照するのでしょうか?
実行時にはコンパイラは使用しないので,
実行時のコンパイラの指定は無意味です.
from Kameyama Toyohisa
SCore-users-jp メーリングリストの案内