cluster. The route from ``node-0.simgrid.org`` to ``node-1.simgrid.org``
counts 3 links: the private link of ``node-0.simgrid.org``, the backbone
and the private link of ``node-1.simgrid.org``.
cluster. The route from ``node-0.simgrid.org`` to ``node-1.simgrid.org``
counts 3 links: the private link of ``node-0.simgrid.org``, the backbone
and the private link of ``node-1.simgrid.org``.
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
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
Cray XC systems, described in paper
`Cray Cascade: A scalable HPC system based on a Dragonfly network <https://dl.acm.org/citation.cfm?id=2389136>`_.
Cray XC systems, described in paper
`Cray Cascade: A scalable HPC system based on a Dragonfly network <https://dl.acm.org/citation.cfm?id=2389136>`_.
For example, ``3,4 ; 3,2 ; 3,1 ; 2``:
- ``3,4``: There are 3 groups with 4 links between each (blue level).
For example, ``3,4 ; 3,2 ; 3,1 ; 2``:
- ``3,4``: There are 3 groups with 4 links between each (blue level).
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)
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)
All needed dependencies are already installed in this container
(SimGrid, the C/C++/Fortran compilers, make, pajeng and R). Vite being
only optional in this tutorial, it is not installed to reduce the
All needed dependencies are already installed in this container
(SimGrid, the C/C++/Fortran compilers, make, pajeng and R). Vite being
only optional in this tutorial, it is not installed to reduce the
The container also include the example platform files from the
previous section as well as the source code of the NAS Parallel
The container also include the example platform files from the
previous section as well as the source code of the NAS Parallel
cd simgrid-template-smpi/
If you struggle with the compilation, then you should double check
cd simgrid-template-smpi/
If you struggle with the compilation, then you should double check
Compiling the program is straightforward (double check your
:ref:`SimGrid installation <install>` if you get an error message):
.. code-block:: shell
Compiling the program is straightforward (double check your
:ref:`SimGrid installation <install>` if you get an error message):
.. code-block:: shell
$ smpirun -np 16 -platform cluster_crossbar.xml -hostfile cluster_hostfile ./roundtrip
- The ``-np 16`` option, just like in regular MPI, specifies the
$ smpirun -np 16 -platform cluster_crossbar.xml -hostfile cluster_hostfile ./roundtrip
- The ``-np 16`` option, just like in regular MPI, specifies the
- The ``-hostfile cluster_hostfile`` option, just like in regular
MPI, specifies the host file. If you omit this option, ``smpirun``
will deploy the application on the first machines of your platform.
- The ``-platform cluster_crossbar.xml`` option, **which doesn't exist
in regular MPI**, specifies the platform configuration to be
- The ``-hostfile cluster_hostfile`` option, just like in regular
MPI, specifies the host file. If you omit this option, ``smpirun``
will deploy the application on the first machines of your platform.
- The ``-platform cluster_crossbar.xml`` option, **which doesn't exist
in regular MPI**, specifies the platform configuration to be
- At the end of the line, one finds the executable name and
command-line arguments (if any -- roundtrip does not expect any arguments).
- At the end of the line, one finds the executable name and
command-line arguments (if any -- roundtrip does not expect any arguments).