Compiling Gromacs

From SciNetWiki
Jump to: navigation, search

Contents

Available Compilations

Chris Neale has compiled gromacs on GPC, with assistance from Scott Northrup, and on the power6 cluster with assistance from Ching-Hsing Yu. Users are welcome to utilize these binary executables, but only at their own peril since compiling and testing your own executable is safer and more stable.

Gromacs executables:

GPC: /scratch/cneale/exe/intel/gromacs-4.0.5/exec/bin

TCS: /scratch/cneale/exe/gromacs-4.0.4_aix/exec/bin

Compiling your own GROMACS executables

Below you will find scripts for the different compilations that you can follow to make your own binaries.

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.

  1. Compiling serial single precision gromacs on GPC
  2. Compiling openmpi parallel gromacs on GPC
  3. Compiling serial gromacs on the power6 (submitted to the queue):
  4. Compiling parallel gromacs on the power6 (submitted to the queue):
  5. fftw single precision compilation
  6. Change to get mvapich2-1.4rc1 to compile gromacs
  7. Compiling mvapich2-1.4rc1
  8. Compiling gromacs on GPC using mvapich2-1.4rc1

-- cneale 18 August 2009

Compiling serial single precision gromacs on GPC

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


cd /scratch/cneale/exe/intel/gromacs-4.0.5
mkdir exec
module purge
module load intel
export FFTW_LOCATION=/scratch/cneale/GPC/exe/intel/fftw-3.1.2/exec
export GROMACS_LOCATION=/scratch/cneale/GPC/exe/intel/gromacs-4.0.5/exec
export CPPFLAGS=-I$FFTW_LOCATION/include
export LDFLAGS=-L$FFTW_LOCATION/lib
./configure --prefix=$GROMACS_LOCATION --without-motif-includes
--without-motif-libraries --without-x --without-xml >output.configure
2>&1
make  >output.make 2>&1
make install  >output.make_install 2>&1
make distclean

-- cneale 18 August 2009

Compiling openmpi parallel gromacs on GPC:

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


cd /scratch/cneale/exe/intel/gromacs-4.0.5
mkdir exec
module purge
module load openmpi intel
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec
export CPPFLAGS="-I$FFTW_LOCATION/include
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/include
-I/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib"
export LDFLAGS=-L$FFTW_LOCATION/lib
/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed/lib/openmpi
-I/scinet/gpc/x1/intel/Compiler/11.0/081/lib/intel64
-I/scinet/gpc/x1/intel/Compiler/11.0/081/mkl/lib/em64t/"
./configure --prefix=$GROMACS_LOCATION --without-motif-includes
--without-motif-libraries --without-x --without-xml --enable-mpi
--program-suffix="_openmpi" >output.configure.mpi 2>&1
make  >output.make.mpi 2>&1
make install-mdrun  >output.make_install.mpi 2>&1
make distclean

-- cneale 18 August 2009

Compiling serial gromacs on the power6 (submitted to the queue)

Note that the -O5 flag for the power6 compilation makes it take about 20 hours to compile. You can drop that if you want, but it does give you a few more percent performance.

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


#======================================================================
# Specifies the name of the shell to use for the job
# @ shell = /usr/bin/ksh
# @ job_type = serial
# @ class = verylong
## # @ node = 1
## # @ tasks_per_node = 1
# @ output = $(jobid).out
# @ error = $(jobid).err
# @ wall_clock_limit = 40:00:00
#=====================================
## this is necessary in order to avoid core dumps for batch files
## which can cause the system to be overloaded
# ulimits
# @ core_limit = 0
#=====================================
## necessary to force use of infiniband network for MPI traffic
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH
#=====================================
# @ environment=COPY_ALL
# @ queue
export
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
export F77=xlf_r
export CC=xlc_r
export CXX=xlc++_r
export FFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export CFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export CXXFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec
export CPPFLAGS=-I$FFTW_LOCATION/include
export LDFLAGS=-L$FFTW_LOCATION/lib
cd /scratch/cneale/exe/gromacs-4.0.4_aix
mkdir exec
./configure --prefix=$GROMACS_LOCATION --without-motif-includes
--without-motif-libraries --without-x --without-xml >output.configure
2>&1
make  >output.make 2>&1
make install  >output.make_install 2>&1
make distclean

-- cneale 18 August 2009

Compiling parallel gromacs on the power6 (submitted to the queue)

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


