[SCore-users-jp] NAS Parallel Benchmark Compile

kameyama @ pccluster.org kameyama @ pccluster.org
2004年 1月 22日 (木) 09:18:14 JST


亀山です.

In article <20040122060430.CAD0.HAYASHI @ hpc.cs.ritsumei.ac.jp> Hayashi Masaki <hayashi @ hpc.cs.ritsumei.ac.jp> wrotes:
> SCore上でNAS Parallel Benchmarkを動かしたく
> コンパイルを試みているのですがうまくいかないので困っています。
(中略)

> #FMPI_LIB  = -L/usr/local/lib -lmpi
> FMPI_LIB  = -L/opt/score/mpi/mpich-1.2.5/i386-redhat7-linux2_4_pgi/lib -lmpi

これは mpif77 がつけてくれるので不要です.
    FMPI_LIB =
としてください.

> #FMPI_INC = -I/usr/local/include
> FMPI_INC = -I/opt/score/mpi/mpich-1.2.5/i386-redhat7-linux2_4_pgi/include

これも不要です.
    FMPI_INC =
でよいです.

> #---------------------------------------------------------------------------
> # Global *compile time* flags for Fortran programs
> #---------------------------------------------------------------------------
> FFLAGS	= -compiler pgi -O3 
> # FFLAGS = -g
> 
> #---------------------------------------------------------------------------
> # Global *link time* flags. Flags for increasing maximum executable 
> # size usually go here. 
> #---------------------------------------------------------------------------
> FLINKFLAGS =

link できない原因はここにあります.
link 時も
    FLINKFLAGS = -compiler pgi
のように compiler を指定してください.
指定しないと default compiler (多分 gnu?) で link してしまいます.


> CMPI_LIB  = -L/usr/local/lib -lmpi

これだと /usr/local/lib に別の libmpi などがあるとうまく link しないような...
   CMPI_LIB =
にしてください.

> #---------------------------------------------------------------------------
> # These macros are passed to the compiler to help find 'mpi.h'
> #---------------------------------------------------------------------------
> CMPI_INC = -I/usr/local/include

同様に
    CMPI_INC =
としてください.

> CFLAGS	= -O3 

IS で pgi を使用したい場合は
    CFLAGS = -O3 -compiler pgi
と指定してください.

> CLINKFLAGS =

ここも同様です.
     CLINKFLAGS = -copmpiler=pgi

> #---------------------------------------------------------------------------
> # Utilities C:
> #
> # This is the C compiler used to compile C utilities.  Flags required by 
> # this compiler go here also; typically there are few flags required; hence 
> # there are no separate macros provided for such flags.
> #---------------------------------------------------------------------------
> CC	= /opt/score/bin/mpicc

コメントのとおり, こちらは普通のプログラムのコンパイルに使用するので,
mpicc ではなく, 通常のコンパイラを指定します.
  CC = pgcc
あたりでよいと思います.

これだけなおせば binary はできると思います.

> make[1]: *** Warning: File `npbparams.h' has modification time in the future 
> (2004-01-22 06:28:16 > 2004-01-22 06:28:05)

これは NFS 先と compile している host の時刻があっていないためだと思います.
とりあえず無視しても構わないと思いますが, 直すためには両方で ntp を
動かすなど時刻を同期させる必要があります.

                       from Kameyama Toyohisa



SCore-users-jp メーリングリストの案内