From Fedora Project Wiki

< PackagingDrafts

Revision as of 16:10, 22 July 2009 by Jussilehtola (talk | contribs) (Created page with ' == Introduction == Message Passing Interface (MPI) is an API for parallelization of programs across multiple nodes and has been around since 1994 [http://en.wikipedia.org/wiki/...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

Message Passing Interface (MPI) is an API for parallelization of programs across multiple nodes and has been around since 1994 [1]. Before MPI, about every manufacturer of supercomputers had their own programming language for writing programs; MPI made porting software easy.

There are many MPI implementations available, such as LAM-MPI (obsoleted by Open MPI), Open MPI (the MPI compiler used in RHEL), MPICH (Not yet in Fedora), MPICH2 and MVAPICH1 and MVAPICH2 (Not yet in Fedora).

As some MPI libraries work better on some hardware than others, and some software works best with some MPI library, the selection of the library used must be done on a user-level basis. Also, people doing high performance computing may want to use more efficient compilers, so one must be able to have many versions compiled with different compilers of the same library installed at the same time. This must be taken into account when writing spec files.


Packaging of MPI compilers

MPI compilers MUST be installed (including binaries, man pages, etc) in %{_libdir}/%{name}/%{version}-<compiler>, where compiler should be gcc in Fedora.


the MPI compiler spec files should be written in the most generic fashion as it doesn't hurt anything.

People doing high performance computing may want to use more efficient compilers, so the MPI compiler spec files should be written in the most generic fashion as it doesn't hurt anything.