[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