[molpro-user] compilation troubles on AIX 5.3
Jyh-Shyong Ho
c00jsh00 at nchc.org.tw
Sat Mar 3 03:10:02 GMT 2007
Hi,
I managed to build Molpro2006.1 with ga-4.0.3 lapi64 on our IBM P595
AIX5.3 with the following CONFIG file:
----------------------------------------------------------------------
# MOLPRO CONFIG generated at Thu Mar 1 11:46:47 TAIST 2007 with version
2006.1
# for host iliad, architecture unix unix-i8 unix-ibm
#
# insert additional hosts before iliad in above line, if desired
#
ARCHITECTURE="unix unix-i8 unix-ibm mpp"
#If you have a POWER2 machine, consider adding -qarch=pwr2 to the FOPT
options. Power3 should just work.
# Compilers ..
CC="cc -q64 -qmaxmem=-1 "
FC="/usr/bin/xlf_r -I. -I/package/chem/molpro/source/molpro2006.1/src
-NA16384 -NQ20000 -qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm
-qarch=auto -q64 -qwarn64 -qintsize=8 -Wl,-bbigtoc -qsave"
F90="/usr/bin/xlf_r -I. -I/package/chem/molpro/source/molpro2006.1/src
-NA16384 -NQ20000 -qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm
-qarch=auto -q64 -qwarn64 -qintsize=8 -Wl,-bbigtoc -qsuffix=f=f90
-qfree=f90 -qsave"
# compiler command to be used only when linking molpro.exe .. eg mpxlf
on IBM SP
LINKFC="/usr/bin/xlf_r -I.
-I/package/chem/molpro/source/molpro2006.1/src -NA16384 -NQ20000
-qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm -qarch=auto -q64
-qwarn64 -qintsize=8 -Wl,-bbigtoc"
YACC="yacc"
ARFLAGS="-X64 -r"
PERL="1"
PERLEXE="/usr/bin/perl"
PERLVERSION="5.008002"
# C defines
# nb SEEK is disk seek speed in seconds
# SPEED is disk transfer rate in 8 bytes/second
# compiler optimisation
COPT="-O2"
FOPT="-O3"
# compiler explicit no optimisation
CDEF="-DSEEK=.001 -DSPEED=200000 -qarch=auto -DI64 -q64 -qwarn64 -DAIX42
-DAIX5 -DNOALRM -DUSE_LAPI -DHAVE_INTTYPES_H -DMOLPRO_GETOPTLONG
-DMA_ALLOC -DMOLPROC_PAR"
CNOPT=" "
COPT1="-O1"
COPT2="-O2"
FNOPT=" "
FOPT1="-O1"
FOPT2="-O2"
FOPT3="-O3 -qnosave"
# compiler debug flag
CDEBUG="-g"
FDEBUG="-g"
# static variables
FSTATIC=" "
# 64-bit integers
FI64="-qintsize=8"
# profiling
FPROFILE="-p"
CPROFILE="-p"
# additional pre-processor flags
FTCFLAGS="mpp eaf blas4"
# additional directories to be compiled in mpp case
MPPDIR="mpp"
SLATERDIR=""
# additional libraries and link options
LIBS=" "
LINKOPT=" "
# non-standard location of system libraries
LIBDIR="/package/chem/molpro/source/ga403/lib/LAPI64"
# GKS X-windows library
GKSLIB="-lgks0"
# BLAS library
BLASLIB="-lessl_r"
# LAPACK library
LAPACKLIB=""
# MPP?
MPP="1"
MPPX="0"
SLATER=0
WRAPPER="/usr/bin/poe"
USE_MPI=""
USE_LAPI="1"
USE_MYRINET=""
MPI_LIB=""
MPPNAME="lapi"
ARCHNAME=""
MPITYPE=""
MPIBASEDIR=""
MYRINET_LIB=""
MYRINET_LINKPARS=""
MPIGM_FORMAT="0"
USE_GIO="0"
USE_GATOOLS="0"
# files in src/ to be compiled without optimization
F77VERSION="9.1.0.8"
FORTVERSION="xlf9.1.0.8"
NO_OPT=""
F_OPT1="mrci/ciinp.f sapt/response.f90"
F_OPT2="Molcas/pget2.f dtraf/dtfint2.f blas/mxm.f blas/mxm3.f
blas/mxm4.f local/mxmadd.f"
F_OPT3="explicit/explicit_util.f util/getvar.f eom/ldip.f"
C_OPT1=" "
C_OPT2=" "
# ranlib command (if not needed, true)
RANLIB="true"
# ls command to get user and group
LSFULL="ls -l"
# cp -p if it exists, else cp
CP="cp -p"
# tar command
TAR="tar"
# awk command
AWK="awk"
# strip command
STRIP="strip -X 32_64"
# installation directories
INSTBIN="/package/chem/molpro/bin"
INSTLIB="/package/chem/molpro/lib"
INSTHTML="/u1/chem/public_html/molpro/molpro2006.1"
INSTCGI="/u1/chem/public_html/molpro/molpro2006.1"
# makedepend configuration
MAKEDEPEND_OPTIONS=""
MODULE_SUFFIX="mod"
MODULE_FLAG="-I"
# non-default libraries
LIBDIR_lapi=/package/chem/molpro/source/ga403/lib/LAPI64
WRAPPER_lapi=/usr/bin/poe
LINKFC_lapi="/usr/bin/mpxlf_r -I.
-I/package/chem/molpro/source/molpro2006.1/src -NA16384 -NQ20000
-qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm -qarch=auto -q64
-qwarn64 -qintsize=8 -Wl,-bbigtoc "
LINKFC_mpi="/usr/bin/mpxlf_r -I.
-I/package/chem/molpro/source/molpro2006.1/src -NA16384 -NQ20000
-qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm -qarch=auto -q64
-qwarn64 -qintsize=8 -Wl,-bbigtoc "
PARSE=parse-rs6000-ibm-aix5.3.0.0-i8.o.gz
----------------------------------------------------------------
What was missing before is the fortran compiler FC and F90 parameter
-qsave, which prevents the compiler
from exceeding the stack limit.
(http://www.pdc.kth.se/doc/SP/manuals/xlf-6.1/html/ug89.htm)
On our IBM P595 (64 power5 cpus and 256GB memory), I can run a Molpro
test job using 4 cpus
with a script mscrip like this
#!/bin/csh
setenv HERE `pwd`
setenv MP_PROCS 4
setenv MP_MSG_API lapi
setenv MP_HOSTFILE $HERE/hostfile
setenv RT_GRQ ON
setenv AIXTHREAD_SCOPE S
setenv MP_INFOLEVEL 1
setenv LAPI_USE_SHM yes
setenv USE_OLDAIO y
time /package/chem/molpro/bin/molpro -d/work1/chem $1
working directory is /work1/chem (I am using account chem)
File hostfile contains 4 lines of the hostname, like this
iliad
iliad
iliad
iliad
To run a test case in interactive mode
./mscrip h2o_cosmo.com
The test case completed normally.
The loadleveler environment on our IBM P595 is not ready yet, so I have
not tried it
in batch mode. The loadleveler job script should create the hostfile
dynamically in the
format above.
Many thanks for the helps from Dr. Toon Verstraelen.
Best regards
Jyh-Shyong Ho, Ph.D.
Research Scientist
National Center for High Performance Computing
Hsinchu, Taiwan, ROC
More information about the Molpro-user
mailing list