Greetings folks,
I’m trying to compile the latest version of WRF for use on a dual quad-core Rocks 5.1 cluster. I use mpi and gcc version 4.1.2 on a x86_64-redhat-linux using PGF90 7.2-5.
I’ve been able to successfuly compile em_real using option #1 (serial). Using option #1 I’ve also been able to execute the model successfully for a sizeable domain for a 6 week simulation (but I need to speed up the process).
I’ve been able to compile em_real using option #2 (smpar), though the results are vastly different from the results using #1 (much beyond what should be acceptable - I trust the serial results whereas I do not trust the smpar results). I’ve used 4, 6, and 7 processors when running using OpenMP, but in each case, though the speed differs (much faster), the results are not trustworthy.
I would like to compile using MPI (option #3: dmpar), but am not able to do so. The error I receive is reproduced below (the symbolic links are created but not any of the executables):
make[3]: Entering directory `/home/matt1/WRF31/WRFV3/external/RSL_LITE’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
c_code.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
buf_for_proc.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
rsl_malloc.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
rsl_bcast.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
task_for_point.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
period.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
swap.c
gcc: unrecognized option ‘-cc=gcc’
mpicc -cc=gcc -DMPI2_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -c
cycle.c
gcc: unrecognized option ‘-cc=gcc’
mpif90 -f90=pgf90 -fastsse -Mvect=noaltcode -Msmartalloc
-Mprefetch=distance:8 -Mfprelaxed -w -Mfree -byteswapio -r4 -i4
-byteswapio -o f_pack.o -c f_pack.F90
gfortran: unrecognized option ‘-Mvect=noaltcode’
gfortran: unrecognized option ‘-Msmartalloc’
gfortran: unrecognized option ‘-Mprefetch=distance:8’
gfortran: unrecognized option ‘-Mfprelaxed’
gfortran: unrecognized option ‘-Mfree’
gfortran: unrecognized option ‘-byteswapio’
gfortran: unrecognized option ‘-r4’
gfortran: unrecognized option ‘-byteswapio’
cc1: error: unrecognized command line option “-i4”
cc1: error: unrecognized command line option “-f90=pgf90”
cc1: error: unrecognized command line option “-fastsse”
make[3]: [f_pack.o] Error 1 (ignored)
/lib/cpp -C -P -I. -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600
-DCOAMPS_CORE=0 -DDA_CORE=0 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8
-DRWORDSIZE=4 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_SUBR -DDM_PARALLEL
-DNETCDF -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=32768
-DMAX_DOMAINS_F=21 -DNMM_NEST=0 -traditional f_xpose.F90 > f_xpose.f
mpif90 -f90=pgf90 -fastsse -Mvect=noaltcode -Msmartalloc
-Mprefetch=distance:8 -Mfprelaxed -w -Mfree -byteswapio -r4 -i4
-byteswapio -o f_xpose.o -c f_xpose.f
gfortran: unrecognized option ‘-Mvect=noaltcode’
gfortran: unrecognized option ‘-Msmartalloc’
gfortran: unrecognized option ‘-Mprefetch=distance:8’
gfortran: unrecognized option ‘-Mfprelaxed’
gfortran: unrecognized option ‘-Mfree’
gfortran: unrecognized option ‘-byteswapio’
gfortran: unrecognized option ‘-r4’
gfortran: unrecognized option ‘-byteswapio’
f951: error: unrecognized command line option “-f90=pgf90”
f951: error: unrecognized command line option “-fastsse”
make[3]: [f_xpose.o] Error 1 (ignored)
And on and on … I’m not using gfortran, but for some reason the redirect of the error message spews this out.
I’m pasting the configure.wrf below. Any help would be greatly
appreciated.
Architecture specific settings
To enable over-decompostion with dmpar and dm+sm compiles,
add -DALLOW_OVERDECOMP to ARCH_LOCAL, below. (not recommended)
Settings for Linux x86_64, PGI compiler with gcc (dmpar)
DMPARALLEL = 1
OMPCPP = # -D_OPENMP
OMP = # -mp -Minfo=mp
SFC = pgf90
SCC = gcc
DM_FC = mpif90 -f90=$(SFC)
DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT
FC = $(DM_FC)
CC = $(DM_CC) -DFSEEKO64_OK
LD = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
CFLAGS_LOCAL = -w -O3
LDFLAGS_LOCAL =
CPLUSPLUSLIB =
ESMF_LDFLAG = $(CPLUSPLUSLIB)
FCOPTIM = -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT = $(FCOPTIM)
FCNOOPT = -O0
FCDEBUG = # -g $(FCNOOPT)
FORMAT_FIXED = -Mfixed
FORMAT_FREE = -Mfree
FCSUFFIX =
BYTESWAPIO = -byteswapio
FCBASEOPTS = -w $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO)
MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG = -traditional
CPP = /lib/cpp -C -P
AR = ar
ARFLAGS = ru
M4 = m4 -B 14000
RANLIB = ranlib
CC_TOOLS = $(SCC)
Would greatly appreciate any assistance.