[gmx-users] GROMACS 4.5.1 mdrun re-compile for MPI

Mark Abraham Mark.Abraham at anu.edu.au
Fri Mar 25 03:21:48 CET 2011

On 25/03/2011 8:36 AM, Adam Herbst wrote:
> Thank you all for your help!  I ran
>   make distclean
> and re-configured in the GROMACS source folder via
>   sudo ./configure --prefix=$SOFT --with-gsl --enable-threads 
>   sudo make -j $NCPU
>   sudo make install

As a general rule, one should minimize the use of super-user accounts. 
You never know when some idiot has messed up the configure script, and 
running it as super-user can trash your machine. It is safer to maintain 
the source code in a directory writable by whoever will be building it. 
Now "configure" and "make" can be run as a normal user. Only the step 
that needs write access to system areas needs sudo, i.e. "make install".

Another good idea is to keep separate an unmodified version of GROMACS 
and your modified one. Now you you just source the GMXRC from the 
version you want to use. Then if you run into some problem, you can 
sometimes immediately establish that it wasn't the fault of your changed 
code. Alternatively or additionally, using "./configure --suffix=_m" (or 
whatever) gives you confirmation of which version you are using every 
time you use it.


> where SOFT is the installation directory for FFTW3 and GSL, and NCPU 
> is the number of processors (24) in my machine.  I found if I didn't 
> specify the CFLAGS and LDFLAGS when running configure (even if they 
> were already environment variables with the proper paths), I got an 
> error that the FFTW3 header file or library couldn't be found.
> Now when I run mdrun, it automatically uses multiple threads and goes 
> just as fast as before my changes.  Thanks again,
> Adam
> On Thu, Mar 24, 2011 at 9:00 AM, Mark Abraham <Mark.Abraham at anu.edu.au 
> <mailto:Mark.Abraham at anu.edu.au>> wrote:
>     On 24/03/2011 11 <tel:24%2F03%2F2011%2011>:51 PM, Adam Herbst wrote:
>         Dear GROMACS users,
>         I successfully installed GROMACS 4.5.1 several months ago on a
>         Mac Pro with 12 CPUs, and the "mdrun" command (not "mpirun
>         mdrun_mpi") allows parallel simulations--it automatically uses
>         multiple processors, while the number of processors can be
>         manually specified as N with the flag "mdrun -nt N".  I
>         understand that this is a feature of GROMACS 4 and later.
>     Yes, threading, enabled by default, and mutually incompatible with
>     MPI.
>         Now I am making minor changes to the mdrun source code, and I
>         want to recompile such that the parallel version of mdrun is
>         updated with my changes.  But when I run:
>          make mdrun (or just make)
>          make install-mdrun (or just make install)
>         from the top-level source directory, the only executables that
>         are updated are the ones with the _mpi suffix, such as
>         mdrun_mpi.  The version of mdrun in src/kernel/ is updated,
>         but this one has no -nt flag and cannot seem to run on
>         multiple processors.  And when I run
>     Subsequently you have configured with --enable-mpi, so threading
>     is disabled. Now everything is probably a mess.
>          mpirun -np N mdrun_mpi [options],
>         the same simulation is started separately on each processor,
>         leading to a crash.  If I use
>          mpirun -np 1 -cpus-per-proc N mdrun_mpi [options],
>         I get an error message that this is not supported on my
>         computer ("An attempt to set processor affinity has failed").
>         I can't configure the input .tpr file for parallel because
>         grompp doesn't have the -np flag in GROMACS 4.
>         How can I update the parallel-capable "mdrun" executable with
>         my changes?
>     Run "make distclean" and then re-configure.
>     Mark
>     -- 
>     gmx-users mailing list gmx-users at gromacs.org
>     <mailto:gmx-users at gromacs.org>
>     http://lists.gromacs.org/mailman/listinfo/gmx-users
>     Please search the archive at
>     http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>     Please don't post (un)subscribe requests to the list. Use the www
>     interface or send it to gmx-users-request at gromacs.org
>     <mailto:gmx-users-request at gromacs.org>.
>     Can't post? Read http://www.gromacs.org/Support/Mailing_Lists

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20110325/0f4e01cf/attachment.html>

More information about the gromacs.org_gmx-users mailing list