1. You have to compile OpenMPI 1.4.x with g77 and gfortran. I’m compiling with OpenIB and Torque as well
./configure --prefix=/usr/local/mpi/gnu-g77/ \
F77=g77 FC=gfortran \
2. Download BLACS from www.netlib.org/blacs. Remember to download both mpiblacs.tgz and the mpiblacs-patch03.tgz
# cd /root
# tar -xzvf mpiblacs.tgz
# tar -xzvf mpiblacs-patch03.tgz
# cd BLACS
# cp ./BMAKES/BMake.MPI-LINUX Bmake.inc
3. Edit Bmake.inc according to the recommendation from OpenMPI FAQ
# Section 1:
# Ensure to use MPI for the communication layer
COMMLIB = MPI
# The MPIINCdir macro is used to link in mpif.h and
# must contain the location of Open MPI's mpif.h.
# The MPILIBdir and MPILIB macros are irrelevant
# and should be left empty.
MPIdir = /path/to/openmpi-1.4.3
MPIINCdir = $(MPIdir)/include
# Section 2:
# Set these values:
INTFACE = -Df77IsF2C
TRANSCOMM = -DUseMpi2
# Section 3:
# You may need to specify the full path to
# mpif77 / mpicc if they aren't already in
# your path. IF not type the whole path out.
F77 = /usr/local/mpi/gnu-g77/bin/mpif77
CC = /usr/local/mpi/gnu-g77/bin/mpicc
4. Following the recommendation from BlACS Errata (Necessary flags for compiling the BLACS tester with g77)
blacstest.o : blacstest.f
$(F77) $(F77NO_OPTFLAGS) -c $*.f
blacstest.o : blacstest.f
$(F77) $(F77NO_OPTFLAGS) -fno-globals -fno-f90 -fugly-complex -w -c $*.f
5. Compile the Blacs tests. You should see
# cd /root/BLACS/TESTING
# make clean
You should see xCbtest_MPI-LINUX-1 and xFbtest_MPI-LINUX-1
6. Tun the Tests
# mpirun -np 5 xCbtest_MPI-LINUX-0
# mpirun -np 5 xFbtest_MPI-LINUX-0
7. If the test is successful, you may wish to copy the BLACS library to /usr/local/lib. But I like to separate my compiled libraries separately to /usr/local/blacs/lib
# cp /root/BLACS/LIB*.a /usr/local/blacs/lib
# chmod 555 /usr/local/blacs/lib/*.a
Download the lapack latest stable version (lapack-3.3.0.tgz) from http://www.netlib.org/lapack
# cd /root
# tar -xzvf lapack-3.3.0.tgz
# cd /root/lapack-3.3.0
# cp make.inc.example make.inc
Assuming Edit make.inc. Assuming the Compiling ATLAS on CentOS 5
#BLASLIB = ../../blas$(PLAT).a
BLASLIB = /usr/local/atlas/lib/libf77blas.a /usr/local/atlas/lib/libatlas.a
Compile lapack package
Copy the libraries to
# mkdir /usr/local/lapack/lib
# cp /root/lapack-3.3.0/*.a /usr/local/lapack/lib
# cd /usr/local/lapack/lib/
# chmod 555 *.a
Other related Information
- Compiling ATLAS on CentOS 5
This tutorial is to help you compile ATLAS (Automatically Tuned Linear Algebra Software) with gFortran. For those who are using Intel Compiler, you have the reliable Intel MKL (Math Kernel Library)
First thing first, some comparison between ATLAS and MKL.
ATLAS The Automatically Tuned Linear Algebra Software (ATLAS) provides a complete implementation of the BLAS API 3 and a subset of LAPACK 3. A big number of instructions-set specific optimizations are used throughout the library to achieve peak-performance on a wide variety of HW-platforms.
ATLAS provides both C and Fortran interfaces.
ATLAS is available for all HW-platforms capable of running UNIX or UNIX-like operating systems as well as Windows ™.
Intel’s Math Kernel Library (MKL) implements a set of linear algebra, fast Fourier transforms and vector math functions. It includes LAPACK 3, BLAS 3 and extended BLAS and provides both C and Fortran interfaces.
MKL is available for Windows ™ and Linux (x86/i686 and above) only.
Download the latest stable package from ATLAS (http://sourceforge.net/projects/math-atlas/files/Stable/). The current stable version is atlas3.8.0.tar.gz. Do note that ATLAS don’t like configuration on its original location, hence the need to create ATLAS_BUILD directory.
# cd /root
# tar -xzvf atlas3.8.3.tar.gz
# mkdir /root/ATLAS_BUILD
# cd /root/ATLAS_BUILD
You will need to turn off CPU Throttling. For CentOS and Fedora, you will use
# /usr/bin/cpufreq-selector -g performance
For more information, you can see my blog entry Switching off CPU Throttling on CentOS or Fedora
By default, ATLAS installed to /usr/local/atlas
Finally remember to add /usr/local/atlas/lib to your LD_LIBRARY_PATH
- Linux Cluster Application Site
- ScaLAPACK, LAPACK, BLACS and ATLAS on OpenMPI & Linux installation tutorial
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.
It is primarily designed for biochemical molecules like proteins, lipids and nucleic acids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations) many groups are also using it for research on non-biological systems, e.g. polymers
Do note that this Gromacs Installation Guide is for Gromacs 4.0.x. For detailed instruction, see GROMACS Installation Instructions. For installation of FFTW, you may want to take a look at Blogh Entry Installing FFTW
Since I’m using FFTW, MPI (OpenMPI to be exact) and configure FFTW with –prefix=/usr/local/fftw,
I’ve configured the following
# ./configure CPPFLAGS="-I/usr/local/fftw/include" LDFLAGS="-L/usr/local/fftw/lib" \
--with-fft=fftw3 --enable-mpi --disable-float
Some notes…… (Assuming you are using bash)
- To compile with FFTW version 3 “–with-fft=fftw3”
- To enable MPI “–enable-mpi”
- To select Double precision “–disable-float”
# make -j 8
where 8 is the number of cores.
# make mdrun
* if you have configure with “–enable-mpi”
# make install
* Install all the binaries, libraries and shared data files with:
# make install-mdrun
* If you only want to build the mdrun executable (in the case of an MPI build),
# make links
* If you want to create links in
/usr/local/bin to the installed GROMACS executables
Vmware View Client for iPAD is finally here…….
VMware View Client for iPad makes it easy to access your Windows virtual desktop from your iPad with the best possible user experience on the Local Area Network (LAN) or across a Wide Area Network (WAN).