The command as per the Dr. Justin tutorial “gmx mdrun -v -deffnm em” is also not working for my cluster installation, but running fine in my local computer (both having gromacs v5.0).
Description
gromacs - Fast, Free and Flexible Molecular Dynamics
Property | Value |
---|---|
Distribution | CentOS 6 |
Repository | EPEL i386 |
Package filename | gromacs-4.5.7-1.el6.i686.rpm |
Package name | gromacs |
Package version | 4.5.7 |
Package release | 1.el6 |
Package architecture | i686 |
Package type | rpm |
Category | Applications/Engineering |
Homepage | http://www.gromacs.org |
License | GPLv2+ |
Maintainer | - |
Download size | 323.16 KB |
Installed size | 1.48 MB |
Alternatives
Package | Version | Architecture | Repository |
---|---|---|---|
gromacs-4.5.7-1.el6.x86_64.rpm | 4.5.7 | x86_64 | EPEL |
gromacs | - | - | - |
Requires
Name | Value |
---|---|
/usr/bin/perl | - |
gromacs-common | = 4.5.7-1.el6 |
libc.so.6(GLIBC_2.7) | - |
libdl.so.2 | - |
libfftw3.so.3 | - |
libfftw3f.so.3 | - |
libgmx.so.7 | - |
libgmx_d.so.7 | - |
libgmxana.so.7 | - |
libgmxana_d.so.7 | - |
libgmxpreprocess.so.7 | - |
libgmxpreprocess_d.so.7 | - |
libm.so.6 | - |
libm.so.6(GLIBC_2.0) | - |
libm.so.6(GLIBC_2.1) | - |
libmd.so.7 | - |
libmd_d.so.7 | - |
libpthread.so.0 | - |
libpthread.so.0(GLIBC_2.0) | - |
libxml2.so.2 | - |
rtld(GNU_HASH) | - |
Provides
Name | Value |
---|---|
gromacs | = 4.5.7-1.el6 |
gromacs(x86-32) | = 4.5.7-1.el6 |
Obsoletes
Name | Value |
---|---|
gromacs | < 4.5.2-1 |
Download
Type | URL |
---|---|
Mirror | download-ib01.fedoraproject.org |
Binary Package | gromacs-4.5.7-1.el6.i686.rpm |
Source Package | gromacs-4.5.7-1.el6.src.rpm |
Install Howto
- Download latest epel-release rpm from
- Install epel-release rpm:
- Install gromacs rpm package:
Files
Path |
---|
/usr/bin/g_anadock |
/usr/bin/g_anadock_d |
/usr/bin/g_anaeig |
/usr/bin/g_anaeig_d |
/usr/bin/g_analyze |
/usr/bin/g_analyze_d |
/usr/bin/g_angle |
/usr/bin/g_angle_d |
/usr/bin/g_bar |
/usr/bin/g_bar_d |
/usr/bin/g_bond |
/usr/bin/g_bond_d |
/usr/bin/g_bundle |
/usr/bin/g_bundle_d |
/usr/bin/g_chi |
/usr/bin/g_chi_d |
/usr/bin/g_cluster |
/usr/bin/g_cluster_d |
/usr/bin/g_clustsize |
/usr/bin/g_clustsize_d |
/usr/bin/g_confrms |
/usr/bin/g_confrms_d |
/usr/bin/g_covar |
/usr/bin/g_covar_d |
/usr/bin/g_current |
/usr/bin/g_current_d |
/usr/bin/g_demux.pl |
/usr/bin/g_density |
/usr/bin/g_density_d |
/usr/bin/g_densmap |
/usr/bin/g_densmap_d |
/usr/bin/g_densorder |
/usr/bin/g_densorder_d |
/usr/bin/g_dielectric |
/usr/bin/g_dielectric_d |
/usr/bin/g_dih |
/usr/bin/g_dih_d |
/usr/bin/g_dipoles |
/usr/bin/g_dipoles_d |
/usr/bin/g_disre |
/usr/bin/g_disre_d |
/usr/bin/g_dist |
/usr/bin/g_dist_d |
/usr/bin/g_do_dssp |
/usr/bin/g_do_dssp_d |
/usr/bin/g_dos |
/usr/bin/g_dos_d |
/usr/bin/g_dyndom |
/usr/bin/g_dyndom_d |
/usr/bin/g_editconf |
/usr/bin/g_editconf_d |
/usr/bin/g_eneconv |
/usr/bin/g_eneconv_d |
/usr/bin/g_enemat |
/usr/bin/g_enemat_d |
/usr/bin/g_energy |
/usr/bin/g_energy_d |
/usr/bin/g_filter |
/usr/bin/g_filter_d |
/usr/bin/g_genbox |
/usr/bin/g_genbox_d |
/usr/bin/g_genconf |
/usr/bin/g_genconf_d |
/usr/bin/g_genion |
/usr/bin/g_genion_d |
/usr/bin/g_genrestr |
/usr/bin/g_genrestr_d |
/usr/bin/g_gmxcheck |
/usr/bin/g_gmxcheck_d |
/usr/bin/g_gmxdump |
/usr/bin/g_gmxdump_d |
/usr/bin/g_grompp |
/usr/bin/g_grompp_d |
/usr/bin/g_gyrate |
/usr/bin/g_gyrate_d |
/usr/bin/g_h2order |
/usr/bin/g_h2order_d |
/usr/bin/g_hbond |
/usr/bin/g_hbond_d |
/usr/bin/g_helix |
/usr/bin/g_helix_d |
/usr/bin/g_helixorient |
/usr/bin/g_helixorient_d |
/usr/bin/g_hydorder |
/usr/bin/g_hydorder_d |
/usr/bin/g_kinetics |
/usr/bin/g_kinetics_d |
/usr/bin/g_lie |
/usr/bin/g_lie_d |
/usr/bin/g_luck |
/usr/bin/g_luck_d |
/usr/bin/g_make_edi |
/usr/bin/g_make_edi_d |
/usr/bin/g_make_ndx |
/usr/bin/g_make_ndx_d |
/usr/bin/g_mdmat |
/usr/bin/g_mdmat_d |
/usr/bin/g_mdrun |
/usr/bin/g_mdrun_d |
/usr/bin/g_membed |
/usr/bin/g_membed_d |
/usr/bin/g_mindist |
/usr/bin/g_mindist_d |
/usr/bin/g_mk_angndx |
/usr/bin/g_mk_angndx_d |
/usr/bin/g_morph |
/usr/bin/g_morph_d |
/usr/bin/g_msd |
/usr/bin/g_msd_d |
/usr/bin/g_nmeig |
/usr/bin/g_nmeig_d |
/usr/bin/g_nmens |
/usr/bin/g_nmens_d |
/usr/bin/g_nmtraj |
/usr/bin/g_nmtraj_d |
/usr/bin/g_options |
/usr/bin/g_options_d |
/usr/bin/g_order |
/usr/bin/g_order_d |
/usr/bin/g_pdb2gmx |
/usr/bin/g_pdb2gmx_d |
/usr/bin/g_pme_error |
/usr/bin/g_pme_error_d |
/usr/bin/g_polystat |
/usr/bin/g_polystat_d |
/usr/bin/g_potential |
/usr/bin/g_potential_d |
/usr/bin/g_principal |
/usr/bin/g_principal_d |
/usr/bin/g_protonate |
/usr/bin/g_protonate_d |
/usr/bin/g_rama |
/usr/bin/g_rama_d |
/usr/bin/g_rdf |
/usr/bin/g_rdf_d |
/usr/bin/g_rms |
/usr/bin/g_rms_d |
/usr/bin/g_rmsdist |
/usr/bin/g_rmsdist_d |
/usr/bin/g_rmsf |
/usr/bin/g_rmsf_d |
/usr/bin/g_rotacf |
/usr/bin/g_rotacf_d |
/usr/bin/g_rotmat |
/usr/bin/g_rotmat_d |
/usr/bin/g_saltbr |
/usr/bin/g_saltbr_d |
/usr/bin/g_sas |
/usr/bin/g_sas_d |
/usr/bin/g_select |
/usr/bin/g_select_d |
/usr/bin/g_sgangle |
/usr/bin/g_sgangle_d |
/usr/bin/g_sham |
/usr/bin/g_sham_d |
/usr/bin/g_sigeps |
/usr/bin/g_sigeps_d |
/usr/bin/g_sorient |
/usr/bin/g_sorient_d |
/usr/bin/g_spatial |
/usr/bin/g_spatial_d |
/usr/bin/g_spol |
/usr/bin/g_spol_d |
/usr/bin/g_tcaf |
/usr/bin/g_tcaf_d |
/usr/bin/g_tpbconv |
/usr/bin/g_tpbconv_d |
/usr/bin/g_traj |
/usr/bin/g_traj_d |
/usr/bin/g_trjcat |
/usr/bin/g_trjcat_d |
/usr/bin/g_trjconv |
/usr/bin/g_trjconv_d |
/usr/bin/g_trjorder |
/usr/bin/g_trjorder_d |
/usr/bin/g_tune_pme |
/usr/bin/g_tune_pme_d |
/usr/bin/g_vanhove |
/usr/bin/g_vanhove_d |
/usr/bin/g_velacc |
/usr/bin/g_velacc_d |
/usr/bin/g_wham |
/usr/bin/g_wham_d |
/usr/bin/g_wheel |
/usr/bin/g_wheel_d |
/usr/bin/g_x2top |
/usr/bin/g_x2top_d |
/usr/bin/g_xplor2gmx.pl |
/usr/bin/g_xpm2ps |
/usr/bin/g_xpm2ps_d |
Changelog
See Also
Package | Description |
---|---|
gromacs-bash-4.5.7-1.el6.noarch.rpm | GROMACS bash completion |
gromacs-common-4.5.7-1.el6.noarch.rpm | GROMACS shared data and documentation |
gromacs-csh-4.5.7-1.el6.noarch.rpm | GROMACS csh support |
gromacs-devel-4.5.7-1.el6.i686.rpm | GROMACS header files and development libraries |
gromacs-libs-4.5.7-1.el6.i686.rpm | GROMACS shared libraries |
gromacs-openmpi-4.5.7-1.el6.i686.rpm | GROMACS Open MPI binaries and libraries |
gromacs-openmpi-devel-4.5.7-1.el6.i686.rpm | GROMACS Open MPI development libraries |
gromacs-openmpi-libs-4.5.7-1.el6.i686.rpm | GROMACS Open MPI shared libraries |
gromacs-tutor-4.5.7-1.el6.noarch.rpm | GROMACS tutorial files |
gromacs-zsh-4.5.7-1.el6.noarch.rpm | GROMACS zsh support |
gsi-openssh-5.3p1-20.el6.i686.rpm | An implementation of the SSH protocol with GSI authentication |
gsi-openssh-clients-5.3p1-20.el6.i686.rpm | SSH client applications with GSI authentication |
gsi-openssh-server-5.3p1-20.el6.i686.rpm | SSH server daemon with GSI authentication |
gsmartcontrol-0.9.0-1.el6.i686.rpm | Graphical user interface for smartctl |
gsoap-2.7.16-8.el6.i686.rpm | Generator Tools for Coding SOAP/XML Web Services in C and C++ |
Perquisites
You need to have deployed the latest Intel® Cluster Ready Reference Design S5520UR-ICR1.1-ROCKS5.3-CENTOS5.4-C2 v1.0.
This reference design targets the next components:
This reference design targets the next components:
- Intel® Xeon® Processors X5660
- Intel® Server Board S5520UR
Set up the environment
MPICH2 will be used to build and run GROMACS. To configure the environment to use MPICH2 run the next command:
[shell]mpi-selector-menu[/shell]
A selection menu will be displayed. Select “mvapich2_gcc-1.4.1” for the current user (1u) and exit.
[shell]Current system default: <none> Current user default: mvapich2_gcc-1.4.1 'u' and 's' modifiers can be added to numeric and 'U' commands to specify 'user' or 'system-wide'. 1. mvapich2_gcc-1.4.1 2. mvapich_gcc-1.2.0 3. openmpi_gcc-1.4.1 U. Unset default Q. Quit Selection (1-3[us], U[us], Q):1u … WARNING: Changes made to mpi-selector defaults will not be visible until you start a new shell! [/shell]
- Exit (log out) from the terminal and log back in for the changes to take place
Compilation
![Gromacs Gromacs](/uploads/1/2/5/7/125746248/313723383.jpg)
FFTW
GROMACS uses FFTW ( 'Fastest Fourier Transform in the West' ) as its Fast Fourier library. It also supports Intel's MKL; you can find more information in this article. Here we will focus on pure open source solutions.
GROMACS uses FFTW ( 'Fastest Fourier Transform in the West' ) as its Fast Fourier library. It also supports Intel's MKL; you can find more information in this article. Here we will focus on pure open source solutions.
- Log in to the cluster with your normal user
- Create a staging directory to build the tools and an 'opt' directory to install them
[shell]mkdir opt
mkdir src
cd src[/shell]
mkdir src
cd src[/shell]
- Make sure that your proxy setting are correct
[shell]export http_proxy=proxy_url:port
export ftp_proxy=proxy_url:port [/shell]
export ftp_proxy=proxy_url:port [/shell]
[shell]wget http://www.fftw.org/fftw-3.2.2.tar.gz
tar xf fftw-3.2.2.tar.gz
cd fftw-3.2.2[/shell]
tar xf fftw-3.2.2.tar.gz
cd fftw-3.2.2[/shell]
- Configure the build to use threads (no need to compile it with MPI support). Here I use '/home/icr/' as a general user, you should replace every appearance of '/home/icr' by '/home/<your user>'.
[shell]./configure --enable-threads --prefix=/home/icr/opt/fftw[/shell]
- Build and install it
After installation you'll end up with a directory structure similar to this:
[shell]~/opt/fftw/
|-- bin
| |-- fftw-wisdom
| `-- fftw-wisdom-to-conf
|-- include
| |-- fftw3.f
| `-- fftw3.h
|-- lib
| |-- libfftw3.a
| |-- libfftw3.la
| |-- libfftw3_threads.a
| |-- libfftw3_threads.la
| `-- pkgconfig
| `-- fftw3.pc
`-- share
|-- info
| `-- fftw3.info
`-- man
`-- man1
|-- fftw-wisdom-to-conf.1
`-- fftw-wisdom.1
8 directories, 12 files
[/shell]
|-- bin
| |-- fftw-wisdom
| `-- fftw-wisdom-to-conf
|-- include
| |-- fftw3.f
| `-- fftw3.h
|-- lib
| |-- libfftw3.a
| |-- libfftw3.la
| |-- libfftw3_threads.a
| |-- libfftw3_threads.la
| `-- pkgconfig
| `-- fftw3.pc
`-- share
|-- info
| `-- fftw3.info
`-- man
`-- man1
|-- fftw-wisdom-to-conf.1
`-- fftw-wisdom.1
8 directories, 12 files
[/shell]
For further information on how to configure and build FFTW please refer to http://www.fftw.org/.
GROMACS
- Download GROMACS package and uncompress it
[shell]cd /home/icr/src wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.5.3.tar.gz tar xf gromacs-4.5.3.tar.gz cd gromacs-4.5.3[/shell]
- This particular version of GROMACS has a bug which needs to be fixed before compilation. The next two patches need to be applied:
Official Patch 2 (patch file)
[shell]wget http://redmine.gromacs.org/projects/gromacs/repository/revisions/47eef81f8b01a30b9e096c15cb86a77c1b4c0258/diff/src/mdlib/sim_util.c?format=diff -O sim_util.patch wget http://redmine.gromacs.org/projects/gromacs/repository/revisions/47eef81f8b01a30b9e096c15cb86a77c1b4c0258/diff/src/tools/gmx_tune_pme.c?format=diff -O gmx_tune_pme.diff # Apply the patches patch -p1 < sim_util.patch patch -p1 < gmx_tune_pme.diff[/shell]
- Configure the building environment to use the FFTW that we compiled
[shell]export CPPFLAGS='-I/home/icr/opt/fftw/include'
export LDFLAGS='-L/home/icr/opt/fftw/lib'
./configure --enable-mpi --disable-float --prefix=/home/icr/opt/gromacs
[/shell]
export LDFLAGS='-L/home/icr/opt/fftw/lib'
./configure --enable-mpi --disable-float --prefix=/home/icr/opt/gromacs
[/shell]
[shell]make
make install[/shell]
make install[/shell]
For further information on how to configure and build GROMACS please refer to http://www.gromacs.org/.
These steps show how to test the installation of GROMACS 4.5.3.
- Create a test directory and download GROMACS’ official benchmark
[shell]mkdir /home/icr/gromacs_tests
cd /home/icr/gromacs_tests
wget ftp://ftp.gromacs.org/pub/benchmarks/gmxbench-3.0.tar.gz
tar xf gmxbench-3.0.tar.gz
cd d.dppc
[/shell]
cd /home/icr/gromacs_tests
wget ftp://ftp.gromacs.org/pub/benchmarks/gmxbench-3.0.tar.gz
tar xf gmxbench-3.0.tar.gz
cd d.dppc
[/shell]
- Add GROMACS binaries to user’s path and run grommp
[shell]export PATH=$PATH:/home/icr/opt/gromacs/bin
grompp_d
[/shell]
grompp_d
[/shell]
- Copy the system’s ICR node list file and modify it by removing any comment such as '# type:head'
[shell]cp /etc/intel/clck/nodelist .
vi nodelist # Modify to obtain similar results
cat nodelist
head-node
compute-1
compute-2…
[/shell]
vi nodelist # Modify to obtain similar results
cat nodelist
head-node
compute-1
compute-2…
[/shell]
- Run mdrun (use “-np” to define the number of processes to start, a simple formula is number_nodes x number_physical_cores_per_node)
[shell]mpirun -r ssh -f nodelist -np 396 /home/icr/opt/gromacs/bin/mdrun_d[/shell]
If the execution ended successfully a message like this should be displayed
[shell]starting mdrun 'DPPC in Water'
5000 steps, 10.0 ps.
NOTE: Turning on dynamic load balancing
Writing final coordinates.
Back Off! I just backed up confout.gro to ./#confout.gro.9#
Average load imbalance: 14.8 %
Part of the total run time spent waiting due to load imbalance: 4.2 %
Steps where the load balancing was limited by -rdd, -rcon and/or -dds: X 0 % Y 0 % Z 6 %
Parallel run - timing based on wallclock.
NODE (s) Real (s) (%)
Time: 10.170 10.170 100.0
(Mnbf/s) (GFlops) (ns/day) (hour/ns)
Performance: 11463.476 401.899 84.972 0.282
[/shell]
5000 steps, 10.0 ps.
NOTE: Turning on dynamic load balancing
Writing final coordinates.
Back Off! I just backed up confout.gro to ./#confout.gro.9#
Average load imbalance: 14.8 %
Part of the total run time spent waiting due to load imbalance: 4.2 %
Steps where the load balancing was limited by -rdd, -rcon and/or -dds: X 0 % Y 0 % Z 6 %
Parallel run - timing based on wallclock.
NODE (s) Real (s) (%)
Time: 10.170 10.170 100.0
(Mnbf/s) (GFlops) (ns/day) (hour/ns)
Performance: 11463.476 401.899 84.972 0.282
[/shell]
This are both patches in case GROMACS' tracker is down:
[shell]commit 47eef81f8b01a30b9e096c15cb86a77c1b4c0258 Author: Carsten Kutzner <[email protected]> Date: Tue Mar 1 13:06:31 2011 +0100 Fixed bug #714: deprecated structure in gettimeofday diff --git a/src/mdlib/sim_util.c b/src/mdlib/sim_util.c index d8d94ff..60ef80e 100644 --- a/src/mdlib/sim_util.c +++ b/src/mdlib/sim_util.c @@ -112,10 +112,9 @@ gmx_gettime() { #ifdef HAVE_GETTIMEOFDAY struct timeval t; - struct timezone tz = { 0,0 }; double seconds; - gettimeofday(&t,&tz); + gettimeofday(&t,NULL); seconds = (double) t.tv_sec + 1e-6*(double)t.tv_usec;[/shell]
[shell]commit 47eef81f8b01a30b9e096c15cb86a77c1b4c0258 Author: Carsten Kutzner <[email protected]> Date: Tue Mar 1 13:06:31 2011 +0100 Fixed bug #714: deprecated structure in gettimeofday diff --git a/src/tools/gmx_tune_pme.c b/src/tools/gmx_tune_pme.c index b775d17..e70f5ea 100644 --- a/src/tools/gmx_tune_pme.c +++ b/src/tools/gmx_tune_pme.c @@ -1964,10 +1964,9 @@ static double gettime() { #ifdef HAVE_GETTIMEOFDAY struct timeval t; - struct timezone tz = { 0,0 }; double seconds; - - gettimeofday(&t,&tz); + + gettimeofday(&t,NULL); seconds = (double) t.tv_sec + 1e-6*(double)t.tv_usec;[/shell]
For more complete information about compiler optimizations, see our Optimization Notice.