<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://oldwiki.scinet.utoronto.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dacaplan</id>
	<title>oldwiki.scinet.utoronto.ca - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://oldwiki.scinet.utoronto.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dacaplan"/>
	<link rel="alternate" type="text/html" href="https://oldwiki.scinet.utoronto.ca/index.php/Special:Contributions/Dacaplan"/>
	<updated>2026-05-31T13:59:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.12</generator>
	<entry>
		<id>https://oldwiki.scinet.utoronto.ca/index.php?title=Compiling_Gromacs&amp;diff=772</id>
		<title>Compiling Gromacs</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.scinet.utoronto.ca/index.php?title=Compiling_Gromacs&amp;diff=772"/>
		<updated>2009-12-05T20:25:42Z</updated>

		<summary type="html">&lt;p&gt;Dacaplan: /* fftw single precision compilation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Available Compilations==&lt;br /&gt;
&lt;br /&gt;
Chris Neale has compiled gromacs on GPC, with assistance from Scott Northrup, and&lt;br /&gt;
on the power6 cluster with assistance from Ching-Hsing Yu. Users are welcome to utilize&lt;br /&gt;
these binary executables, but only at their own peril since compiling and testing your own&lt;br /&gt;
executable is safer and more stable.&lt;br /&gt;
&lt;br /&gt;
''Gromacs executables:''&lt;br /&gt;
&lt;br /&gt;
'''GPC:''' /scratch/cneale/exe/intel/gromacs-4.0.5/exec/bin&lt;br /&gt;
&lt;br /&gt;
'''TCS:''' /scratch/cneale/exe/gromacs-4.0.4_aix/exec/bin&lt;br /&gt;
&lt;br /&gt;
==Compiling your own GROMACS executables==&lt;br /&gt;
&lt;br /&gt;
Below you will find scripts for the different compilations that you can follow to make your own binaries.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' ''the steps are not listed in order! You must compile fftw before compiling gromacs, and if you are going to use mvapich2-1.4rc1 then you must compile it also before compiling parallel gromacs.''&lt;br /&gt;
&lt;br /&gt;
# Compiling serial single precision gromacs on GPC&lt;br /&gt;
# Compiling openmpi parallel gromacs on GPC&lt;br /&gt;
# Compiling serial gromacs on the power6 (submitted to the queue):&lt;br /&gt;
# Compiling parallel gromacs on the power6 (submitted to the queue):&lt;br /&gt;
# fftw single precision compilation&lt;br /&gt;
# Change to get mvapich2-1.4rc1 to compile gromacs&lt;br /&gt;
# Compiling mvapich2-1.4rc1&lt;br /&gt;
# Compiling gromacs on GPC using mvapich2-1.4rc1&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Compiling serial single precision gromacs on GPC=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load intel&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/GPC/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/GPC/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml &amp;gt;output.configure&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Compiling openmpi parallel gromacs on GPC:=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load openmpi intel&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I$FFTW_LOCATION/include&lt;br /&gt;
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/include&lt;br /&gt;
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib&amp;quot;&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib/openmpi&lt;br /&gt;
-I/scinet/gpc/x1/intel/Compiler/11.0/081/lib/intel64&lt;br /&gt;
-I/scinet/gpc/x1/intel/Compiler/11.0/081/mkl/lib/em64t/&amp;quot;&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--program-suffix=&amp;quot;_openmpi&amp;quot; &amp;gt;output.configure.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun  &amp;gt;output.make_install.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling serial gromacs on the power6 (submitted to the queue)=====&lt;br /&gt;
&lt;br /&gt;
Note that the -O5 flag for the power6 compilation makes it take about&lt;br /&gt;
20 hours to compile. You can drop that if you want, but it does give&lt;br /&gt;
you a few more percent performance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#======================================================================&lt;br /&gt;
# Specifies the name of the shell to use for the job&lt;br /&gt;
# @ shell = /usr/bin/ksh&lt;br /&gt;
# @ job_type = serial&lt;br /&gt;
# @ class = verylong&lt;br /&gt;
## # @ node = 1&lt;br /&gt;
## # @ tasks_per_node = 1&lt;br /&gt;
# @ output = $(jobid).out&lt;br /&gt;
# @ error = $(jobid).err&lt;br /&gt;
# @ wall_clock_limit = 40:00:00&lt;br /&gt;
#=====================================&lt;br /&gt;
## this is necessary in order to avoid core dumps for batch files&lt;br /&gt;
## which can cause the system to be overloaded&lt;br /&gt;
# ulimits&lt;br /&gt;
# @ core_limit = 0&lt;br /&gt;
#=====================================&lt;br /&gt;
## necessary to force use of infiniband network for MPI traffic&lt;br /&gt;
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH&lt;br /&gt;
#=====================================&lt;br /&gt;
# @ environment=COPY_ALL&lt;br /&gt;
# @ queue&lt;br /&gt;
export&lt;br /&gt;
PATH=/usr/lpp/ppe.hpct/bin:/usr/vacpp/bin:.:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/lpp/LoadL/full/bin:/usr/local/bin&lt;br /&gt;
export F77=xlf_r&lt;br /&gt;
export CC=xlc_r&lt;br /&gt;
export CXX=xlc++_r&lt;br /&gt;
export FFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
cd /scratch/cneale/exe/gromacs-4.0.4_aix&lt;br /&gt;
mkdir exec&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml &amp;gt;output.configure&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling parallel gromacs on the power6 (submitted to the queue)=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#===============================================================================&lt;br /&gt;
# Specifies the name of the shell to use for the job&lt;br /&gt;
# @ shell = /usr/bin/ksh&lt;br /&gt;
##### @ job_type = serial&lt;br /&gt;
# @ job_type = parallel&lt;br /&gt;
# @ class = verylong&lt;br /&gt;
# @ node = 1&lt;br /&gt;
# @ tasks_per_node = 1&lt;br /&gt;
# @ output = $(jobid).out&lt;br /&gt;
# @ error = $(jobid).err&lt;br /&gt;
# @ wall_clock_limit = 40:00:00&lt;br /&gt;
#=====================================&lt;br /&gt;
## this is necessary in order to avoid core dumps for batch files&lt;br /&gt;
## which can cause the system to be overloaded&lt;br /&gt;
# ulimits&lt;br /&gt;
# @ core_limit = 0&lt;br /&gt;
#=====================================&lt;br /&gt;
## necessary to force use of infiniband network for MPI traffic&lt;br /&gt;
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH&lt;br /&gt;
#=====================================&lt;br /&gt;
# @ environment=COPY_ALL&lt;br /&gt;
# @ queue&lt;br /&gt;
&lt;br /&gt;
export F77=xlf_r&lt;br /&gt;
export CC=xlc_r&lt;br /&gt;
export CXX=xlc++_r&lt;br /&gt;
export FFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
cd /scratch/cneale/exe/gromacs-4.0.4_aix&lt;br /&gt;
echo &amp;quot;cn-r0-10&amp;quot; &amp;gt; ~/.rhosts&lt;br /&gt;
echo localhost &amp;gt; ~/host.list&lt;br /&gt;
for((i=2;i&amp;lt;=16;i++)); do&lt;br /&gt;
  echo localhost &amp;gt;&amp;gt; ~/host.list&lt;br /&gt;
done&lt;br /&gt;
export MP_HOSTFILE=~/host.list&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--disable-nice --program-suffix=&amp;quot;_mpi&amp;quot; CC=mpcc_r F77=mpxlf_r &amp;gt;&lt;br /&gt;
output.configure_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make mdrun &amp;gt; output.make_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun &amp;gt; output.make_install_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====fftw single precision compilation=====&lt;br /&gt;
&lt;br /&gt;
FFTW is required by GROMACS. This compilation must be completed before compiling GROMACS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
mkdir exec&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/GPC/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
module purge&lt;br /&gt;
module load openmpi intel&lt;br /&gt;
./configure --enable-float --enable-threads --prefix=${FFTW_LOCATION}&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Change to get mvapich2-1.4rc1 to compile gromacs=====&lt;br /&gt;
&lt;br /&gt;
This change is required to the mvapich2-1.4rc1 source code in order to compile GROMACS with it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
src/mpid/ch3/channels/mrail/src/gen2/ibv_channel_manager.c&lt;br /&gt;
line 503&lt;br /&gt;
unsigned long debug = 0;&lt;br /&gt;
to&lt;br /&gt;
static unsigned long debug = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling mvapich2-1.4rc1=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/mvapich2-1.4rc1&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load intel&lt;br /&gt;
./configure --prefix=/scratch/cneale/exe/mvapich2-1.4rc1/exec CC=icc&lt;br /&gt;
CXX=icpc F90=ifort F77=ifort &amp;gt;output.configure 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling gromacs on GPC using mvapich2-1.4rc1=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/xcat/bin:/opt/xcat/sbin:/root/bin:/opt/torque/bin:/opt/xcat/bin:/opt/xcat/sbin:/usr/lpp/mmfs/bin:/scratch/cneale/exe/mvapich2-1.4rc1/exec/bin/:/scinet/gpc/x1/intel/Compiler/11.0/081/bin/intel64&lt;br /&gt;
LD_LIBRARY_PATH=/scratch/cneale/exe/mvapich2-1.4rc1/exec/lib/:/scinet/gpc/x1/intel/Compiler/11.0/081/lib/intel64:/scinet/gpc/x1/intel/Compiler/11.0/081/mkl/lib/em64t/&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I$FFTW_LOCATION/include&lt;br /&gt;
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/include&lt;br /&gt;
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/lib&amp;quot;&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--program-suffix=&amp;quot;_mvapich2&amp;quot; &amp;gt;output.configure.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun  &amp;gt;output.make_install.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Using Intel Math Kernel Library for FFT=====&lt;br /&gt;
Gromacs provides the option to use the Intel Math Kernel Library (MKL) for the fast Fourier implementation. To use the MKL, make the following changes to your chosen compilation method:&lt;br /&gt;
&lt;br /&gt;
* Do not specify the FFTW_LOCATION environment variable, and remove references to it from CPPFLAGS and LDFLAGS.&lt;br /&gt;
* Add -I/opt/intel/Compiler/11.0/081/mkl/include/fftw/ to the CPPFLAGS environment variable.&lt;br /&gt;
* Add &amp;quot;-L/opt/intel/Compiler/11.0/081/lib/intel64/ -L/opt/intel/Compiler/11.0/081/mkl/lib/em64t/ -lguide -lpthread -lfftw3xc_intel&amp;quot; to the LDFLAGS environment variable.&lt;br /&gt;
* Add --with-fft=mkl to your ./configure commandline.&lt;br /&gt;
* Continue your build as usual.&lt;br /&gt;
&lt;br /&gt;
--[[User:Cmadill|Cmadill]] 20:33, 26 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
==TODO list==&lt;/div&gt;</summary>
		<author><name>Dacaplan</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.scinet.utoronto.ca/index.php?title=Compiling_Gromacs&amp;diff=771</id>
		<title>Compiling Gromacs</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.scinet.utoronto.ca/index.php?title=Compiling_Gromacs&amp;diff=771"/>
		<updated>2009-12-05T20:24:35Z</updated>

		<summary type="html">&lt;p&gt;Dacaplan: /* Compiling serial single precision gromacs on GPC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Available Compilations==&lt;br /&gt;
&lt;br /&gt;
Chris Neale has compiled gromacs on GPC, with assistance from Scott Northrup, and&lt;br /&gt;
on the power6 cluster with assistance from Ching-Hsing Yu. Users are welcome to utilize&lt;br /&gt;
these binary executables, but only at their own peril since compiling and testing your own&lt;br /&gt;
executable is safer and more stable.&lt;br /&gt;
&lt;br /&gt;
''Gromacs executables:''&lt;br /&gt;
&lt;br /&gt;
'''GPC:''' /scratch/cneale/exe/intel/gromacs-4.0.5/exec/bin&lt;br /&gt;
&lt;br /&gt;
'''TCS:''' /scratch/cneale/exe/gromacs-4.0.4_aix/exec/bin&lt;br /&gt;
&lt;br /&gt;
==Compiling your own GROMACS executables==&lt;br /&gt;
&lt;br /&gt;
Below you will find scripts for the different compilations that you can follow to make your own binaries.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' ''the steps are not listed in order! You must compile fftw before compiling gromacs, and if you are going to use mvapich2-1.4rc1 then you must compile it also before compiling parallel gromacs.''&lt;br /&gt;
&lt;br /&gt;
# Compiling serial single precision gromacs on GPC&lt;br /&gt;
# Compiling openmpi parallel gromacs on GPC&lt;br /&gt;
# Compiling serial gromacs on the power6 (submitted to the queue):&lt;br /&gt;
# Compiling parallel gromacs on the power6 (submitted to the queue):&lt;br /&gt;
# fftw single precision compilation&lt;br /&gt;
# Change to get mvapich2-1.4rc1 to compile gromacs&lt;br /&gt;
# Compiling mvapich2-1.4rc1&lt;br /&gt;
# Compiling gromacs on GPC using mvapich2-1.4rc1&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Compiling serial single precision gromacs on GPC=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load intel&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/GPC/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/GPC/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml &amp;gt;output.configure&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Compiling openmpi parallel gromacs on GPC:=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load openmpi intel&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I$FFTW_LOCATION/include&lt;br /&gt;
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/include&lt;br /&gt;
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib&amp;quot;&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib/openmpi&lt;br /&gt;
-I/scinet/gpc/x1/intel/Compiler/11.0/081/lib/intel64&lt;br /&gt;
-I/scinet/gpc/x1/intel/Compiler/11.0/081/mkl/lib/em64t/&amp;quot;&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--program-suffix=&amp;quot;_openmpi&amp;quot; &amp;gt;output.configure.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun  &amp;gt;output.make_install.mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling serial gromacs on the power6 (submitted to the queue)=====&lt;br /&gt;
&lt;br /&gt;
Note that the -O5 flag for the power6 compilation makes it take about&lt;br /&gt;
20 hours to compile. You can drop that if you want, but it does give&lt;br /&gt;
you a few more percent performance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#======================================================================&lt;br /&gt;
# Specifies the name of the shell to use for the job&lt;br /&gt;
# @ shell = /usr/bin/ksh&lt;br /&gt;
# @ job_type = serial&lt;br /&gt;
# @ class = verylong&lt;br /&gt;
## # @ node = 1&lt;br /&gt;
## # @ tasks_per_node = 1&lt;br /&gt;
# @ output = $(jobid).out&lt;br /&gt;
# @ error = $(jobid).err&lt;br /&gt;
# @ wall_clock_limit = 40:00:00&lt;br /&gt;
#=====================================&lt;br /&gt;
## this is necessary in order to avoid core dumps for batch files&lt;br /&gt;
## which can cause the system to be overloaded&lt;br /&gt;
# ulimits&lt;br /&gt;
# @ core_limit = 0&lt;br /&gt;
#=====================================&lt;br /&gt;
## necessary to force use of infiniband network for MPI traffic&lt;br /&gt;
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH&lt;br /&gt;
#=====================================&lt;br /&gt;
# @ environment=COPY_ALL&lt;br /&gt;
# @ queue&lt;br /&gt;
export&lt;br /&gt;
PATH=/usr/lpp/ppe.hpct/bin:/usr/vacpp/bin:.:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/lpp/LoadL/full/bin:/usr/local/bin&lt;br /&gt;
export F77=xlf_r&lt;br /&gt;
export CC=xlc_r&lt;br /&gt;
export CXX=xlc++_r&lt;br /&gt;
export FFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
cd /scratch/cneale/exe/gromacs-4.0.4_aix&lt;br /&gt;
mkdir exec&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml &amp;gt;output.configure&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling parallel gromacs on the power6 (submitted to the queue)=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#===============================================================================&lt;br /&gt;
# Specifies the name of the shell to use for the job&lt;br /&gt;
# @ shell = /usr/bin/ksh&lt;br /&gt;
##### @ job_type = serial&lt;br /&gt;
# @ job_type = parallel&lt;br /&gt;
# @ class = verylong&lt;br /&gt;
# @ node = 1&lt;br /&gt;
# @ tasks_per_node = 1&lt;br /&gt;
# @ output = $(jobid).out&lt;br /&gt;
# @ error = $(jobid).err&lt;br /&gt;
# @ wall_clock_limit = 40:00:00&lt;br /&gt;
#=====================================&lt;br /&gt;
## this is necessary in order to avoid core dumps for batch files&lt;br /&gt;
## which can cause the system to be overloaded&lt;br /&gt;
# ulimits&lt;br /&gt;
# @ core_limit = 0&lt;br /&gt;
#=====================================&lt;br /&gt;
## necessary to force use of infiniband network for MPI traffic&lt;br /&gt;
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH&lt;br /&gt;
#=====================================&lt;br /&gt;
# @ environment=COPY_ALL&lt;br /&gt;
# @ queue&lt;br /&gt;
&lt;br /&gt;
export F77=xlf_r&lt;br /&gt;
export CC=xlc_r&lt;br /&gt;
export CXX=xlc++_r&lt;br /&gt;
export FFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O5 -qarch=pwr6 -qtune=pwr6&amp;quot;&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec&lt;br /&gt;
export CPPFLAGS=-I$FFTW_LOCATION/include&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
cd /scratch/cneale/exe/gromacs-4.0.4_aix&lt;br /&gt;
echo &amp;quot;cn-r0-10&amp;quot; &amp;gt; ~/.rhosts&lt;br /&gt;
echo localhost &amp;gt; ~/host.list&lt;br /&gt;
for((i=2;i&amp;lt;=16;i++)); do&lt;br /&gt;
  echo localhost &amp;gt;&amp;gt; ~/host.list&lt;br /&gt;
done&lt;br /&gt;
export MP_HOSTFILE=~/host.list&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--disable-nice --program-suffix=&amp;quot;_mpi&amp;quot; CC=mpcc_r F77=mpxlf_r &amp;gt;&lt;br /&gt;
output.configure_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make mdrun &amp;gt; output.make_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun &amp;gt; output.make_install_mpi 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====fftw single precision compilation=====&lt;br /&gt;
&lt;br /&gt;
FFTW is required by GROMACS. This compilation must be completed before compiling GROMACS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
mkdir exec&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
module purge&lt;br /&gt;
module load openmpi intel&lt;br /&gt;
./configure --enable-float --enable-threads --prefix=${FFTW_LOCATION}&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Change to get mvapich2-1.4rc1 to compile gromacs=====&lt;br /&gt;
&lt;br /&gt;
This change is required to the mvapich2-1.4rc1 source code in order to compile GROMACS with it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
src/mpid/ch3/channels/mrail/src/gen2/ibv_channel_manager.c&lt;br /&gt;
line 503&lt;br /&gt;
unsigned long debug = 0;&lt;br /&gt;
to&lt;br /&gt;
static unsigned long debug = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling mvapich2-1.4rc1=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
cd /scratch/cneale/exe/mvapich2-1.4rc1&lt;br /&gt;
mkdir exec&lt;br /&gt;
module purge&lt;br /&gt;
module load intel&lt;br /&gt;
./configure --prefix=/scratch/cneale/exe/mvapich2-1.4rc1/exec CC=icc&lt;br /&gt;
CXX=icpc F90=ifort F77=ifort &amp;gt;output.configure 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install  &amp;gt;output.make_install 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
=====Compiling gromacs on GPC using mvapich2-1.4rc1=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
cd /scratch/cneale/exe/intel/gromacs-4.0.5&lt;br /&gt;
mkdir exec&lt;br /&gt;
PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/xcat/bin:/opt/xcat/sbin:/root/bin:/opt/torque/bin:/opt/xcat/bin:/opt/xcat/sbin:/usr/lpp/mmfs/bin:/scratch/cneale/exe/mvapich2-1.4rc1/exec/bin/:/scinet/gpc/x1/intel/Compiler/11.0/081/bin/intel64&lt;br /&gt;
LD_LIBRARY_PATH=/scratch/cneale/exe/mvapich2-1.4rc1/exec/lib/:/scinet/gpc/x1/intel/Compiler/11.0/081/lib/intel64:/scinet/gpc/x1/intel/Compiler/11.0/081/mkl/lib/em64t/&lt;br /&gt;
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec&lt;br /&gt;
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I$FFTW_LOCATION/include&lt;br /&gt;
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/include&lt;br /&gt;
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/lib&amp;quot;&lt;br /&gt;
export LDFLAGS=-L$FFTW_LOCATION/lib&lt;br /&gt;
./configure --prefix=$GROMACS_LOCATION --without-motif-includes&lt;br /&gt;
--without-motif-libraries --without-x --without-xml --enable-mpi&lt;br /&gt;
--program-suffix=&amp;quot;_mvapich2&amp;quot; &amp;gt;output.configure.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make  &amp;gt;output.make.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make install-mdrun  &amp;gt;output.make_install.mpi.mvapich2 2&amp;gt;&amp;amp;1&lt;br /&gt;
make distclean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[User:Cneale|cneale]] 18 August 2009&lt;br /&gt;
&lt;br /&gt;
=====Using Intel Math Kernel Library for FFT=====&lt;br /&gt;
Gromacs provides the option to use the Intel Math Kernel Library (MKL) for the fast Fourier implementation. To use the MKL, make the following changes to your chosen compilation method:&lt;br /&gt;
&lt;br /&gt;
* Do not specify the FFTW_LOCATION environment variable, and remove references to it from CPPFLAGS and LDFLAGS.&lt;br /&gt;
* Add -I/opt/intel/Compiler/11.0/081/mkl/include/fftw/ to the CPPFLAGS environment variable.&lt;br /&gt;
* Add &amp;quot;-L/opt/intel/Compiler/11.0/081/lib/intel64/ -L/opt/intel/Compiler/11.0/081/mkl/lib/em64t/ -lguide -lpthread -lfftw3xc_intel&amp;quot; to the LDFLAGS environment variable.&lt;br /&gt;
* Add --with-fft=mkl to your ./configure commandline.&lt;br /&gt;
* Continue your build as usual.&lt;br /&gt;
&lt;br /&gt;
--[[User:Cmadill|Cmadill]] 20:33, 26 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
==TODO list==&lt;/div&gt;</summary>
		<author><name>Dacaplan</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.scinet.utoronto.ca/index.php?title=Data_Management&amp;diff=468</id>
		<title>Data Management</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.scinet.utoronto.ca/index.php?title=Data_Management&amp;diff=468"/>
		<updated>2009-08-14T15:05:05Z</updated>

		<summary type="html">&lt;p&gt;Dacaplan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SciNet's storage system is based on IBM's [http://en.wikipedia.org/wiki/IBM_General_Parallel_File_System GPFS] (General Parallel File System).   There are two main systems for user data: &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt;, a small, backed-up space where user home directories are located, and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt;, a large system for input or output data for jobs; data on &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; is not only not backed up, data placed there will be deleted after a two weeks.   SciNet does not provide long-term storage for large data sets.&lt;br /&gt;
&lt;br /&gt;
==Home Disk Space==&lt;br /&gt;
&lt;br /&gt;
Every SciNet user gets a 10GB directory on &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; which is regularly backed-up.   Home is visible from &amp;lt;tt&amp;gt;login.scinet&amp;lt;/tt&amp;gt; nodes, and from the development nodes on [[GPC_Quickstart | GPC]] and the [[TCS_Quickstart | TCS]].  However, on the compute nodes of the GPC clusters -- as when jobs are running -- &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is mounted read-only; thus GPC jobs can read files in /home but cannot write to files there.   &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is a good place to put code, input files for runs, and anything else that needs to be kept to reproduce runs.&lt;br /&gt;
&lt;br /&gt;
==Scratch Disk Space==&lt;br /&gt;
&lt;br /&gt;
Every SciNet user also gets a directory in &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt;.   Scratch is visible from the &amp;lt;tt&amp;gt;login.scinet&amp;lt;/tt&amp;gt; nodes,  the development nodes on [[GPC_Quickstart | GPC]] and the [[TCS_Quickstart | TCS]], and on the compute nodes of the clusters, mounted as read-write.   Thus jobs must write their output somewhere in &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt;.  There are '''NO''' backups of anything on /scratch.&lt;br /&gt;
&lt;br /&gt;
There is a large amount of space available on &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; but it is purged every two weeks so that all users running jobs and generating large outputs will have room to store their data temporarily.  Computational results which you want to keep longer than this must be copied (using &amp;lt;tt&amp;gt;scp&amp;lt;/tt&amp;gt;) off of SciNet entirely and to your local system.   SciNet does not provide long-term storage for large data sets.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/IBM_General_Parallel_File_System GPFS] is a high-performance filesystem which provides rapid reads and writes to large datasets in parallel from many nodes.  As a consequence of this design, however, it performs quite ''poorly'' at accessing data sets which consist of many, small files.  For instance, you will find that reading data in from one 4MB file is enormously faster than from 100 40KB files.   Such small files are also quite wasteful of space, as the blocksize for the filesystem is 4MB.   This is something you should keep in mind when planning your input/output strategy for runs on SciNet.&lt;/div&gt;</summary>
		<author><name>Dacaplan</name></author>
	</entry>
</feed>