1 |
Ferris McCormick wrote: |
2 |
> Both sys-cluster/lam-mpi and sys-cluster/mpich provide implementations |
3 |
> of mpi (message passing interface, I believe) to allow building |
4 |
> computation clusters, similar to PVM (parallel virtual machine). |
5 |
That's correct :) But MPI can be used not only with clusters. I have it |
6 |
on my home and office desktops, just because I develop software for MPI |
7 |
:) And people use it on SMP machines also. |
8 |
|
9 |
> Unfortunately, lam-mpi and mpich are not quite compatible. A |
10 |
> few packages (few = 2 to 5) depend explicitly on lam-mpi in case |
11 |
> of USE='mpi ...', and apparently cannot use mpich. (dev-libs/fftw-2.x |
12 |
> series, app-sci/gromacs, app-sci/orsa, app-sci/tree-puzzle) |
13 |
That's right, these packages depend on lam-mpi, because it is hardcoded |
14 |
into ebuilds. One of ideas behind virtual/mpi is to make it possible to |
15 |
write ebuild that will support both of them. It is not impossible. |
16 |
Theoretically, any application, which can be compiled with LAM can be |
17 |
also compiled with MPICH, if application conform MPI standards (at least |
18 |
MPI 1.2) and not tuned especially for particular MPI realization (it is |
19 |
really exotic case, because it brokes one of ideas behind of MPI as a |
20 |
open standard). So, on a source level (source of application which use |
21 |
MPI, of course) - they are the same. |
22 |
There is only some minor difference about linking. And some exotic in |
23 |
case of using some non-standard Fortran features and MPICH. (for ex. if |
24 |
you get command-line arguments from Fortran, AFAIK it is not standard |
25 |
and not conform MPI standard, with MPICH you will get a bit more, than |
26 |
you need, and different on slave and master nodes :)). But AFAIR there |
27 |
no any exotic with C/C++. |
28 |
But linking also could be done without problems. Ebuilds just should |
29 |
follow MPI standard and use mpicc instead gcc, mpif77 instead g77 and so |
30 |
on. If in ebuilds for LAM_MPI, MPICH (and something else which will |
31 |
appeared) it is properly configured, they will install such wrappers, |
32 |
which BTW cares about proper linking with proper libraries. AFAIR they |
33 |
do it now. |
34 |
OK, often people really don't care about wrappers and link directly, |
35 |
that's true :) But even in such case there is no big problem with |
36 |
linking. Just add check in ebuild, which MPI we use. Or, probably in |
37 |
some applications autoconf care about it (I think in app-sci/gromacs |
38 |
such case). |
39 |
|
40 |
fftw definetely can use MPICH. Moreover, MPICH is much more spread than |
41 |
LAM, so, I almost sure that it is much more probable to find some |
42 |
software which will not work with LAM, rather with MPICH. For example, I |
43 |
always test my programs with MPICH, even if I personaly like LAM. So, I |
44 |
always keep one machine with MPICH. Because MPICH is some kind of |
45 |
portable reference implementation of MPI related to MPI standard developers. |
46 |
|
47 |
-- |
48 |
Anton Starikov |
49 |
|
50 |
-- |
51 |
gentoo-dev@g.o mailing list |