X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bdafffb947e5aac17f0583a9377cb8073c5beab1..50d3f3d2e4566d454b32dbd5d26a14923fd33356:/docs/source/tuto_smpi.rst?ds=sidebyside diff --git a/docs/source/tuto_smpi.rst b/docs/source/tuto_smpi.rst index eef698cbd5..e0a693cfaf 100644 --- a/docs/source/tuto_smpi.rst +++ b/docs/source/tuto_smpi.rst @@ -3,6 +3,11 @@ Simulating MPI Applications =========================== +.. warning:: This document is still in early stage. You can try to + take this tutorial, but should not be surprised if things fall short. + It will be completed for the next release, v3.22, released by the end + of 2018. + Discover SMPI ------------- @@ -49,7 +54,7 @@ To start using SMPI, you just need to compile your application with ``mpiff``, or with ``smpicxx`` instead of ``mpicxx``. Then, the only difference between the classical ``mpirun`` and the new ``smpirun`` is that it requires a new parameter ``-platform`` with a file describing -the virtual platform on which your application shall run. +the simulated platform on which your application shall run. Internally, all ranks of your application are executed as threads of a single unix process. That's not a problem if your application has @@ -68,7 +73,7 @@ Describing Your Platform ------------------------ As a SMPI user, you are supposed to provide a description of your -virtual platform, that is mostly a set of simulated hosts and network +simulated platform, that is mostly a set of simulated hosts and network links with some performance characteristics. SimGrid provides a plenty of :ref:`documentation ` and examples (in the `examples/platforms `_ @@ -209,15 +214,28 @@ Dragonfly Cluster This topology was introduced to further reduce the amount of links while maintaining a high bandwidth for local communications. To model this in SimGrid, pass a ``topology="DRAGONFLY"`` attribute to your -cluster. +cluster. It's based on the implementation of the topology used on +Cray XC systems, described in paper +`Cray Cascade: A scalable HPC system based on a Dragonfly network `_. + +System description follows the format ``topo_parameters=#groups;#chassis;#routers;#nodes`` +For example, ``3,4 ; 3,2 ; 3,1 ; 2``: + +- ``3,4``: There are 3 groups with 4 links between each (blue level). + Links to nth group are attached to the nth router of the group + on our implementation. +- ``3,2``: In each group, there are 3 chassis with 2 links between each nth router + of each group (black level) +- ``3,1``: In each chassis, 3 routers are connected together with a single link + (green level) +- ``2``: Each router has two nodes attached (single link) + +.. image:: ../../examples/platforms/cluster_dragonfly.svg + :align: center .. literalinclude:: ../../examples/platforms/cluster_dragonfly.xml :language: xml -.. todo:: - - Add the image, and the documuentation of the topo_parameters. - Final Word .......... @@ -479,10 +497,16 @@ Use the EP benchmark, class B, 16 processes. Further Readings ---------------- -We regularly use SimGrid in our teachings on MPI. This way, our -student can experiment with platforms that they do not have access to, -and the associated visualisation tools helps them to understand their -work. The whole material is available online, in a separate project: -the `SMPI CourseWare `_. +You may also be interested in the `SMPI reference article +`_ or these `introductory slides +`_. The `SMPI +reference documentation `_ covers much more content than +this short tutorial. + +Finally, we regularly use SimGrid in our teachings on MPI. This way, +our student can experiment with platforms that they do not have access +to, and the associated visualisation tools helps them to understand +their work. The whole material is available online, in a separate +project: the `SMPI CourseWare `_. .. LocalWords: SimGrid