|
Creation of a hardware independent interface
of our own
(library libCubecom.a). |
Nowadays, all vendors of parallel computers offer standard parallel libraries and/or similar extensions of the operating system which include all necessary compilers, libraries and so on.
Some parallel versions of high level programming languages are available, e.g., High Performance Fortran (HPF), Vienna Fortran. They include language extensions supporting parallelism on regular data structures and the compilers try an automatic parallelization.
Another, and more promising, approach consists in the development of
general and portable interfaces for MIMD computers.
The most common library in this field is the
Message Passing Interface (MPI) which is based
on earlier non-commercial and commercial interfaces like PVM, Express, etc..
The MPI
consortium is supported by all big manufacturers of parallel machines
(they work actively in that committee) and the library is
available on all hardware platforms
(LINUX !), even
on WindowsXX.
Therefore, we will write in the course parallel programs using MPI.
For a real understanding of the
calls in MPI
the Sec. 3.3 is strongly recommended, see
also [Fos94,GLS94,Pac97].