SimGrid (3.25.1) UNRELEASED (target: March 20 2020 or v3.26 on 3/26/20)
Important user-visible changes:
+ - SimGrid now requires a compiler with C++14 support.
+ Sibling projects should upgrade their FindSimgrid.cmake
- Surf precision default value is now 1e-9, instead of 1e-5. This was changed as
several users had difficult to understand issues when using high bandwidth or
small latency events. The new value was already the default for SMPI and
Options network/loopback-lat and network/loopback-bw have been added to adapt
these values if needed. Network and routing models already providing separate
loopbacks (clusters and such) are not impacted by this change.
+ - SMPI now adds 16 bytes of header to each message sent, in order to simulate
+ metadata that are added to each MPI message by MPI libraries (tag,
+ src/dest, and communicator information). This may change simulation times
+ for very small message sizes, but should be more realistic.
+
+New features:
+ - New routing 'WiFi' that makes it easier to specify a wifi network zone.
+ - New plugins: wifi_energy and link_load. See the associated examples.
+ - New examples: wifi networks, and communication suspend.
General:
- LTO is now enabled for Intel/clang compilers.
- LTO behavior on GCC can be parameterized using LTO_EXTRA_FLAG in cmake.
Setting it to "auto" will use all available cores, while setting it to n will
use n cores to speedup link step (usage: cmake -DLTO_EXTRA_FLAG=4).
+ - Remove obsolete option --cfg=contexts/parallel-threshold.
+ - Further improve the documentation.
+
+S4U:
+ - the on_exit() of each actor is also executed when the simulation deadlocks.
+ - New functions: s4u::Activity:: suspend(), resume() and is_suspended()
+ An example is provided for s4u::Comm but it should work with Exec and Io.
-C interface:
+SMPI:
+ - Update proxy apps coverage of new ECP apps: 60+ apps now tested nightly on
+ https://framagit.org/simgrid/SMPI-proxy-apps
+ - MPI/IO: supports names starting with "./"
+ - Fortran: many MPI/IO bindings, support for MPI_UB/LB, C MPI_INT/FLOAT/DOUBLE
+ datatypes.
+ - smpicc/cxx/ff/f90 now will actually perform definition checks at link time. When
+ building shared libraries, this may cause issues, so environment variable
+ SMPI_NO_UNDEFINED_CHECK can be added to disable this.
+
+C binding and interface:
+ - The return type of the sg_actor_on_exit() callbacks is now 'void'
+ (int value was previously ignored)
- Many MSG tests were converted to the new S4U's interface in C, that
was extended for that.
-Simix:
- - Remove obsolete option --cfg=contexts/parallel-threshold.
-
Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
(FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub)
- FG#41: Add sg_actor_create C interface
- FG#43: xbt::random needs some care
- FG#48: The Impossible Did Happen (yet again)
+ - FG#50: Suspending an actor executed at the current timestamp fails
+ - FG#54: How to suspend a comm?
- FG!24: Documentation and fix for xbt/random
- FG!35: Add a modeling hint for parallel links in doc
- FG!36: [xbt/random] Read/Write the state of the RNG
+ - FG!42: Link cumulated load plugin
+ - FG!44: Test condition variable wait_until+notify_all
- GF#18137: Allow different stack sizes?
- GH#128: Parallelization of simulation with --cfg=contexts/nthreads
- GH#139: Allow pthread creation in SMPI
- GH#336: Packet-level simulation using SMPI?
+ - GH#346: [SMPI] error while loading shared libraries: libsimgrid.so
- GH!337: Fix link_energy plugin for wifi platforms
- GH!339: Add Mailbox set_receiver method to python binding
+ - GH!344: Cast hugepages macros parameters to int64
----------------------------------------------------------------------------