[molpro-user] compilation troubles on AIX 5.3
Toon Verstraelen
toon.verstraelen at UGent.be
Mon Feb 26 13:45:54 GMT 2007
Dear Molpro users,
We experience some difficulties with the compilation of molpro 2006.1 on
AIX 5.3 systems (p510 and p575, recently updated, version 5003-05-05)
Details about our system configuration (compilers and libraries) are
included below. The actual compilation runs fine. after running gmake,
the a binary molprop_2006_1_i8_lapi.exe can be found in the bin
directory. Unfortunately we can not start any job, e.g. when we try to
do run tune.com as follows:
export MP_PROCS=2
export MP_MSG_API=lapi
export MP_HOSTFILE=/home/toon/hostfile
export RT_GRQ=ON
export AIXTHREAD_SCOPE=S
export MP_INFOLEVEL=1
export LAPI_USE_SHM=yes
export USE_OLDAIO=y
./bin/molpro < tuning.com
We get the following output:
MPP nodes nproc
moldyn60 2
ga_uses_ma=false, calling ma_init with nominal heap.
GA-space will be limited to 8.0 MW (determined by -G option)
Primary working directories: /tmp/toon
Secondary working directories: /tmp/toon
MPP tuning parameters: Latency= 0 Microseconds, Broadcast speed=
0 MB/sec
default implementation of scratch files=sf
memory,8,m
maxdim=32
maxdim1=64
maxdim2=180
blastest,n=120,unroll=4,ntrans=2,mxmblk=48,mxmbln=48,blas2=0
mflop=max(flopmxm,flopdgm)
blastest,n=480,unroll=2,ntrans=2,mxmblk=64,mxmbln=64,mflop=mflop,blas2=0
flopmx2=flopmxm
blastest,n=480,unroll=3,ntrans=2,mxmblk=64,mxmbln=64,mflop=mflop,blas2=0
flopmx3=flopmxm
blastest,n=480,unroll=4,ntrans=2,mxmblk=64,mxmbln=64,mflop=mflop,blas2=0
flopmx4=flopmxm
flopmx480=max(flopmx2,flopmx3,flopmx4)
flopdg480=flopdgm
nroll=4
if(flopmx3.gt.max(flopmx2,flopmx4)) nroll=3
if(flopmx2.gt.max(flopmx3,flopmx4)) nroll=2
if(nroll.eq.2) then
mxmblk=64
blastest,n=960,unroll=nroll,mxmblk=nblk,mxmbln=nblk,ntrans=2,mflop=mflop,blas2=0
flopmax=flopmxm
else
flopmax=0
do nblk=64,188,24
blastest,n=960,unroll=nroll,mxmblk=nblk,mxmbln=nblk,ntrans=2,mflop=mflop,blas2=0
if(flopmxm.gt.flopmax) then
mxmblk=nblk
flopmax=flopmxm
end if
enddo
endif
flopmx960=flopmax
flopdg960=flopdgm
blastest,n=60,unroll=nroll,ntrans=2,mxmblk=mxmblk,mxmbln=mxmblk,mflop=mflop,blas2=0
flopmx60=flopmxm
flopdg60=flopdgm
mflop=mflop/2
i=0
mindgm=4
mindgv=4
do k=4,maxdim+2
i=i+1
dim(i)=k
if(k.gt.maxdim ) dim(i)=maxdim1
if(k.gt.maxdim+1) dim(i)=maxdim2
blastest,n=dim(i),ntrans=2,unroll=nroll,mxmblk=mxmblk,mxmbln=mxmblk,mflop=mflop
flopmxma(i)=flopmxm
flopdgem(i)=flopdgm
flopmxmv(i)=flopmxv
flopdgev(i)=flopdgv
if(flopdgm.le.flopmxm) mindgm=dim(i)+1
if(flopdgv.le.flopmxv) mindgv=dim(i)+1
if(k.gt.max(mindgm,mindgv)) goto lab1:
enddo
lab1:
if(mindgm.gt.maxdim2) mindgm=5000
if(mindgv.gt.maxdim2) mindgv=5000
mindgc=1
do i=1,maxdim+2
dim1(i)=i
if(i.gt.maxdim ) dim1(i)=maxdim1
if(i.gt.maxdim+1) dim1(i)=maxdim2
blastest,n=60,ncol=dim1(i),ntrans=2,unroll=nroll,mxmblk=mxmblk,mxmbln=mxmblk,mflop=mflop,blas2=0
flopmxma_c(i)=flopmxm
flopdgem_c(i)=flopdgm
if(flopdgm.le.flopmxm) mindgc=dim1(i)+1
if(i.gt.mindgc) goto lab2:
enddo
lab2:
if(mindgc.gt.maxdim2) mindgc=5000
mindgr=1
do i=1,maxdim+2
dim1(i)=i
if(i.gt.maxdim ) dim1(i)=maxdim1
if(i.gt.maxdim+1) dim1(i)=maxdim2
blastest,n=60,nrow=dim1(i),ntrans=2,unroll=nroll,mxmblk=mxmblk,mxmbln=mxmblk,mflop=mflop,blas2=0
flopmxma_r(i)=flopmxm
flopdgem_r(i)=flopdgm
if(flopdgm.le.flopmxm) mindgr=dim1(i)+1
if(i.gt.mindgr) goto lab3:
enddo
lab3:
if(mindgr.gt.maxdim2) mindgr=5000
mindgl=1
do i=1,maxdim+2
dim1(i)=i
if(i.gt.maxdim ) dim1(i)=maxdim1
if(i.gt.maxdim+1) dim1(i)=maxdim2
blastest,n=60,nlink=dim1(i),ntrans=2,unroll=nroll,mxmblk=mxmblk,mxmbln=mxmblk,mflop=mflop,blas2=0
flopmxma_l(i)=flopmxm
flopdgem_l(i)=flopdgm
if(flopdgm.le.flopmxm) mindgl=dim1(i)+1
if(i.gt.mindgl) goto lab4:
enddo
lab4:
if(mindgl.gt.maxdim2) mindgl=5000
i=#dim+1
dim(i)=60
flopmxma(i)=flopmx60
flopdgem(i)=flopdg60
i=i+1
dim(i)=480
flopmxma(i)=flopmx480
flopdgem(i)=flopdg480
i=i+1
dim(i)=960
flopmxma(i)=flopmx960
flopdgem(i)=flopdg960
ncache=mxmblk*mxmblk*3
mflop=2*mflop
table,dim,flopmxma,flopdgem,flopmxmv,flopdgev
table,dim1,flopmxma_c,flopdgem_c,flopmxma_r,flopdgem_r,flopmxma_l,flopdgem_l
show,nroll,mxmblk,ncache,mindgm,mindgc,mindgl,mindgr,mindgv
blastest,saverc,n=120,mxmblk=mxmblk,mxmbln=mxmblk,ncache=ncache,unroll=nroll\
mindgm=mindgm,mindgl=mindgl,mindgc=mindgc,mindgv=mindgv,mindgr=mindgr,mflop=mflop
if(nproc_mpp.gt.1) then
blastest,saverc,mxma_mpp=1,n=960,mflop=3000
end if
Variables initialized (517), CPU time= .01 sec
Commands initialized (293), CPU time= .01 sec, 434 directives.
Default parameters read. Elapsed time= .34 sec
Checking input...
Passed
1
*** PROGRAM SYSTEM MOLPRO ***
Copyright, University College Cardiff
Consultants Limited, 2004
Version 2006.1 linked 26 Feb 2007
14:34:13
**********************************************************************************************************************************
LABEL *
AIX-5.3/moldyn60(43P) 64 bit mpp version (xlf10.1.0.3/essl_r)
DATE: 26-Feb-07 TIME: 14:39:18
**********************************************************************************************************************************
Patch level: 59
**********************************************************************************************************************************
SETTING MAXDIM = 32.00000000
SETTING MAXDIM1 = 64.00000000
SETTING MAXDIM2 = 180.00000000
Variable memory set to 8000000 words, buffer space 230000 words
Starting benchmark for BLAS routines with ncache= 16384 mxmblk=
48 mxmbln= 48 nspars= 2 nroll=4
N= 120 L= 120 M= 120 NREP2= 6944 NREP3= 58 ITRA= 1 ITRB= 1
MXMA: CPU= .05 ( 4008.960 MFLOP)
DGEMM : 2538-2005
The size of the leading dimension (ARG NO. 8) of an array must be greater
than zero.
DGEMM : 2538-2005
The size of the leading dimension (ARG NO. 10) of an array must be greater
than zero.
DGEMM : 2538-2005
The size of the leading dimension (ARG NO. 13) of an array must be greater
than zero.
DGEMM : 2538-2099
End of input argument error reporting. For more information, refer to
Engineering and Scientific Subroutine Library Guide and Reference
(SA22-7904).
DGEMM : 2538-2604
Execution terminating due to error count for error number 2099.
DGEMM : 2538-2605
Message summary: 2005 - 3
DGEMM : 2538-2605
Message summary: 2099 - 1
STOP 1
STOP 1
ERROR: 0031-300 Forcing all remote tasks to exit due to exit code 1 in
task 0
It seems that the routine DGEMM is called with incorrect parameters?
Note that when we use
FTCFLAGS="mpp eaf blas4"
instead of
FTCFLAGS="mpp eaf blas1 blas2 blas3"
the problem disappears. This should not be necessary since the essl
libraries contain both 64 and 32 bit versions of the BLAS and LAPACK
routines. We would really like to perform a native 64bit compilation.
Have there been successful 64bit-builds for AIX 5.3. We would be very
interested in details to get a fully working binary?
best regards,
Toon Verstraelen
P.S. Here are some details about the configuration of our system:
IBM XL Fortran Enterprise Edition V10.1 for AIX,Version: 10.01.0000.0003
IBM XL C/C++ Enterprise Edition V8.0 for AIX,Version: 08.00.0000.0012
essl.rte.common 4.2.0.4
Global arrays 4-0-1, compiled with 'gmake TARGET=LAPI64'
Molpro 2006.1 CONFIG file:
# MOLPRO CONFIG generated at Wed Feb 14 12:28:48 NFT 2007 with version
2006.1
# for host moldyn60, architecture unix unix-i8 unix-ibm
#
# insert additional hosts before moldyn60 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/home/toon/tmp/build/molpro.2006.1/molpro2006.1/src -NA16384 -NQ20000
-qzerosize -qcharlen=1024 -qextname -qmaxmem=-1 -qnolm -qarch=auto -q64
-qwarn64 -qintsize=8 -Wl,-bbigtoc"
F90="/usr/bin/xlf_r -I.
-I/home/toon/tmp/build/molpro.2006.1/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"
# compiler command to be used only when linking molpro.exe .. eg mpxlf
on IBM SP
LINKFC="/usr/bin/xlf_r -I.
-I/home/toon/tmp/build/molpro.2006.1/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 -DMPIGM_FORMAT=1 -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 blas1 blas2 blas3"
# 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="/home/toon/tmp/build/ga-4-0-1/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="1"
USE_GIO="0"
USE_GATOOLS="0"
# files in src/ to be compiled without optimization
F77VERSION="10.1.0.3"
FORTVERSION="xlf10.1.0.3"
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="/software/molpro/2006.1/bin"
INSTLIB="/software/molpro/2006.1/lib"
INSTHTML="/software/molpro/2006.1/doc"
INSTCGI="/software/molpro/2006.1/doc"
# makedepend configuration
MAKEDEPEND_OPTIONS=""
MODULE_SUFFIX="mod"
MODULE_FLAG="-I"
# non-default libraries
LIBDIR_lapi=/home/toon/tmp/build/ga-4-0-1/lib/LAPI64
WRAPPER_lapi=/usr/bin/poe
LINKFC_lapi="/usr/bin/mpxlf_r -I.
-I/home/toon/tmp/build/molpro.2006.1/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/home/toon/tmp/build/molpro.2006.1/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
More information about the Molpro-user
mailing list