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 \ --with-openib \ --with-openib-libdir=/usr/lib64 \ --with-tm=/opt/torque
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 MPILIBdir = MPIINCdir = $(MPIdir)/include MPILIB = # Section 2: # Set these values: SYSINC = INTFACE = -Df77IsF2C SENDIS = BUFF = TRANSCOMM = -DUseMpi2 WHATMPI = SYSERRORS = # 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 F77LOADFLAGS = CC = /usr/local/mpi/gnu-g77/bin/mpicc CCLOADFLAGS =
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 to: 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 # make
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