Compiling FORTRAN-77 Example Using the openmpi modules
All the sample code can be found on the cluster at /share/apps/samples/openmpi-f77 you can copy them to your home folder using:
$ cp -r /share/apps/samples/openmpi-f77 ./
First you need to create your source code. See example mpi_hello.f below:
c mpi_hello for fortran77
c
PROGRAM MAIN
INCLUDE 'mpif.h'
INTEGER IRANK,IPROC,IERR,IFINISH
C
CALL MPI_INIT (IERR)
CALL MPI_COMM_RANK (MPI_COMM_WORLD,IRANK,IERR)
CALL MPI_COMM_SIZE (MPI_COMM_WORLD,IPROC,IERR)
PRINT*, 'Hello world, I am ', IRANK, ' of ', IPROC
CALL MPI_FINALIZE(IFINISH)
STOP
END
Then you must load the lam-intel module
$ module load openmpi-intel
(Loads the openmpi/intel-12 module)
or
$ module load openmpi/intel-11
or
$ module load openmpi/intel-12
or
$ module load openmpi-gnu
or
$ module load openmpi/gcc45
or
$ module load openmpi/gcc46
or
$ module load openmpi/gcc47
Then compile the code
$ mpif77 -o openmpi-hello mpi_hello.f77
You should not see any error output, and should have an executable file called openmpi-hello in current your directory.
CAUTION: If you do not load the module your code will not compile correctly!
Write the jobfile (jobfile.job)
#PBS -N openmpi-hello
#PBS -q @nic-cluster.mst.edu
#PBS -l nodes=2
#PBS -l walltime=01:00:00
#PBS -m abe
#PBS -M joeminer@mst.edu
#PBS -V
cd $PBS_O_WORKDIR
mpirun -np 2 ./openmpi-hello
If you have logged out since you last loaded the module you will need to load the module again.
If the output is not what you expected check the openmpi-hello.e#### file.