[molpro-user] compilation troubles on AIX 5.3
Andy May
MayAJ1 at Cardiff.ac.uk
Thu Mar 1 19:20:53 GMT 2007
I have been informed that the 64 bit ESSL math library does not contain
64 bit integers. ESSL uses the LP64 data model (32 bit integers, 64 bit
longs and pointers) rather than the ILP64 data model that Molpro uses
(64 bit for everything).
To solve the problem you must use the blas4 setting for Molpro, this
option can be specified at configure time.
Best wishes,
Andy
Jyh-Shyong Ho wrote:
> Dear Molpro users,
>
> We to have some difficulties in building Molpro 2006.1 on our IBM P595
> (AIX 5.3) system,
> the compilation failed even in building the utilitiy ftc.c:
>
> cc -q64 -qmaxmem=-1 -c -DSEEK=.001 -DSPEED=200000 -qarch=auto -DI64 -q64
> -qwarn64 -DAIX42 -DAIX5 -DNOALRM -DUSE_LAPI -DHAVE_INTTYPES_H
> -DMOLPRO_GETOPTLONG -DMA_ALLOC -DMOLPROC_PAR
> -DMOLPROBASE=\"/package/chem/molpro/source/molpro2006.1\" -I. -O2 ftc.c
> "/usr/include/sys/ras.h", line 357.1: 1506-195 (S) Integral constant
> expression with a value greater than zero is required.
> "ftc.c", line 43.47: 1506-743 (I) 64-bit portability: possible change of
> result through conversion of int type into unsigned long int type.
> "ftc.c", line 44.38: 1506-743 (I) 64-bit portability: possible change of
> result through conversion of int type into unsigned long int type.
> "ftc.c", line 55.12: 1506-742 (I) 64-bit portability: possible loss of
> digits through conversion of unsigned long int type into int type.
> "ftc.c", line 61.39: 1506-743 (I) 64-bit portability: possible change of
> result through conversion of int type into unsigned long int type.
> "ftc.c", line 62.30: 1506-743 (I) 64-bit portability: possible change of
> result through conversion of int type into unsigned long int type.
>
> I have no idea why system file /usr/include/sys/ras.h is invloved, the
> file does not exist in AIX 5.2.
> Any suggestion to solve this problem is appreciated.
>
> Jyh-Shyong Ho, Ph.D.
> Research Scientist
> National Center for High Performance Computing
> Hsinchu, Taiwan, ROC
>
>
>
> Toon Verstraelen 提到:
>
>>
>> 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