Hi,<br />
I had checked and found that gromacs has been compiled in 64 bit mode. However still I am getting this error with "g_nmeig_d " command which says<br />
g_nmeig_d(1892) malloc: *** mmap(size=18446744072353271808) failed (error code=12)<br />
*** error: can't allocate region<br />
<br />
<br />
 I am running this on a 8 node machine,each with 2GB of RAM ( g_nmeig_d runs on a single node).<br />
<br />
Is it required to increase the RAM of 1 node to get rid of this error?<br />
Any suggestion will be very helpful.<br />
Thanking You,<br />
Sarbani<br />
<br />
<br />
<br />
On Tue, 02 Mar 2010 20:01:51 +0530 wrote<br />
><br />
><br />
><br />
Hi,<br />
><br />
<br />
><br />
The allocation that causes the error should allocate about 3 GB.<br />
><br />
My guess is that you compiled Gromacs in 32bit mode, whereas 64bit mode<br />
><br />
is required for allocation of more than 2 GB.<br />
><br />
<br />
><br />
Berk<br />
><br />
<br />
><br />
Date: Tue, 2 Mar 2010 13:35:58 +0000<br />
><br />
To: gmx-users@gromacs.org<br />
><br />
From: sarbani_c84@rediffmail.com<br />
><br />
Subject: [gmx-users] g_nmeig_d error: can't allocate region<br />
><br />
<br />
><br />
Hi,<br />
><br />
<br />
><br />
I am trying to do normal mode analysis on a protein having 6398 atoms in vaccum.<br />
<br />
I tried to energy minimize the structure using steepest descent, followed by "l-bfgs"<br />
minimization. the .mdp file I used is<br />
<br />
define = -DFLEXIBLE<br />
<br />
constraints = none<br />
integrator = l-bfgs<br />
tinit = 0<br />
nsteps = 15000<br />
nbfgscorr = 50<br />
emtol = .001<br />
emstep = 0.1<br />
gen_vel = yes<br />
gen-temp = 300<br />
nstcomm = 1<br />
; NEIGHBORSEARCHING PARAMETERS<br />
; nblist update frequency<br />
nstlist = 0<br />
; ns algorithm (simple or grid)<br />
ns-type = simple<br />
; Periodic boundary conditions: xyz (default), no (vacuum)<br />
or full (infinite systems only)<br />
pbc = no<br />
rlist = 0<br />
domain-decomposition = no<br />
; OPTIONS FOR ELECTROSTATICS AND VDW<br />
; Method for doing electrostatics<br />
coulombtype = Cut-Off<br />
rcoulomb-switch = 0<br />
rcoulomb = 0<br />
; Dielectric constant (DC) for cut-off or DC of reaction field<br />
epsilon-r = 1<br />
; Method for doing Van der Waals<br />
vdw-type = Cut-off<br />
; cut-off lengths<br />
rvdw-switch = 0<br />
rvdw = 0<br />
<br />
><br />
after running the 15000 steps the Fmax was:><br />
Low-Memory BFGS Minimizer converged to Fmax < 0.001 in 10197 steps<br />
<br />
Potential Energy = -8.26391832320506e+04<br />
<br />
Maximum force = 9.37558560558845e-04 on atom 4562<br />
<br />
Norm of force = 2.24887722104890e-04<br />
<br />
Again the "l-bfgs" minimization was run using the same .mdp file( with emtol =<br />
0.000001)><br />
the output was'<br />
><br />
<br />
><br />
Low-Memory BFGS Minimizer converged to Fmax < 1e-06 in 4143 steps<br />
><br />
<br />
><br />
Potential Energy = -8.26391832324998e+04<br />
><br />
<br />
><br />
Maximum force = 9.67927896882578e-07 on atom 3271<br />
><br />
<br />
><br />
Norm of force = 1.70637151528245e-07<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
After this I prepared the "nm.mdp " file for NMA, where I used exactly the same parameters<br />
><br />
<br />
><br />
as the ones used in lbfgs energy minimization( with integrator = nm)<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
the commands that were used were:<br />
><br />
<br />
><br />
grompp_d -f new_nm.mdp -t new_lbfgs_2.trr -c new_lbfgs_2.gro -o new_nm.tpr -zero -p<br />
><br />
<br />
><br />
../topol.top<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
nohup mdrun_d -v -s new_nm.tpr -deffnm new_nm -mtx new_nm.mtx &<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
"nohup.out" had the following message:<br />
><br />
<br />
><br />
Non-cutoff electrostatics used, forcing full Hessian format.Allocating Hessian<br />
><br />
<br />
><br />
memory...starting normal mode calculation 'Protein'6398 steps.Maximum force: 9.67928e-07<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
The run ended successfully:<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
Then i used the command<br />
><br />
<br />
><br />
g_nmeig_d -f new_nm.mtx -s new_nm.tpr -ol eigenvalue.xvg -v eigenvector.trr<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
I get the following error:<br />
><br />
<br />
><br />
Reading file new_nm.tpr, VERSION 4.0.7 (double precision)<br />
><br />
<br />
><br />
Reading file new_nm.tpr, VERSION 4.0.7 (double precision)<br />
><br />
<br />
><br />
Reading double precision matrix generated by Gromacs VERSION 4.0.7<br />
><br />
<br />
><br />
Full matrix storage format, nrow=19194, ncols=19194<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
Diagonalizing to find vectors 1 through 50...<br />
><br />
<br />
><br />
g_nmeig_d(1892) malloc: *** mmap(size=18446744072353271808) failed (error code=12)<br />
><br />
<br />
><br />
*** error: can't allocate region<br />
><br />
<br />
><br />
*** set a breakpoint in malloc_error_break to debug<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
I am not being able to understand the problem. the computer has a 16gb memory<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
If I use different parameters in the nm.mdp file as<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
rlist = 1.5<br />
><br />
<br />
><br />
domain-decomposition = no<br />
><br />
<br />
><br />
; OPTIONS FOR ELECTROSTATICS AND VDW<br />
><br />
<br />
><br />
; Method for doing electrostatics<br />
><br />
<br />
><br />
coulombtype = switch<br />
><br />
<br />
><br />
rcoulomb-switch = 1<br />
><br />
<br />
><br />
rcoulomb = 1.2<br />
><br />
<br />
><br />
; Dielectric constant (DC) for cut-off or DC of reaction field<br />
><br />
<br />
><br />
epsilon-r = 1<br />
><br />
<br />
><br />
; Method for doing Van der Waals<br />
><br />
<br />
><br />
vdw-type = switch<br />
><br />
<br />
><br />
; cut-off lengths<br />
><br />
<br />
><br />
rvdw-switch = 1<br />
><br />
<br />
><br />
rvdw = 1.2<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
then i get the message :Maximum force: 3.14171e+03<br />
><br />
<br />
><br />
Maximum force probably not small enough to ensure that you are in an<br />
><br />
<br />
><br />
energy well. Be aware that negative eigenvalues may occur when the<br />
><br />
<br />
><br />
resulting matrix is diagonalized.<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
<br />
><br />
I am sorry to post such a lengthy query, but I have no clue about the root of the problem.<br />
><br />
<br />
><br />
Any suggestion will be of great help.<br />
><br />
<br />
><br />
Thanks in advance,<br />
><br />
<br />
><br />
Sarbani. <br><Table border=0 Width=644 Height=57 cellspacing=0 cellpadding=0 style="font-family:Verdana;font-size:11px;line-height:15px;"><TR><td><A HREF="http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?" target="_blank"><IMG SRC="http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle"></A></td></TR></Table>