#===============================================================================
# Specifies the name of the shell to use for the job
# @ shell = /usr/bin/ksh
##### @ job_type = serial
# @ job_type = parallel
# @ class = verylong
# @ node = 1
# @ tasks_per_node = 1
# @ output = $(jobid).out
# @ error = $(jobid).err
# @ wall_clock_limit = 40:00:00
#=====================================
## this is necessary in order to avoid core dumps for batch files
## which can cause the system to be overloaded
# ulimits
# @ core_limit = 0
#=====================================
## necessary to force use of infiniband network for MPI traffic
### TURN IT OFF # @ network.MPI = csss,not_shared,US,HIGH
#=====================================
# @ environment=COPY_ALL
# @ queue

export F77=xlf_r
export CC=xlc_r
export CXX=xlc++_r
export FFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export CFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export CXXFLAGS="-O5 -qarch=pwr6 -qtune=pwr6"
export FFTW_LOCATION=/scratch/cneale/exe/fftw-3.1.2_aix/exec
export GROMACS_LOCATION=/scratch/cneale/exe/gromacs-4.0.4_aix/exec
export CPPFLAGS=-I$FFTW_LOCATION/include
export LDFLAGS=-L$FFTW_LOCATION/lib
cd /scratch/cneale/exe/gromacs-4.0.4_aix
echo "cn-r0-10" > ~/.rhosts
echo localhost > ~/host.list
for((i=2;i<=16;i++)); do
  echo localhost >> ~/host.list
done
export MP_HOSTFILE=~/host.list
./configure --prefix=$GROMACS_LOCATION --without-motif-includes
--without-motif-libraries --without-x --without-xml --enable-mpi
--disable-nice --program-suffix="_mpi" CC=mpcc_r F77=mpxlf_r >
output.configure_mpi 2>&1
make mdrun > output.make_mpi 2>&1
make install-mdrun > output.make_install_mpi 2>&1
make distclean

-- cneale 18 August 2009

fftw single precision compilation

FFTW is required by GROMACS. This compilation must be completed before compiling GROMACS.

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


mkdir exec
export FFTW_LOCATION=/scratch/cneale/GPC/exe/intel/fftw-3.1.2/exec
module purge
module load openmpi intel
./configure --enable-float --enable-threads --prefix=${FFTW_LOCATION}
make
make install
make distclean

-- cneale 18 August 2009

Change to get mvapich2-1.4rc1 to compile gromacs

This change is required to the mvapich2-1.4rc1 source code in order to compile GROMACS with it.

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


src/mpid/ch3/channels/mrail/src/gen2/ibv_channel_manager.c
line 503
unsigned long debug = 0;
to
static unsigned long debug = 0;

-- cneale 18 August 2009

Compiling mvapich2-1.4rc1

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


cd /scratch/cneale/exe/mvapich2-1.4rc1
mkdir exec
module purge
module load intel
./configure --prefix=/scratch/cneale/exe/mvapich2-1.4rc1/exec CC=icc
CXX=icpc F90=ifort F77=ifort >output.configure 2>&1
make  >output.make 2>&1
make install  >output.make_install 2>&1
make distclean

-- cneale 18 August 2009

Compiling gromacs on GPC using mvapich2-1.4rc1

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


#!/bin/bash
cd /scratch/cneale/exe/intel/gromacs-4.0.5
mkdir exec
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
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/
export FFTW_LOCATION=/scratch/cneale/exe/intel/fftw-3.1.2/exec
export GROMACS_LOCATION=/scratch/cneale/exe/intel/gromacs-4.0.5/exec
export CPPFLAGS="-I$FFTW_LOCATION/include
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/include
-I/scratch/cneale/exe/mvapich2-1.4rc1/exec/lib"
export LDFLAGS=-L$FFTW_LOCATION/lib
./configure --prefix=$GROMACS_LOCATION --without-motif-includes
--without-motif-libraries --without-x --without-xml --enable-mpi
--program-suffix="_mvapich2" >output.configure.mpi.mvapich2 2>&1
make  >output.make.mpi.mvapich2 2>&1
make install-mdrun  >output.make_install.mpi.mvapich2 2>&1
make distclean

-- cneale 18 August 2009

Using Intel Math Kernel Library for FFT

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:

  • Do not specify the FFTW_LOCATION environment variable, and remove references to it from CPPFLAGS and LDFLAGS.
  • Add -I/opt/intel/Compiler/11.0/081/mkl/include/fftw/ to the CPPFLAGS environment variable.
  • Add "-L/opt/intel/Compiler/11.0/081/lib/intel64/ -L/opt/intel/Compiler/11.0/081/mkl/lib/em64t/ -lguide -lpthread -lfftw3xc_intel" to the LDFLAGS environment variable.
  • Add --with-fft=mkl to your ./configure commandline.
  • Continue your build as usual.

--Cmadill 20:33, 26 September 2009 (UTC)

TODO list

Personal tools
Namespaces
Variants
Actions
SciNet
Systems
Wiki
Toolbox