[gmx-users] configure gmx on sgi
Haruna Cofer
haruna at sgi.com
Sat Jun 18 06:55:42 CEST 2005
Hello, Marta!
Did you get an answer to your question yet? If not, what is happening
is that there are two different 32-bit ABI's available on IRIX, and it
looks like mpicc is trying to compile with the older "o32" ABI, while
the libraries have been built with the newer "n32" ABI. And you can't
mix the two. The older "o32" ABI is used when you compile with the -32
option, while the newer "n32" ABI is used when you compile with the -n32
option. Perhaps -32 is set as the default compile option in your
/etc/compiler.defaults file. But for best performance, you want to use
-n32. I've never used mpicc before, but I think you should be able to
do this before running configure:
setenv MPICC "mpicc -n32 -mips4"
Alternatively, you can use SGI's optimized MPI library instead.
Attached are my porting notes for compiling FFTW and GROMACS using SGI's
MPT package (which contains the optimized MPI).
-- Haruna :)
=====
Porting Notes for GROMACS 3.2.1 to SGI IRIX
-------------------------------------------
1. Download GROMACS 3.2.1 source code via anonymous ftp:
% ftp ftp.gromacs.org
ftp> cd pub/gromacs
ftp> get gromacs-3.2.1.tar.gz
ftp> quit
%
or via your web browser:
ftp://ftp.gromacs.org/pub/gromacs/gromacs-3.2.1.tar.gz
Uncompress and unarchive the distribution, and it will be
put in a directory called gromacs-3.2.1/. For example:
uncompress gromacs-3.2.1.tar.gz
tar xvf gromacs-3.2.1.tar
2. Download FFTW 2.1.5 (not 3.0.1) source code via anonymous ftp:
% ftp ftp.fftw.org
ftp> cd pub/fftw
ftp> get fftw-2.1.5.tar.gz
ftp> quit
or via your web browser:
ftp://ftp.fftw.org/pub/fftw/fftw-2.1.5.tar.gz
Uncompress and unarchive the distribution, and it will be
put in a directory called fftw-2.1.5. For example:
uncompress fftw-2.1.5.tar.gz
tar xvf fftw-2.1.5.tar
NOTE: We have to use the older FFTW 2.1.5 instead of the latest
FFTW 3.0.1 because GROMACS has not been ported to use FFTW 3.x yet.
3. Make sure automake (from SGI Freeware) is installed and
set your PATH to include /usr/freeware/bin:
setenv PATH "${PATH}:/usr/freeware/bin"
4. For best performance, make sure you have SGI's Message Passing
Toolkit (MPT) installed:
http://www.sgi.com/products/software/mpt/
5. Build FFTW 2.1.5:
a. Specify the compilers to use:
setenv CC cc
setenv F77 f77
setenv MPICC cc
b. Specify the location of the MPI header and library files,
substituting the SGI MPT directory for $SGI_MPT_DIR below:
setenv CPPFLAGS "$SGI_MPT_DIR/include"
setenv LDFLAGS "-L$SGI_MPT_DIR/lib"
c. Now build FFTW, substituting your target FFTW installation
directory (i.e., where you would like the FFTW include/ and lib/
files to be installed) for $FFTW_DIR below:
cd fftw-2.1.5
./configure --enable-float --enable-mpi --prefix=$FFTW_DIR
make
make install
cd ../
7. Build GROMACS 3.2.1:
a. First download the three patch files from:
http://www.gromacs.org/pipermail/gmx-developers/2004-March/000797.html
Then apply the patches:
cd gromacs-3.2.1
patch -p0 < gromacs-3.2.1-acinclude.patch
patch -p0 < gromacs-3.2.1-gmx_sgangle.patch
patch -p0 < gromacs-3.2.1-make_edi.patch
b. Set the compilers to use:
setenv CC cc
setenv F77 f77
setenv MPICC cc
c. Specify the location of the FFTW and MPI header and library
files, substituting your FFTW installation directory for
$FFTW_DIR and your SGI MPT installation directory for
$SGI_MPT_DIR below:
setenv CPPFLAGS "-I$FFTW_DIR/include $SGI_MPT_DIR/include
setenv LDFLAGS "-L$FFTW_DIR/lib
-L$SGI_MPT_DIR/lib"
d. Now build GROMACS, substituting your target GROMACS installation
directory (i.e., where you would like the GROMACS binaries to be
installed under) for $GROMACS_DIR below:
setenv LIBS "-lmpi"
./configure --enable-mpi --prefix=$GROMACS_DIR
make
make install
The GROMACS binaries and libraries will be installed under the
$GROMACS_DIR/mips-sgi-irix6.5 directory.
=====
More information about the gromacs.org_gmx-users
mailing list