[SCore-users-jp] OpenMP-MPI
kameyama @ pccluster.org
kameyama @ pccluster.org
2002年 7月 10日 (水) 14:54:52 JST
亀山です.
本格的には Omni を optional compiler として
mpi を作り直す必要があるのですが...
In article <200207100538.AA00207 @ crcpc79.crc.co.jp> iriya @ crc.co.jp (入谷 佳一) wrotes:
> >まずは、mpicc -v でリンクするパスをしらべて、omccでコンパイル、
> >必要なライブラリをリンクすればできるとおもいます。
> mpif77 -v で出てきたリストから,mpiのライブラリをリンクすると
> 以下のようになり,リンクに失敗してしまいました.
>
> ompf77 -o a.out a.f -static -fconserve-space \
> -L/opt/score5.0.0/mpi/mpich-1.2.0/i386-redhat7-linux2_4/lib \
> -lmpich -lmpichf
>
> Compiling 'a.f'...
> MAIN a:
> a.o: In function `__Omni_FortranEntryPoint':
> a.o(.text+0xb0): undefined reference to `mpi_init_'
> a.o(.text+0xcd): undefined reference to `mpi_comm_rank_'
> a.o(.text+0xea): undefined reference to `mpi_comm_size_'
> a.o(.text+0x155): undefined reference to `mpi_wtime_'
> a.o(.text+0x17d): undefined reference to `mpi_barrier_'
> a.o(.text+0x18a): undefined reference to `mpi_finalize_'
> collect2: ld returned 1 exit status
> Error 1
Omni の Fortran compiler は Fortran の呼び出しに _ を使用するようです.
> U MPI_Init
> 00000000 W mpi_init__
> 00000000 T pmpi_init__
これに対して, default の gcc の mpi は Fortran の呼び出しに __ を
使用します.
この件に関しましては
/opt/score5.0.0/mpi/mpich-1.2.0/i386-redhat7-linux2_4/lib
の代わりに
/opt/score5.0.0/mpi/mpich-1.2.0/i386-redhat7-linux2_4_gnu1ul/lib
(g77 で -second-underscore option をつけたときの環境です.)
を使用すればクリアできると思います.
更に SCore 関連の library
-L/opt/score5.0.0/lib/i386-redhat7-linux2_4 -lscoreusr -lscorecommon -lpm -lscwrap
も指定する必要があります.
from Kameyama Toyohisa
SCore-users-jp メーリングリストの案内