SEMINAR
Co-Array Fortran and OpenMP Fortran for SPMD Programming
Alan Wallcraft
Naval Research Laboratory
Stennis Stace Center
ABSTRACT
In the Single Program Multiple Data approach to parallelization
multiple instances of the same program are run at the same time with the
instances traditionally communicating via a message passing library such
as MPI. A special case of SPMD, domain decomposition, is typically the
best approach to parallelizing CFD models (including ocean models) based
on both structured and unstructured grids. Message passing is inefficient
on shared memory machines, and may not be optimal even on "shared nothing"
systems. A better alternative is direct (remote) memory access. OpenMP
Fortran provides directive based control of multiple threads on a machine
with a cache-coherent shared memory, and a subset of OpenMP directives
can be used for SPMD programming. Co-Array Fortran is a small extension
to Fortran 90 designed explicitly for SPMD programming. It can use threads
on a shared memory machine but can also be implemented on a shared nothing
machine where is should be at least as efficient as MPI. These two dialects
of Fortran are described and compared with each other and with MPI.
Realted links:
CAF: http://www.co-array.org/
MPI: http://www.mpi-forum.org/,
http://www.mcs.anl.gov/mpi/
OMP: http://www.openmp.org/
WHERE: TEC 340
WHEN(day): Friday, February 26th, 1999
WHEN(time): 2:00 PM
EVERYBODY IS INVITED