Re: launch NAMD from tcl script - bug?

From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Wed Jun 24 2009 - 12:21:13 CDT

On Wed, 2009-06-24 at 09:52 -0700, Floris Buelens wrote:
> Hi Axel,
>
>
> > i don't believe this is a bug. to run in parallel requires some
> > additional setup work. just launching an executable "on top" of
> > an existing run cannot work. this is why it works in serial runs.

hi floris,

> Can you explain? Why is it different to ask TCL to launch another
> instance of NAMD rather than any other external executable? Reading
> back, perhaps I wasn't clear - I wasn't trying to launch the 'inner'
> (TCL script-launched) instance of NAMD in parallel - the problem
> occurs when the initial, 'outer' run is launched with charmrun and a
> serial call to NAMD is then made within this one.

because, if i am not mistaken, charmrun will tell its "slave" namd2
processes their configuration parameters and additional information
through environment variables. thus the slave, serial executable is
mistakenly led to believe it is running in a parallel environment and
will try to hijack it or will fail assuming communications have been
set up that are not present. i am not 100% certain of this, but you
error message certainly look like it and this is how many parallel
environments work and thus why it is avery bad idea to do call system()
or something equivalent from within them (on some parallel machines it
can even be blocked, or crash the high speed network or do other
thing).

> > the usual way to handle this kind of scenario is to first record
> > the trajectory and write it to a dcd file and _then_ re-evaluate
> > it with different settings, e.g., using the namdenergy plugin
> > that comes with VMD.
>
> I should have done that but I've wasted too much time to admit defeat now :-)

i don't consider being persisting doing something for which a
much better solution exists is a very smart choice though. ;)

cheers,
    axel.

> Best,
>
> Floris
>
>
>
> ----- Original Message ----
> From: Axel Kohlmeyer <akohlmey_at_cmm.chem.upenn.edu>
> To: Floris Buelens <floris_buelens_at_yahoo.com>
> Cc: namd-l_at_ks.uiuc.edu; namd_at_ks.uiuc.edu
> Sent: Wednesday, 24 June, 2009 17:36:33
> Subject: Re: namd-l: launch NAMD from tcl script - bug?
>
> On Wed, 2009-06-24 at 08:54 -0700, Floris Buelens wrote:
> > Thanks but no good I'm afraid... turns out there's only a problem when running with charmrun, everything works as I'd expect when running standalone.
> > I don't know if anyone else will care about this but it looks like a bug... with these TCL commands:
>
> floris,
>
> i don't believe this is a bug. to run in parallel requires some
> additional setup work. just launching an executable "on top" of
> an existing run cannot work. this is why it works in serial runs.
>
> the usual way to handle this kind of scenario is to first record
> the trajectory and write it to a dcd file and _then_ re-evaluate
> it with different settings, e.g., using the namdenergy plugin
> that comes with VMD.
>
> other than that, you'd have to implement a mechanism in namd to
> suspend or checkpoint a running simulation then run your single
> evaluation and then resume the previous run.
>
> cheers,
> axel.
>
> > run 0
> > [exec ~/namd2]
> >
> > .. I get the expected behaviour ("No simulation config file specified") with namd standalone, but with [~/charmrun ++local +p1 ~/namd2 conffile.conf] it doesn't get that far. I've tried with v2.6 and 2.7. On an x86_64 system (with release binaries of 2.7 and my builds of 2.6 and 2.7) I get "error reading output from command: interrupted system call". On 32-bit i686-icc and MacOSX-i686-g++ it just hangs when run with charmrun.
> > Thanks for your time,
> >
> > Floris
> >
> >
> > ________________________________
> > From: J Liu <bay__gulf618_at_sina.com>
> > To: Floris Buelens <floris_buelens_at_yahoo.com>
> > Cc: namd-l_at_ks.uiuc.edu
> > Sent: Wednesday, 24 June, 2009 14:58:47
> > Subject: Re: namd-l: launch NAMD from tcl script
> >
> > Hi Buelens:
> > Please have a try with "eval exec ~/namd2 alt.conf".
> > goodluck
> >
> > Jian Liu
> > ------------------------------------------------
> > ☆..·° ∴°.☆°° .☆°.
> > ° ∴ °☆ .· ° . ° .·★ ° ∴ .°
> > ∴°.°★ . ·°
> >   ミ☆°∴ ° . ★☆° ∴·°
> > °.☆° .·∴° 
> > ┈ ﹎ ┈ ┈ .o .. ○
> > ----- Original Message -----
> > From: Floris Buelens <floris_buelens_at_yahoo.com>
> > To: namd-l_at_ks.uiuc.edu
> > Subject: namd-l: launch NAMD from tcl script
> > Date: 2009-6-24 19:55:06
> >
> >
> > Hi,
> >
> > I'm trying to script some 'live' analysis in TCL - what I want to do is save coordinates with 'output', then start another instance of NAMD to do a single-frame calculation with different parameters. I thought I could do this along the lines of "exec ~/namd2 alt.conf" but I get "error reading output from command: interrupted system call"... what am I doing wrong?
> > thanks a lot!
> >
> > Floris
> >
> >
> >
>
> --
> =======================================================================
> Axel Kohlmeyer akohlmey_at_cmm.chem.upenn.edu http://www.cmm.upenn.edu
> Center for Molecular Modeling -- University of Pennsylvania
> Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
> tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
> =======================================================================
> If you make something idiot-proof, the universe creates a better idiot.
>
>
>

-- 
=======================================================================
Axel Kohlmeyer   akohlmey_at_cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:52:57 CST