+ SMPI
+ * Call-location tracing for SMPI.
+ You can add the exact location (filename / linenumber) of an MPI call to
+ your trace files and slow down or speed up the simulation between two
+ consecutive calls by using an adjustment file. (See the documentation.)
+
+ * Fixed computation of timings for MPI_Send, MPI_Recv but possibly also others
+ We've found a bug that prevented SMPI to account for MPI_Send, MPI_Recv
+ and others (in some cases) in a correct way. That is, the smpi/os, smpi/or
+ values were ignored in some cases. The timings of these functions can now
+ be significantly different.
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.13) stable; urgency=low
+
+ The Half Release, a.k.a. the Zealous Easter Trim.
+
+ - We removed half of the lines, that were mostly experimental cruft.
+ v3.12 lasted 286000 lines of code, v3.13 is only 142000 lines
+ (not counting blanks and comments -- according to openhub.net)
+ - The internals are now compiled in C++ (and will soon be clean C++)
+ - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake,
+ 59 klines of C, etc. We added only 29 klines of C++ in replacement.
+
+ * Backwards Compatibility breaks
+ - Removed Lua simulation bindings (switch to C or Java for that).
+ Lua can still be used to describe platforms
+ - Removed Java kernel plug-ins.
+ Will be reintroduced after the ongoing major internals reorg.
+ - In MSG
+ - the following functions were removed.
+ They were too specific and should be reimplemented in a generic
+ way, with filter function.
+ - MSG_task_listen_from_host
+ - MSG_mailbox_get_count_host_waiting_tasks
+ - MSG_mailbox_put_with_timeout was removed.
+ Please use MSG_task_send_with_timeout instead.
+ - In SimDag
+ - the SD_application_reinit function was removed. It has been a noop for a while.
+ - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be
+ replaced by a more flexible mechanism.
+ - The following functions thus do not exist anymore
+ - SD_workstation_get_access_mode
+ - SD_workstation_set_access_mode
+ - SD_workstation_get_current_task
+ - Basic estimation functions have been removed but can easily be replaced
+ - SD_route_get_communication_time => SG_route_get_latency() + amount / SD_route_get_bandwidth()
+ - SD_workstation_get_computation_time => amount / sg_host_speed()
+ - In Java
+ - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics.
+ Use VM.getSpeed()*load/100 for the legacy behavior.
+ - In CMake
+ - option enable_tracing was removed. It was not doing anything for a while.
+ - In the ModelChecker:
+ - the model-checker now ptraces the model-checked process which means
+ you cannot use a debugger on the latter anymore (we might make this
+ optional in the feature);
+ - removed soft-dirty page tracking;
+ - remove model-checked side snapshot management,
+ MC_snapshot() and MC_compare_snapshot();
+ - keep the MC_cut() function as a stub (it was not really working
+ in the previous release).
+
+ Options:
+ * All options are consistently in kebab-case. Old names are kept as alias.
+
+ XML platforms:
+ * Switch to platform v4 format.
+ - Rename from 'power' to 'speed' the attributes describing the amount of
+ flops that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
+ - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
+ - In <host> and <link>, attributes availability and state are gone.
+ It was redundent with state and availability traces, and with peak values.
+ - In <cluster>, attributes availability_file and state_file are gone.
+ It was too complex and unused.
+ - Kill <gpu>. Was not doing anything.
+ - The DOCTYPE points to the right URL:
+ http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
+ (the file at this address now documents the changelog since its v1)
+ - A warning is emitted for unit-less values (they are still accepted).
+ - speed. Default: 'f' or 'flops'. Also defined:
+ 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
+ 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
+ - bandwidth. Default: 'Bps' bytes per second (or 'bps' for bits but 1 Bps = 8 bps)
+ Also defined in bytes: 'TiBps', 'GiBps', 'MiBps', 'KiBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
+ And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
+ - latency. Default: 's' second. Also defined:
+ 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
+
+ * bin/simgrid_update_xml can upgrade your files automatically (won't convert unit-less values)
+ tools/sg_xml_unit_converter.py may help (but it's just a warning and will probably ever be).
+
+ S4U
+ * s4u::Host is now the preferred public interface to the Host features.
+ sg_host_* functions are C bindings to the exact same behavior
+ MSG_host_* and SD_workstation_* are #define to the sg_host_* ones
+
+ MSG
+ * The examples were completely reorganized (in C and Java), for your browsing pleasure.
+ * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED).
+ They were deprecated since a few years, and probably did not even compile anymore.
+
+ SimDag
+ * The API has been profoundly modified to directly use the core objects instead of redefining its own.
+ SD_Workstation_t and SD_link_t are now sg_host_t and sg_link_t respectively.
+ Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are
+ encouraged to update their codes. A list of the modified functions can be found at the end of
+ include/simgrid/simdag.h
+
+ Simix
+ * simgrid::simix::kernelImmediate() is the closure callback. It ensures that
+ the lambda or closure passed as a parameter will run in kernel mode.
+ All the callback functions should be rewritten to that interface at some point.
+
+ Surf
+ * Reorganizing and cleaning the internals all around the place.
+
+ SMPI
+ * Remove old default barrier/bcast buggy algorithms (see #18407)
+ * Various bug fixes to handle more codes
+ * Remove the need for the --foreground option of smpirun (it is still
+ accepted for backward compatibility).