Augustin Degomme [Mon, 23 Aug 2021 16:53:55 +0000 (18:53 +0200)]
please clang14
SUTER Frederic [Mon, 23 Aug 2021 15:41:21 +0000 (17:41 +0200)]
Remote Exec should not survive to a host failure
Arnaud Giersch [Thu, 19 Aug 2021 05:43:45 +0000 (07:43 +0200)]
[ci-skip] oops++
Arnaud Giersch [Tue, 17 Aug 2021 20:29:40 +0000 (22:29 +0200)]
Initialize pointers with a known invalid (out-of-bound) value.
Arnaud Giersch [Wed, 18 Aug 2021 19:49:57 +0000 (21:49 +0200)]
Factorize code, reindent, etc.
Arnaud Giersch [Wed, 18 Aug 2021 19:36:50 +0000 (21:36 +0200)]
Prefer to use Mailbox::get_unique.
Arnaud Giersch [Wed, 18 Aug 2021 15:57:22 +0000 (17:57 +0200)]
Cosmetics for sonar&co.
Bruno Donassolo [Wed, 18 Aug 2021 14:50:52 +0000 (16:50 +0200)]
Improving doc and changelog
Arnaud Giersch [Tue, 17 Aug 2021 19:01:54 +0000 (21:01 +0200)]
Pleases somewhat codefactor.io, lgtm, and pvs-studio.
Bruno Donassolo [Tue, 17 Aug 2021 14:29:20 +0000 (16:29 +0200)]
Fix fedora:rawhide, actor name forgotten
Bruno Donassolo [Tue, 17 Aug 2021 10:30:23 +0000 (12:30 +0200)]
Please sonar a little
Bruno Donassolo [Mon, 16 Aug 2021 15:27:29 +0000 (17:27 +0200)]
Python: example CPU nonlinear
Bruno Donassolo [Mon, 16 Aug 2021 14:09:58 +0000 (16:09 +0200)]
Python: an example with disks
SUTER Frederic [Mon, 16 Aug 2021 18:09:42 +0000 (20:09 +0200)]
modernize SIMIX_comm_set_copy_data_callback
Arnaud Giersch [Mon, 16 Aug 2021 12:38:29 +0000 (14:38 +0200)]
Try to make linking succeed with mingw64 (appveyor).
Arnaud Giersch [Mon, 16 Aug 2021 12:29:42 +0000 (14:29 +0200)]
Add some words about known problem with ns3 on Debian 11/Bullseye.
Bruno Donassolo [Mon, 16 Aug 2021 09:54:45 +0000 (11:54 +0200)]
Fix memleak in teshsuite test
Bruno Donassolo [Fri, 13 Aug 2021 17:05:21 +0000 (19:05 +0200)]
Potpourri of python bindings (disk, host, netzone)
Add several methods to python bindings.
Add a test mixing them.
Bruno Donassolo [Wed, 11 Aug 2021 17:37:40 +0000 (19:37 +0200)]
Python: complex cluster example
Adds examples of fat-tree, dragonfly and torus cluster using python
bindinds.
New python bindings have been added.
Bruno Donassolo [Wed, 11 Aug 2021 17:37:22 +0000 (19:37 +0200)]
Python network-nonlinear example
Implement network-nonlinear using python bindings.
Add bindings support for many methods (Link, NetZone, etc), hovewer not fully covered.
Martin Quinson [Thu, 12 Aug 2021 15:56:34 +0000 (17:56 +0200)]
https://framagit.org/simgrid/simgrid/-/issues/77 is fixed
Martin Quinson [Thu, 12 Aug 2021 15:28:05 +0000 (17:28 +0200)]
Update RTD sphinx theme version to v0.5.2
This is an attempt at https://framagit.org/simgrid/simgrid/-/issues/77
Augustin Degomme [Thu, 12 Aug 2021 14:18:54 +0000 (16:18 +0200)]
changelog update
Augustin Degomme [Thu, 12 Aug 2021 14:18:47 +0000 (16:18 +0200)]
SMPI - Allow the use of ISP tests without MC activated (for the ones without errors)
Augustin Degomme [Tue, 10 Aug 2021 15:06:12 +0000 (17:06 +0200)]
[ci-skip] sonar - oops
Augustin Degomme [Tue, 10 Aug 2021 10:46:27 +0000 (12:46 +0200)]
fix potential leak in replay, as a temporary buffer may be created and never freed.
This was seen with a reduce scatter collective from mpich, which creates derived datatypes internally.
Augustin Degomme [Tue, 10 Aug 2021 10:45:47 +0000 (12:45 +0200)]
somehow the wrong tag was used for these colls.
Augustin Degomme [Tue, 10 Aug 2021 10:45:28 +0000 (12:45 +0200)]
exclude this file from scan-build and sonar analysis, as the uninitialized value is intentional
Bruno Donassolo [Tue, 10 Aug 2021 09:07:10 +0000 (11:07 +0200)]
Fix factor callback type
Bruno Donassolo [Mon, 9 Aug 2021 13:46:24 +0000 (15:46 +0200)]
CPU factors: dynamic factors for CPU
- Allows the use of user's callback to change the speed at the
update_remaining.
- Add a simple example.
- Minor improv. for disk
- Update changelog
- Available only for Cas01 (not ptask or TI)
Bruno Donassolo [Fri, 6 Aug 2021 18:36:27 +0000 (20:36 +0200)]
Add test for multicore speed/state file
Bruno Donassolo [Fri, 6 Aug 2021 13:44:58 +0000 (15:44 +0200)]
Reworking user_bound for Exec actions.
Avoid using directly surf_action->set_bound to modify action's bound.
Actual bound is defined by CPU model, for cas01 is the min of:
- user's bound
- requested_core*speed*scale.
Explicitly deny the use of user_bound_ for ptask and cpuTI. We need
proper tests to verify their behavior.
Bruno Donassolo [Thu, 5 Aug 2021 13:43:30 +0000 (15:43 +0200)]
Remove old fixme
These fixmes was necessary to implement multi-models.
By now, we stick with only 1 model.
Bruno Donassolo [Thu, 5 Aug 2021 13:40:16 +0000 (15:40 +0200)]
Add interface to create Profile
Allows the use of speed/state profiles by C++ interface.
Augustin Degomme [Sat, 7 Aug 2021 23:56:20 +0000 (01:56 +0200)]
So Intel compiler is now detected as IntelLLVM and no longer as Clang12.
Augustin Degomme [Sat, 7 Aug 2021 23:08:25 +0000 (01:08 +0200)]
This test actually needs uninitialized values for some ranks, silence clang warning
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