[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 メーリングリストの案内