Sciences and methods > Parallel computing > Parallel programming environment
 
Tehdyt toimenpiteet

Parallel programming environment

To parallellize a sequential computer program a MPI  message passing library and OpenMP directives are available. MPI is used for message  passing and distributed memory programming and OpenMP for shared memory programming. The choise depends on the parallel  computer to be used and the character of the sequential program. Both libraries are de facto standards and device independent libraries.

In addition, shmem can be used on Louhi. In some cases performance improvement over MPI can be achieved with this library. Note, however, that the portability of the code suffers as this is proprietary API.

On Sepeli there are available several implementations of MPI library, choise of which  depends on how the parallellization has been done, which compiler is used and whether the program is run on the Ethernet or the InfiniBand network. The best performance is typically achieved with the InfiniBand network.

For more information on parallel computing see the following guide books:
Rinnakkaisohjelmointi MPI:llä (PDF, only in Finnish)
CSC's computing servers

See also Louhi User's Guide by CSC.

See also Murska User's Guide by CSC.

Read more about the programming environment on each computer

See also quick guides for batch jobs:

Sepeli