Augustin Degomme [Sat, 7 Aug 2021 23:07:56 +0000 (01:07 +0200)]
rename test, to avoid multiple files with same name
Augustin Degomme [Sat, 7 Aug 2021 22:29:14 +0000 (00:29 +0200)]
Add a new ti-tracing/replay test (in teshsuite) to improve coverage.
It tests all collectives, generates a trace, then replays it while tracing again, and checks that both traces are identical.
Augustin Degomme [Sat, 7 Aug 2021 21:56:19 +0000 (23:56 +0200)]
try to have reduce_scatter output identically on re-tracing
ugly.
Augustin Degomme [Sat, 7 Aug 2021 21:38:35 +0000 (23:38 +0200)]
allow smpi/init option in replay as well.
Augustin Degomme [Sat, 7 Aug 2021 19:49:05 +0000 (21:49 +0200)]
oops, maxsize was needed here.
Augustin Degomme [Sat, 7 Aug 2021 18:38:13 +0000 (20:38 +0200)]
replay : add actions scan and exscan
Augustin Degomme [Sat, 7 Aug 2021 17:28:23 +0000 (19:28 +0200)]
multiple fixes for replay
in case of MPI_IN_PLACE or non relevant parameters, we could output nonsense to the ti trace
Augustin Degomme [Sat, 7 Aug 2021 17:25:23 +0000 (19:25 +0200)]
fix issues in replay of scatter and scatterv
Augustin Degomme [Sat, 7 Aug 2021 12:55:11 +0000 (14:55 +0200)]
secure collectives against some allowed uninitialized variables
Augustin Degomme [Sat, 7 Aug 2021 12:00:31 +0000 (14:00 +0200)]
ensure alltoallv tracing/replay/tracing again is coherent.
Augustin Degomme [Fri, 6 Aug 2021 21:30:58 +0000 (23:30 +0200)]
previous ti-tracing improvement for bcast and reduce was not a good idea.
these are already ranks.
Augustin Degomme [Fri, 6 Aug 2021 16:47:12 +0000 (18:47 +0200)]
switch from pid to rank for ti-tracing the wait action
It was not working well before and was leading to discrepancies and impossible to replay traces.
Augustin Degomme [Fri, 6 Aug 2021 13:00:40 +0000 (15:00 +0200)]
Other fix for #78 : Fortran logical and MPI_LOGICAL are actually 32 bits wide, not 8, and should not be mapped to MPI_C_BOOL but to MPI_INTEGER32 internally.
Because why not.
Augustin Degomme [Thu, 5 Aug 2021 23:19:59 +0000 (01:19 +0200)]
requalify tesh.
We removed a sleep(0), so another process finishes.
Augustin Degomme [Thu, 5 Aug 2021 23:12:27 +0000 (01:12 +0200)]
replay: small changes to avoid discrepencies when tracing the replay itself
Augustin Degomme [Thu, 5 Aug 2021 15:23:16 +0000 (17:23 +0200)]
allow the use of cfg=smpi/finalization-barrier for replay as well.
In some cases, some processes might try to leave a bit too early, this has to be investigated.
Augustin Degomme [Thu, 5 Aug 2021 15:04:53 +0000 (17:04 +0200)]
improve iterations to fill vectors
(probably not very useful)
Augustin Degomme [Thu, 5 Aug 2021 14:48:02 +0000 (16:48 +0200)]
kill is_replayable() for datatypes.
It was useless since we've been encoding/decoding all datatypes for a long time now.
This could break ancient TI traces handling, but I'm really not sure of this actually, and it was causing issues.
We need more testing on TI traces and replay :\
Augustin Degomme [Thu, 5 Aug 2021 11:09:33 +0000 (13:09 +0200)]
Fix for fg #78 : allotallv/w tracing was reporting wrong size in some cases for replayable traces.
Arnaud Giersch [Wed, 4 Aug 2021 08:51:37 +0000 (10:51 +0200)]
Latest stable (2.7.1) of pybind11 fixed issue with mingw64.
Ref. https://framagit.org/simgrid/simgrid/-/issues/76
Bruno Donassolo [Mon, 2 Aug 2021 08:32:42 +0000 (10:32 +0200)]
Sonar and minor improv in doc
Arnaud Legrand [Sat, 31 Jul 2021 06:09:39 +0000 (06:09 +0000)]
Update README.md
Bruno Donassolo [Fri, 16 Jul 2021 15:54:53 +0000 (17:54 +0200)]
Modeling hints: I/O operations
Adds an example showing how to model I/O operation in SimGrid.
It uses data from real experiments on Grid'5000 to model the impact of
concurrent operation on disks and the variability/noise in single I/O
operations.
Adds an entry in the doc presenting the results.
The code is available at: docs/source/tuto_disk.
The rst file was generated from the analysis.org file.
The folder includes a dockerfile to rerun the experiment if needed.
Bruno Donassolo [Wed, 28 Jul 2021 13:49:06 +0000 (15:49 +0200)]
Fix NetworkCm02Link::set_bandwidth.
Fix penalty update when some communication is happening in the link.
Add test for set_bandwidth and set_latency.
Bruno Donassolo [Tue, 27 Jul 2021 19:09:30 +0000 (21:09 +0200)]
Oops, forgotten files
Bruno Donassolo [Tue, 27 Jul 2021 18:53:35 +0000 (20:53 +0200)]
Fix set_read_bandwidth and set_write_bandwidth for disks
- Remove update_penalty method. Disk actions either are suspended or
running, this is managed by the Action class already.
- Only updating the constraint value seems enough for set_bandwidth
functions.
- Add a teshsuite for it
Bruno Donassolo [Tue, 27 Jul 2021 12:27:10 +0000 (14:27 +0200)]
Create Disk::set_readwrite_bandwidth
Allow user to change readwrite constraint bound
Bruno Donassolo [Tue, 27 Jul 2021 08:23:30 +0000 (10:23 +0200)]
I/O factors: noise for disks.
Implements variability in disk operations.
Similarly to network factors, the effective amount of bytes read/written
in disk operations is scaled by a factor defined by the user.
Users can define a different callback for each disk. The callback is
called when SimGrid updates the remaining amount of bytes in disk
operations.
Arnaud Legrand [Fri, 30 Jul 2021 12:43:19 +0000 (12:43 +0000)]
Update README.md
Arnaud Giersch [Wed, 28 Jul 2021 12:48:24 +0000 (12:48 +0000)]
Merge branch 'doc_link' into 'master'
Fix broken link to releases in doc
See merge request simgrid/simgrid!68
Julien EMMANUEL [Wed, 28 Jul 2021 11:24:33 +0000 (13:24 +0200)]
Fix broken link to releases
Thanks Mael for reporting this one
SUTER Frederic [Fri, 23 Jul 2021 16:12:41 +0000 (18:12 +0200)]
Make the plugin usable within a SMPI simulation
SUTER Frederic [Fri, 23 Jul 2021 12:56:38 +0000 (14:56 +0200)]
simplify
Arnaud Giersch [Fri, 23 Jul 2021 09:23:59 +0000 (11:23 +0200)]
Fix a fixme (kill dead code).
MPI_UNIVERSE_SIZE is already handled as a special case in PMPI_Attr_get.
Arnaud Giersch [Fri, 23 Jul 2021 08:44:27 +0000 (10:44 +0200)]
Define a macro for debug messages.
SUTER Frederic [Fri, 23 Jul 2021 09:25:09 +0000 (11:25 +0200)]
Enable setting a specific data copy callback to any comm
This is becoming mandatory if one has the silly idea to mix SMPI
communications and S4U communications within the same simulation
launched with smpirun.
smpirun sets its own callback for ALL comms in smpi_main and thus
consider that averything is a SMPI communication. If you need to
trick SMPI to have S4U comms on the side, you thus have to
override this callback:
Sender side:
mbox->put_init(payload, size)
->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
->detach(); // or start/vetoable_start/wait
Receiver side:
mbox->get_init()
->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*))
->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
->wait(); // or start/vetoable_start
Arnaud Giersch [Wed, 21 Jul 2021 14:16:50 +0000 (16:16 +0200)]
Factor common code.
Arnaud Giersch [Wed, 21 Jul 2021 13:23:24 +0000 (15:23 +0200)]
Sonar smells.
Arnaud Giersch [Wed, 21 Jul 2021 13:21:47 +0000 (15:21 +0200)]
Use workaround only for versions of libdw known to be broken.
Arnaud Giersch [Wed, 21 Jul 2021 13:08:39 +0000 (15:08 +0200)]
Use if(false) to comment debugging code, and be sure that it always compiles.
Arnaud Giersch [Tue, 20 Jul 2021 14:13:46 +0000 (16:13 +0200)]
We don't use Travis anymore.
Git can be used to recover these files if they're needed in the future.
Arnaud Giersch [Tue, 20 Jul 2021 14:02:22 +0000 (16:02 +0200)]
We don't use Codacy anymore.
Arnaud Giersch [Tue, 20 Jul 2021 14:01:43 +0000 (16:01 +0200)]
Dist check.
Arnaud Giersch [Tue, 20 Jul 2021 09:23:30 +0000 (11:23 +0200)]
Typo.
Arnaud Giersch [Mon, 19 Jul 2021 21:12:51 +0000 (23:12 +0200)]
[lgtm] Fix unreachable statement.
Arnaud Giersch [Mon, 19 Jul 2021 20:56:54 +0000 (22:56 +0200)]
[pvs-studio] Protect from self assignment.
Arnaud Giersch [Mon, 19 Jul 2021 20:25:38 +0000 (22:25 +0200)]
[pvs-studio] Make it clear that free'd pointers are not used anymore.
Arnaud Giersch [Mon, 19 Jul 2021 19:52:21 +0000 (21:52 +0200)]
[sonar] Less implicit casts.
Arnaud Giersch [Mon, 19 Jul 2021 13:33:27 +0000 (15:33 +0200)]
[pvs-studio] Don't mix initialized and non-initialized fields.
Also factorize code, and fix a few untested bugs (hoping not to introduce new ones).
Arnaud Giersch [Mon, 19 Jul 2021 13:27:12 +0000 (15:27 +0200)]
[pvs-studio] Initialize every members of class.
Arnaud Giersch [Mon, 19 Jul 2021 12:46:50 +0000 (14:46 +0200)]
[pvs-studio] Avoid implicit cast from bool to target datatype.
Arnaud Giersch [Mon, 19 Jul 2021 12:20:12 +0000 (14:20 +0200)]
[pvs-studio] Disable V576.
V576 is: Incorrect format. Consider checking the N actual argument of the 'Foo' function.
Gives bogus warnings with e.g. PRIx64, and is already checked by compiler and other static analyzers.
Arnaud Giersch [Mon, 19 Jul 2021 13:06:25 +0000 (15:06 +0200)]
[pvs-studio] Simplify boolean expressions.
Arnaud Giersch [Mon, 19 Jul 2021 11:16:40 +0000 (13:16 +0200)]
[pvs-studio] No need to assign variable the same value.
Arnaud Giersch [Mon, 19 Jul 2021 08:42:38 +0000 (10:42 +0200)]
Fix crashes with recent versions of pybind11.
This is the first point from issue simgrid/simgrid#76.
Martin Quinson [Sun, 18 Jul 2021 17:43:39 +0000 (19:43 +0200)]
fix MC tests
Martin Quinson [Sun, 18 Jul 2021 17:16:12 +0000 (19:16 +0200)]
typo and cosmetics in error messages
Arnaud Giersch [Sat, 17 Jul 2021 15:54:20 +0000 (17:54 +0200)]
Fix xbt_parse_get_all_speeds(), and add some unit tests.
Fix failure to parse e.g. "1f,2f".
Arnaud Giersch [Fri, 16 Jul 2021 20:20:26 +0000 (22:20 +0200)]
[appveyor] Stick to latest working version of pybind11.
See https://framagit.org/simgrid/simgrid/-/issues/76 for details.
Augustin Degomme [Fri, 16 Jul 2021 15:06:05 +0000 (17:06 +0200)]
[ci-skip] add colors to mattermost notifications
Arnaud Giersch [Fri, 16 Jul 2021 14:22:05 +0000 (16:22 +0200)]
Create a .lgtm.yml file to configure LGTM analysis.
See https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
I will be extended further if it works.
Arnaud Giersch [Fri, 16 Jul 2021 13:38:38 +0000 (15:38 +0200)]
[lgtm] Ensure that the type casting is done before multiplication to prevent overflow.
Arnaud Giersch [Fri, 16 Jul 2021 12:28:55 +0000 (14:28 +0200)]
Missing ChangeLog entry (+ cosmetics) [ci-skip].
Bruno Donassolo [Fri, 16 Jul 2021 09:11:31 +0000 (11:11 +0200)]
The next day sonar commit
Arnaud Giersch [Fri, 16 Jul 2021 07:25:53 +0000 (09:25 +0200)]
Merge remote-tracking branch 'github/master'
Martin Quinson [Thu, 15 Jul 2021 19:22:51 +0000 (21:22 +0200)]
MC: warn the users when reaching max-depth with DPOR
adegomme [Thu, 15 Jul 2021 17:51:55 +0000 (19:51 +0200)]
Github Action : add mattermost notification (#377)
* try to notify mattermost on jarfile creation
* test2
* test3
* more error messages
* actually send the message on build failure
Bruno Donassolo [Thu, 15 Jul 2021 09:27:08 +0000 (11:27 +0200)]
ChangeLog for non-linear resource sharing
Bruno Donassolo [Tue, 13 Jul 2021 15:28:07 +0000 (17:28 +0200)]
Host: non-linear constraints
Allows the use of non-linear constraints for CPU resources.
Add API in s4u::Host::set_sharing_policy
- LINEAR(default, shared resources) or NONLINEAR
Example: examples/cpp/exec-cpu-nonlinear
Bruno Donassolo [Tue, 6 Jul 2021 09:50:15 +0000 (11:50 +0200)]
s4u::Link: avoid set_sharing_policy==WIFI
Implements sharing policy for split-duplex links.
Replicate config for each up/down link
Bruno Donassolo [Mon, 5 Jul 2021 12:36:12 +0000 (14:36 +0200)]
Link: Non-linear constraints
Add non-linear constraints to links.
Similar to disks, user can use a callback to dynamically change the
link's capacity based on the number of flows sharing it.
Only traffic explicit generated by the user is considered as active
flow, so cross-traffic communications aren't taken into account.
Extend s4u::Link::sharing_policy
- New type: NONLINEAR
Example: examples/cpp/network-nonlinear/
Bruno Donassolo [Thu, 10 Jun 2021 16:31:38 +0000 (18:31 +0200)]
Disk: Non-linear contraints
Users can now define a callback to set the capacity of the resource
during the system solve. The callback receives the current capacity and
number of activities/flows currently sharing the resource.
The capacity is defined once at the beginning of the system solve.
- Disk:
- Add API to set sharing_policy by type: read/write/read-write
- Example: io-degradation: simulates the degradation in read/write
operation on disks.
Augustin Degomme [Thu, 15 Jul 2021 09:29:23 +0000 (09:29 +0000)]
Merge branch 'fix-smpi-install-dirs' into 'master'
cmake: fix smpi install dirs (absolute arg)
See merge request simgrid/simgrid!67
Millian Poquet [Thu, 15 Jul 2021 09:09:09 +0000 (11:09 +0200)]
cmake: fix smpi install dirs (absolute arg)
Previous code assumed that the following variables were relative paths
- CMAKE_INSTALL_INCLUDEDIR
- CMAKE_INSTALL_LIBDIR
However, using absolute paths there is totally legal in CMake,
and doing so broke installed paths in smpicc/smpicxx.
Fix uses the CMAKE_INSTALL_FULL_<dir> variant instead,
which should work in this case and generally be more robust.
FULL variants exist since at least cmake-3.0.0 so it should be available
everywhere (cmake-3.0.0 was released on June 2014).
References:
- https://cmake.org/cmake/help/latest/command/install.html
- https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
Martin Quinson [Thu, 15 Jul 2021 00:28:39 +0000 (02:28 +0200)]
doc: Add some recent release notes as a lighthouse to the recent developments
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Define macro XBT_ATTRIB_DEPRECATED_v333.
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Remove deprecated features for next release (3.29).
Martin Quinson [Wed, 14 Jul 2021 19:17:31 +0000 (21:17 +0200)]
Start the dev of the 3.29 cycle
Martin Quinson [Wed, 14 Jul 2021 17:28:01 +0000 (19:28 +0200)]
Post-release NEWS improvement
Martin Quinson [Wed, 14 Jul 2021 10:29:59 +0000 (12:29 +0200)]
forgot to update the python package version number
Arnaud Giersch [Wed, 14 Jul 2021 14:18:02 +0000 (16:18 +0200)]
Netzone::get_children() is actually not deprecated.
Move its declaration outside of #ifndef DOXYGEN.
Arnaud Giersch [Wed, 14 Jul 2021 12:34:23 +0000 (14:34 +0200)]
Typos.
Martin Quinson [Wed, 14 Jul 2021 09:02:11 +0000 (11:02 +0200)]
Release v3.28
Martin Quinson [Wed, 14 Jul 2021 00:40:42 +0000 (02:40 +0200)]
Fix make distcheck
Martin Quinson [Wed, 14 Jul 2021 00:36:06 +0000 (02:36 +0200)]
doc: Fix a subtle formatting error that is not reported by tools
Martin Quinson [Wed, 14 Jul 2021 00:23:13 +0000 (02:23 +0200)]
Small improvements to the changelog and doc
I think the changelog is now complete
Martin Quinson [Tue, 13 Jul 2021 23:26:49 +0000 (01:26 +0200)]
proposal for a NEWS file for the upcoming release
Martin Quinson [Tue, 13 Jul 2021 23:26:32 +0000 (01:26 +0200)]
try to further improve docs/find-missing
Martin Quinson [Tue, 13 Jul 2021 23:25:57 +0000 (01:25 +0200)]
Remove useless includes from the public headers
Martin Quinson [Tue, 13 Jul 2021 01:01:38 +0000 (03:01 +0200)]
doc: praise for 'discovery reports' as a way to contribute back to the project
also, reword and shorten some other sections in the same file
Martin Quinson [Sat, 10 Jul 2021 09:13:15 +0000 (11:13 +0200)]
remove 2 files with no useful content to scavenge from the old doc
Martin Quinson [Sat, 10 Jul 2021 09:06:39 +0000 (11:06 +0200)]
Hide some deprecated symbols from doxygen
Martin Quinson [Sat, 10 Jul 2021 08:54:28 +0000 (10:54 +0200)]
port find-missing.ignore from autodoxy to breathe
Arnaud Giersch [Tue, 13 Jul 2021 14:03:41 +0000 (16:03 +0200)]
Use == for string comparison [ci-skip].
Arnaud Giersch [Tue, 13 Jul 2021 10:33:03 +0000 (12:33 +0200)]
Simplify, and avoid nested SmpiBenchGuard when rastro_resolution is called by rastro_timestamp.
Arnaud Giersch [Mon, 12 Jul 2021 14:04:59 +0000 (16:04 +0200)]
[sonar] Less implicit conversions.
Bruno Donassolo [Sat, 10 Jul 2021 16:49:48 +0000 (18:49 +0200)]
Add network factors in changelog
Martin Quinson [Fri, 9 Jul 2021 23:38:13 +0000 (01:38 +0200)]
doc: fix an issue spotted by find-missing.py
Martin Quinson [Fri, 9 Jul 2021 23:26:52 +0000 (01:26 +0200)]
docs: properly report typedefs that are missing in the doc
Martin Quinson [Fri, 9 Jul 2021 23:13:38 +0000 (01:13 +0200)]
Adapt docs/find-missing to breathe now that autodoxy is gone