Thanks for your reply.
I have done the test jobs with the command line option "-prealloc:485" and it works, thanks.
The number of AOs in my systems is 359. It is a good news that the beta of Firefly v. 8.0.1 which has a somewhat reduced memory demands for XMCQDPT2 code.
On Wed Oct 23 '13 1:34am, Alex Granovsky wrote
>This is not a bug.
>Actually, 480 MW is rather close to the limit Firefly can allocate
>when running under Linux. Note, the memory allocated by Firefly
>must be formed by a single continuous address range in the virtual
>address space. It is not always possible to allocate such a huge
>piece of continuous memory as there is some randomness in the way
>how Linux loads shared libraries and their data segments.
>In addition, Firefly normally allocates memory after MPI
>initialization so that any memory fragmentation resulted from MPI init
>can have negative impact on the largest amount of memory available to
>I have no idea why you do not see this effect with Firefly RC 40,
>one of the possible explanations could that the the smaller size
>of the older Firefly's executable images increases the probability
>to allocate exactly 480 MW.
>With Firefly version v. 8.0.0, the thing that can help is the following
>command line option:
./firefly8 -prealloc:485 other options
>This will try to pre-allocate 485 MW in the virtual address space
>at the very beginning of the job initialization. There is no warranty
>that the pre-allocation will be successful though.
>Another way is to use a bit less memory, say 479 MWords or so.
>Finally. how much is the typical number of AOs in the systems
>you are modeling? If it is large, I can provide you the current
>beta of Firefly v. 8.0.1 which has a somewhat reduced memory
>demands for XMCQDPT2 code.
>On Mon Oct 21 '13 9:16am, Panwang Zhou wrote
>>It seems that there is bug in Firefly version 8.0.0 Linux/MPICH2, dynamically linked version for memory allocation in XMCQDPT2 calculations.
>>I have run a series of jobs with XMCQDPT2 using Firefly 8.0.0 with the following input:
>> $CONTRL SCFTYP=MCSCF RUNTYP=ENERGY EXETYP=RUN MAXIT=50 ICHARG=-1
>> MULT=1 FSTINT=.T. GENCON=.T. INTTYP=HONDO NOSYM=1 COORD=ZMT
>> ICUT=11 ITOL=30 WIDE=.T. MPLEVL=2 $END
>> $SYSTEM MWORDS=480 TIMLIM=60000.0 KDIAG=0 NOJAC=100 $END
>> $SYSTEM MKLNP=1 NP=12 $END
>> $SMP SMPPAR=.T. HTTNP=1 $END
>> $SCF DIRSCF=.T. FDIFF=.F. NCONV=8 $END
>> $P2P P2P=.T. DLB=.T. $END
>> $TRANS MPTRAN=2 DIRTRF=.T. AOINTS=DIST ALTPAR=.T. MODE=112 $END
>> $MCSCF CISTEP=ALDET FULLNR=.F. SOSCF=.T. MAXIT=100 $END
>> $MCSCF IFORB=.T. $END
>> $DET NCORE=49 NACT=14 NELS=16 NSTATE=6 WSTATE(1)=1,1 DISTCI=12 $END
>> $XMCQDPT NSTATE=2 EDSHFT=0.02 THRGEN=1D-12 MXBASE=90 $END
>> $XMCQDPT HALLOC=.T. $END
>> $XMCQDPT IFORB(1)=-1,1,1 WSTATE(1)=1,1,-0 AVECOE(1)=1,1,-0 $END
>> $BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 DIFFSP=.TRUE. $END
>> $GUESS GUESS=MOREAD NORB=359 $END
>> $MCQFIT $END
>>However, the jobs terminated randomly with the following errors:
>> FATAL ERROR: 4 PROCESS(ES) FAILED TO ALLOCATE MEMORY
>> PROCESS 1 FAILED TO ALLOCATE MEMORY, ERROR CODE: 14
>> PROCESS 5 FAILED TO ALLOCATE MEMORY, ERROR CODE: 14
>> PROCESS 7 FAILED TO ALLOCATE MEMORY, ERROR CODE: 14
>> PROCESS 9 FAILED TO ALLOCATE MEMORY, ERROR CODE: 14
>>the number of failed processes is random, maybe 4, 3, 2 or 1, and the job can be terminated normally after I submit the job several times.
>>However,when I run these jobs with Firefly 8 Beta 40, no errors occurred and all the jobs terminated normally.