The ubiquity of computers with multiple processors and computers cooperating in some network has made parallel computing a mainstream subject. Up to the Fortran 2008 standard, Fortran did not offer any language constructs for such a programming style. The two approaches that are most popular at the moment are message passing interface  (MPI) and open multiprocessing  (OpenMP). These two approaches actually complement each other: MPI deals with different processes running on, possibly, different computers that communicate with one another explicitly and OpenMP is a method to run parts of a program in parallel (multiple threads), so there is only a single process running.
Fortran 2008 introduces coarrays and supporting ...