[SCore-users-jp] Re: mpiコンパイル失敗
kameyama @ pccluster.org
kameyama @ pccluster.org
2002年 7月 10日 (水) 20:54:25 JST
亀山です.
In article <200207100853.AA00209 @ crcpc79.crc.co.jp> iriya @ crc.co.jp (入谷 佳一) wrotes:
> # smake 2>&1 | tee make.log
> で失敗してしまいました.
> お手数ですが,よろしくお願いいたします.
いくつか問題がありました.
1. omni では当然 pthread を使用するのですが, SCore 環境では checkpoint のため,
特別の pthread を使用する必要があります.
これを使用するには pthread のあとに -lscwrap を指定する必要があります,
とりあえず, link するためには
/opt/omni/lib/openmp/gcc/lib/openmp/libexec/omniDriver
の genSystemLibrary() の最後の
sysLibs="-lpthread";;
を
sysLibs="-lpthread -lscwrap";;
に変更する必要があります.
(但し, これを行うと, 通常の環境での Omni が使用できなくなります.
2. source を full path で指定したとき, object file が current directory に
できない.
% omf77 -c /tmp/a.f
とすると a.o は current directory にできずに /tmp/a.o ができます.
これは mpi のコンパイル環境の仮定とは違うため, うまく library などが
できません.
とりあえず, 以下を実行してください.
(directory 以外はやっていることは変わりません.)
# /opt/score/score-src/runtime/mpi/mpich-1.2.0/src
# ./configure -arch=LINUX -device=ch_score -mpe \
-cc=/opt/score5.0.0/bin/scorecc -fc=/opt/score5.0.0/bin/scoref77 \
-optcc=-O4 -optf77=-O -cflags=-compiler=omni -fflags=-compiler=omni \
-nof90 -noc++ \
-prefix=/opt/score5.0.0/mpi/mpich-1.2.0/i386-redhat7-linux2_4_omni \
-comm=zerocopy
# make
# make install
(Fortran のサンプルプログラムのコンパイルに失敗しますが, とりあえず
無視してください. 3. を参照してください.)
3. Fortran の include path の指定が -I ではできない.
2. のコンパイルの仮定でコンパイルされる Fortran サンプルプログラムには
include 'mpif.h'
の指定があるのですが, これをみつけてくれません.
Fortran を使用するときは compile する current directory に
/opt/score5.0.0/mpi/mpich-1.2.0/i386-redhat7-linux2_4_omni/include/mpif.h をコピーしてください.
すべて一時しのぎばかりで申し訳ありません.
from Kameyama Toyohisa
SCore-users-jp メーリングリストの案内