.. code-block:: console
- $ # first connect to the running container
+ $ # Make sure the simgrid-tutorial directory can be read and written by the non-root user
+ $ sudo chown $UID:$GID ~/simgrid-tutorial
+ $ # Connect to the running container if needed
$ docker exec --user $UID:$GID -ti simgrid bash
$container) cp -r /source/simgrid-template-s4u.git/* /source/tutorial
$container) cd /source/tutorial
If you get an error stating that the simgrid module does not exist, you need to get a newer version of SimGrid.
You may want to take the tutorial from the docker to get the newest version.
-For a more "fancy" output, you can use simgrid-colorizer.
-
-.. code-block:: console
-
- # Run C++ code
- $ ./master-workers small_platform.xml master-workers_d.xml 2>&1 | simgrid-colorizer
-
- # Run Python code
- $ python master-workers.py small_platform.xml master-workers_d.xml 2>&1 | simgrid-colorizer
-
-If you installed SimGrid to a non-standard path, you may have to
-specify the full path to simgrid-colorizer on the above line, such as
-``/opt/simgrid/bin/simgrid-colorizer``. If you did not install it at all,
-you can find it in <simgrid_root_directory>/bin/colorize.
-
For a classical Gantt-Chart visualization, you can use `Vite
<http://vite.gforge.inria.fr/>`_ if you have it installed, as
follows. But do not spend too much time installing Vite, because there
.. note::
- If you use an older version of SimGrid (before v3.26), you should use
- ``--cfg=tracing/msg/process:yes`` instead of ``--cfg=tracing/actor:yes``.
-
If you want the full power to visualize SimGrid traces, you need
to use R. As a start, you can download this `starter script
<https://framagit.org/simgrid/simgrid/raw/master/docs/source/tuto_s4u/draw_gantt.R>`_
.. code-block:: cpp
for (int i = 0; i < tasks_count; i++) {
- std::string worker_rank = std::to_string(i % workers_count);
- std::string mailbox_name = std::string("worker-") + worker_rank;
+ std::string worker_rank = std::to_string(i % workers_count);
+ std::string mailbox_name = "worker-" + worker_rank;
simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name);
mailbox->put(...);
This tutorial is now terminated. You could keep reading the online documentation and
tutorials, or you could head up to the :ref:`example section <s4u_examples>` to read some code.
-.. todo::
-
- Things to improve in the future:
-
- - Propose equivalent exercises and skeleton in Java once we fix the Java binding.
-
.. |br| raw:: html
<br />