From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Tue Feb 10 2009 - 12:24:58 CST

On Tue, Feb 10, 2009 at 11:45 AM, Yinglong Miao <yimiao_at_indiana.edu> wrote:
> Dear VMD/NAMD users/developers,

dear yinglong,

> I have been calling VMD in my NAMD simulations by using "exec -dispdev text
> -e $.tcl". To avoid memory overloading and outages on the head processor of
> the NAMD simulation, I want to assign specific processors for running VMD.
> The question is how to specify processors for running VMD on a cluster. Your
> help will be greatly appreciated.

vmd as such is (currently) not an MPI parallel program. that being said, you
can probably still generate a nodefile with just one node name in it and run
mpirun on it, but just doing "ssh <nodename> vmd ..." should do the same.

following up on your previous discussion, i think that if you want to
do something
as sophisticated as what you seem to be trying to do, you should probably invest
a little extra effort to write a "toplevel" mpi program that controls
which job is
running where. you should also pay attention to the fact, that quite
often running
an exec from an MPI program can result in bad interactions with the MPI layer
(older myrinet and infiniband installations suffer from that and can
result into everything
from crashing nodes to corrupt data). other machines (cray xt, blue
gene) don't even
support spawning a subprocess from a running code.

since you don't seem to suffer from these problems right now, you could try
a rather minimalistic approach and have the toplevel MPI code distribute the
tasks across the available nodes by writing custom machinefiles and
then exec mpirun on the corresponding head nodes of those tasks and then
call an MPI_barrier() until they are all done and you can go on to the
next step.

incidentally, i'm currently trying to do something with similar requirements,
but i want to avoid the exec because i know i'll be running on machines where
this could become a problem. what i've managed so far is to write a
script/program
in python that is MPI parallel and controls the parallel MD
calculations (i run multiple
of them simultaneously) and now i'm trying to import a special compile of VMD
(based on patches from justin gullingsrud) directly into the python
interpreter as well,
which i want to run on another subset of MPI tasks so that i can run
analysis in
parallel to the simulation of the next chunk...

hope that helps,
    axel.

> Thanks!
>
> --
> Yinglong Miao
> Ph.D. Candidate
> Center for Cell and Virus Theory
> Chemistry Department, Indiana University
> 800 E Kirkwood Ave Room C203A, Bloomington, IN 47405
> Tel: 1-812-856-0981
>

-- 
=======================================================================
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.