|
@@ -1010,17 +1010,46 @@ data transfers and supports data matrices which do not fit in memory (out-of-cor
|
|
|
</li>
|
|
|
</ul>
|
|
|
|
|
|
-\section MPIImplementation Notes about the Implementation
|
|
|
|
|
|
-StarPU-MPI is implemented directly on top of MPI.
|
|
|
+\section Nmad Using the NewMadeleine communication library
|
|
|
+
|
|
|
+NewMadeleine (see http://pm2.gforge.inria.fr/newmadeleine/, part of the PM2
|
|
|
+project) is an optimizing communication library for high-performance networks.
|
|
|
+NewMadeleine provides its own interface, but also an MPI interface (called
|
|
|
+MadMPI). Thus there are two possibilities to use NewMadeleine with StarPU:
|
|
|
+
|
|
|
+<ul>
|
|
|
+<li>
|
|
|
+using the NewMadeleine's native interface. StarPU supports this interface from
|
|
|
+its release 1.3.0, by enabling the \c configure option \ref enable-nmad
|
|
|
+"--enable-nmad". In this case, StarPU relies directly on NewMadeleine to make
|
|
|
+communications progress and NewMadeleine has to be built with the profile
|
|
|
+<c>pukabi+madmpi.conf</c>.
|
|
|
+</li>
|
|
|
+<li>
|
|
|
+using the NewMadeleine's MPI interface (MadMPI). StarPU will use the standard
|
|
|
+MPI API and NewMadeleine will handle the calls to the MPI API. In this case,
|
|
|
+StarPU makes communications progress and thus communication progress has to be
|
|
|
+disabled in NewMadeleine by compiling it with the profile
|
|
|
+<c>pukabi+madmpi-mini.conf</c>.
|
|
|
+</li>
|
|
|
+</ul>
|
|
|
+
|
|
|
+To build NewMadeleine, download the latest version from the website (or,
|
|
|
+better, use the Git version to use the most recent version), then:
|
|
|
+\code{.sh}
|
|
|
+cd pm2/scripts
|
|
|
+./pm2-build-packages ./<the profile you chose> --prefix=<installation prefix>
|
|
|
+\endcode
|
|
|
+
|
|
|
+With Guix, the NewMadeleine's native interface can be used by setting the
|
|
|
+parameter \c \-\-with-input=openmpi=nmad and MadMPI can be used with \c
|
|
|
+\-\-with-input=openmpi=nmad-mini.
|
|
|
+
|
|
|
+Whatever implementation (NewMadeleine or MadMPI) is used by StarPU, the public
|
|
|
+MPI interface of StarPU (described in \ref API_MPI_Support) is the same.
|
|
|
|
|
|
-Since the release 1.3.0, an implementation on top of NewMadeleine, an
|
|
|
-optimizing communication library for high-performance networks, is
|
|
|
-also provided. To use it, one needs to install NewMadeleine (see
|
|
|
-http://pm2.gforge.inria.fr/newmadeleine/) and enable the \c configure
|
|
|
-option \ref enable-nmad "--enable-nmad".
|
|
|
|
|
|
-Both implementations provide the same public API.
|
|
|
|
|
|
\section MPIMasterSlave MPI Master Slave Support
|
|
|
|