[gmx-users] Scaling on SGI Altix 3700 Bx2

Haruna Cofer haruna at sgi.com
Wed Jun 29 05:22:30 CEST 2005

Hello, Dallas --

I will let the developers advise on how to best scale your particular
problem (perhaps more details about it are needed).  I only know about
the -sort, -shuffle, and -load options myself.  But I just wanted to
make sure you knew that Erik Lindahl has graciously implemented IA64
assembly for the upcoming 3.3 release, and I have found this to improve
the performance on our SGI Altix by about 1.6x.  So in your quest for
better performance, you might want to check out the CVS version.  It's
very easy to download and build, and attached are my porting notes for

-- Haruna  :)


Porting Notes for GROMACS 3.3 Beta to SGI Altix

1. Download GROMACS 3.3 Beta source code using CVS (hit return when 
   prompted for a password):

   % cvs -z3 -d :pserver:anoncvs at cvs.gromacs.org:/home/gmx/cvs login
   % cvs -z3 -d :pserver:anoncvs at cvs.gromacs.org:/home/gmx/cvs co gmx
   Go to the gmx/ directory and build the configure scripts:
   % cd gmx
   % ./bootstrap

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:


  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 in order to build GROMACS, because FFTW 3.0.1 does
  not yet support MPI.

3. Download an updated "depcomp" script that contains support for
the Intel 7.x compilers and higher:


Shift-click or Right-click the link called "download" to download the
latest revision of the depcomp script.

4. Make sure you have the Intel 7.x or 8.x compilers installed.  
For best performance, also make sure you have SGI's Message Passing
Toolkit (MPT) installed (any release should be fine).  

5. Set up your compiler environment to use an Intel compiler.  For
   example, if you are using an Intel 7.x compiler and the C shell
   (e.g., csh or tcsh):

    source /opt/intel/compiler70/ia64/bin/eccvars.csh
    source /opt/intel/compiler70/ia64/bin/efcvars.csh

   Or if you are using an Intel 7.x compiler and the Bourne shell 
   (e.g., bash):
    . /opt/intel/compiler70/ia64/bin/eccvars.sh
    . /opt/intel/compiler70/ia64/bin/efcvars.csh

6. Set up environment variables to build FFTW and GROMACS:

   a. If you are using an Intel 7.x compiler:

       setenv CC ecc
       setenv F77 efc
       setenv MPICC ecc

      Or if you are using an Intel 8.x compiler:

       setenv CC icc
       setenv F77 ifort
       setenv MPICC icc

   b. Determine your FFTW directory (after unarchiving the 
      fftw-2.1.5.tar.gz file) and your SGI MPT directory.  Then
      specify the following environment variables, substituting
      your FFTW directory for $FFTW_DIR and your SGI MPT directory
      for $SGI_MPT_DIR below:

       setenv CPPFLAGS "-I$FFTW_DIR/include -I$SGI_MPT_DIR/include
       setenv CFLAGS "-O3 -ip -tpp2 -ftz"
       setenv FFLAGS "-O3 -ip -tpp2 -ftz"
       setenv LDFLAGS "-O3 -ip -tpp2 -ftz -L$FFTW_DIR/lib
       setenv LIBS "-lmpi"

7. Build FFTW 2.1.5:

   a. Copy the updated depcomp file to the fftw-2.1.5/ directory.  For
       cp depcomp fftw-2.1.5/depcomp

   b. Then build fftw-2.1.5, substituting your FFTW directory for
      $FFTW_DIR below:

       cd fftw-2.1.5
       ./configure --enable-float --enable-mpi --prefix=$FFTW_DIR
       make install
       cd ../

8. Build GROMACS, substituting your GROMACS directory for
   $GROMACS_DIR below:
    cd gmx
    ./configure --enable-mpi --prefix=$GROMACS_DIR
    make install

   The GROMACS binaries and libraries will be installed under the
   $GROMACS_DIR/ia64-unknown-linux-gnu/ directory.


More information about the gromacs.org_gmx-users mailing list