X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/934b99618c47f4cb4b0761aa80a8147672108f58..a2e7d98dd710e1f0454a210a7cc7afb90a375233:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 933eb36256..7ea54efe26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,19 +2,101 @@ SimGrid (3.26.1) NOT RELEASED YET (v3.27 expected March 20. 2021, 09:37 UTC) -User-visible changes: +Main user-visible changes: + - All functions marked as deprecated since one year were removed. + - Removed all that was related to the "Storage" type in all APIs and bindings. + "Disks" have been introduced more than a year ago to replace them for the better. + It's time to finish this replacement. + - SMPI ABI break from previous version: MPI global handles (predefined datatypes, + ops, COMM_WORLD) are now defined differently, and can be used in initializers, + avoiding "initializer element is not constant" errors with some codes. Please be + careful to recompile your MPI codes if switching to this new SimGrid version. + - Network model ns-3 now requires version ns-3.28 or higher. - Removed some option aliases that were deprecated since v3.23 (June 2019) - 'verbose-exit' is now 'debug/verbose-exit' - 'simix/breakpoint' is now 'debug/breakpoint' - 'clean-atexit' is now 'debug/clean-atexit' S4U: -- Define new template functions Mailbox::get_unique(), returning a std::unique_ptr. -- Functions Mailbox::get() and Mailbox::get_async() are now templated with the - type of the pointee. Untyped functions are deprecated. Use Mailbox::get() - or Mailbox::get_async() if you really want to play with void*. -- Unify the interface of Activity::on_{start/activity} -- New function: Comm::get_dst_data() + - New functions: Comm::sendto_{init,async} to initiate a communication + on between two (possibly remote) hosts. + - Define new template functions Mailbox::get_unique(), returning a std::unique_ptr. + - Functions Mailbox::get() and Mailbox::get_async() are now templated with the + type of the pointee. Untyped functions are deprecated. Use Mailbox::get() + or Mailbox::get_async() if you really want to play with void*. + - Unify the interface of Activity::on_{start/activity} + - New function: Comm::get_dst_data() + - New function: Comm::set_payload_size() to set the amount of bytes to simulate. + +Models: + - ptask should now work better with multicore hosts (FG#37). + - Internal cleanups and refactoring around activities, to prepare for SimDAG++. + - Internal cleanups and refactoring around models, to prepare for programmatic + platform creation. + - Modernize our tests of the performance models + +Documentation: + - User manual: + - New section: Configuring the logs from the command line. + - New section: Programming API of logs. + - New section: Getting realistic results + - New section: Examples of SMPI Usage + - New part: SimGrid's Internals, with a section on Design goals + - Move back to the classical Breathe tool chain, and fix many small glitches. + +SMPI: + - Handle leak checking: SMPI will now display a message if MPI handles are still + present at the end of a simulation. Option smpi/list-leaks:n will display the n + first leaked pointers and their types. + - smpi/display-allocs option : Display Memory allocations analysis, with hints + about the largest allocations. This only works for allocations with malloc/calloc + and not compiled with SMPI_NO_OVERRIDE_MALLOC + - "-analyze" option in smpirun will activate smpi/display-allocs and smpi/display-timing + - New implemented MPI calls: MPI_File_set_size, MPI_Aint_add, MPI_Aint_diff, + MPI_Type_get_extent_x, MPI_Type_get_true_extent_x, MPI_Status_set_elements_x + - Support for MPI C++ datatypes (MPI_CXX_BOOL, MPI_CXX_FLOAT_COMPLEX, + MPI_CXX_DOUBLE_COMPLEX, MPI_CXX_LONG_DOUBLE_COMPLEX) + - Replay now opens and parses the trace file only once for all ranks when possible. + - Misc fixes: + - better handling of MPI_PROC_NULL + - MPI_Group_incl was broken in some cases + - PAPI tracing now fixed + - MPI_Errhandlers are properly handled for MPI_COMM_WORLD + - SMPI will now fail properly when receive size < sent size, instead of + just setting MPI_ERR_TRUNCATE and keep going. + - Proxy Apps ( https://framagit.org/simgrid/SMPI-proxy-apps ): + - Remove useless build patches and split build/run patches on the page + - Build in parallel when possible + - Test on yum-based systems + - New nightly tested Proxy-apps: + - OpenMPI mpi-test-suite + - Coral MCB, LSMS, Qbox, CLOMP + - ECP/Mantevo Cloverleaf3D, Ember + - Codevault bhtree_mpi + +Model checker: + - Only initialize the Dwarf parser when needed, saving 10 seconds in most cases. + - Start to overhaul the implementation to modernize it (still ongoing). + +XBT: + - Drop simgrid::xbt::demangle(). Please use boost::core::demangle() instead. + - Drop xbt_dynar_cursor_rm(), xbt_dynar_search_or_negative(), + xbt_str_split_quoted(), xbt_str_split_quoted_in_place(). + - Deprecate xbt_dynar_to_array(). + - When an exception occurs in kernel mode, display both the actor and kernel stacks. + +C binding and interface: + - Rename (lowercase) functions sg_actor_get_PID, sg_actor_get_PPID, sg_actor_by_PID. + - Constness requirement has been lowered for parameter argv of sg_actor_start() + and sg_actor_create() It's now (char* const*). The previous version is still + available as sg_actor_start_() and sg_actor_create_(). + +Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests) + (FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub) + - FG#37: Parallel tasks are limited to 1 core per host + - FG#62: Running "smpirun -replay" on large networks + - FG!46: Fix a few potential memory leaks in SMPI colls + - GH#343: Wrong consumed energy when an exec timeouts ---------------------------------------------------------------------------- @@ -182,7 +264,7 @@ SMPI: allocations' size above which they are considered "shared" by default (as if they were performed through SMPI_SHARED_MALLOC macros). Default = 0 = disabled feature. - Note : malloc, calloc and free are now overriden by smpicc/cxx by default. + Note : malloc, calloc and free are now overridden by smpicc/cxx by default. This can cause some troubles if codes are already overriding these. If this is the case, defining SMPI_NO_OVERRIDE_MALLOC in the compilation flags can help, but will make this feature unusable.