Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agopedantic is now implied by -analyze
Augustin Degomme [Mon, 21 Mar 2022 20:18:49 +0000 (21:18 +0100)]
pedantic is now implied by -analyze

2 years agoChangelog update
Augustin Degomme [Mon, 21 Mar 2022 20:17:27 +0000 (21:17 +0100)]
Changelog update

2 years ago-analyze implies pedantic mode
Augustin Degomme [Mon, 21 Mar 2022 20:17:09 +0000 (21:17 +0100)]
-analyze implies pedantic mode

2 years agogive a (small and random) value of smpi/ois and smpi/os flags for mpich3 tests. Ratio...
Augustin Degomme [Mon, 21 Mar 2022 19:40:29 +0000 (20:40 +0100)]
give a (small and random) value of smpi/ois and smpi/os flags for mpich3 tests. Rationale is that it can speedup some tests a lot, as without it and async_small_thres, a lot a small messages can be sent at the same time in a loop, piling in the system and causing a lot of lag when lmm needs to handle all of these messages at once

2 years agoReturning a value from simcall_blocking's lambda is misleading.
Arnaud Giersch [Sat, 19 Mar 2022 22:20:40 +0000 (23:20 +0100)]
Returning a value from simcall_blocking's lambda is misleading.

The return value is in fact obtained from observer->get_result().

2 years agoCosmetics: coding-style.
Arnaud Giersch [Fri, 18 Mar 2022 13:26:23 +0000 (14:26 +0100)]
Cosmetics: coding-style.

[ci-skip]

2 years agoRevalidate the tesh of a MC test that has now less combinatorial explosion
Martin Quinson [Mon, 21 Mar 2022 00:05:13 +0000 (01:05 +0100)]
Revalidate the tesh of a MC test that has now less combinatorial explosion

This is the result of the optimization introduced in
c40f6bc2301d8b7039f7ced0cd40b2bf6e3879ed

2 years agoremove spurious barrier calls in comm creation and win creation.
Augustin Degomme [Sun, 20 Mar 2022 23:36:15 +0000 (00:36 +0100)]
remove spurious barrier calls in comm creation and win creation.
standard allows them but they are not mandatory I think (and slow down mc)

2 years agoResynchronize simgrid's MBI adapter from MBI project
Martin Quinson [Sun, 20 Mar 2022 23:20:44 +0000 (00:20 +0100)]
Resynchronize simgrid's MBI adapter from MBI project

2 years agoAdd the remaining MBI generators
Martin Quinson [Sun, 20 Mar 2022 23:11:43 +0000 (00:11 +0100)]
Add the remaining MBI generators

2 years agosmall sonar fixes
Martin Quinson [Sun, 20 Mar 2022 08:40:57 +0000 (09:40 +0100)]
small sonar fixes

2 years agoalso remove the master example from example syncho-mutex.py
Martin Quinson [Sun, 20 Mar 2022 08:24:25 +0000 (09:24 +0100)]
also remove the master example from example syncho-mutex.py

2 years agoHave MPI collectives display their root and MPI_Op to handle mismatches lazily
Augustin Degomme [Sun, 20 Mar 2022 23:15:01 +0000 (00:15 +0100)]
Have MPI collectives display their root and MPI_Op to handle mismatches lazily

2 years agoadd check for collectives, using check_collectives_ordering utility.
Augustin Degomme [Sun, 20 Mar 2022 20:41:55 +0000 (21:41 +0100)]
add check for collectives, using check_collectives_ordering utility.
maybe I missed some ..

2 years agoactivate pedantic mode for MBI
Augustin Degomme [Sun, 20 Mar 2022 20:41:08 +0000 (21:41 +0100)]
activate pedantic mode for MBI

2 years agomake pedantic not the default...
Augustin Degomme [Sun, 20 Mar 2022 20:40:53 +0000 (21:40 +0100)]
make pedantic not the default...

2 years agoSMPI: add utility to keep the order of collective calls performed by each process...
Augustin Degomme [Sun, 20 Mar 2022 20:40:34 +0000 (21:40 +0100)]
SMPI: add utility to keep the order of collective calls performed by each process MPI and validate that all processes do the same.
It's not activated by default, and needs --cfg=smpi/pedantic:true option, as it may store too much data in memory for now
For each comm we maintain a vector of encountered collective calls
Each process stores the amount of calls performed in each communicator
At each new one we compare the amount of calls to the size of the corresponding vector
if we are the first process, add the call to the list
if not, compare its name to the one at the corresponding place in the vector, and cry for help if it's not the same.
Kudos mquinson and MBI for the idea.

2 years agoadd finalizing state for smpi actor:
Augustin Degomme [Sun, 20 Mar 2022 13:01:45 +0000 (14:01 +0100)]
add finalizing state for smpi actor:
if finalization barrier is used, tag is now different, in order not to match against other MPI_Barrier that may be in the MPI code

2 years agoFail loudly when someone tries to use Actor::join() in MC (not implemented)
Martin Quinson [Sun, 20 Mar 2022 00:20:33 +0000 (01:20 +0100)]
Fail loudly when someone tries to use Actor::join() in MC (not implemented)

2 years agoDon't have an extra actor in s4u-synchro-mutex to create the others
Martin Quinson [Sun, 20 Mar 2022 00:12:31 +0000 (01:12 +0100)]
Don't have an extra actor in s4u-synchro-mutex to create the others

In MC, it could happen that the master actor terminates, leaves and
frees the shared memory before the end of the other actors.

2 years agoMC: be more cautionous around MC_process_clock, the actor may not be there in case...
Martin Quinson [Sat, 19 Mar 2022 23:34:14 +0000 (00:34 +0100)]
MC: be more cautionous around MC_process_clock, the actor may not be there in case of bugs

2 years agoCosmetics
Martin Quinson [Sat, 19 Mar 2022 21:34:29 +0000 (22:34 +0100)]
Cosmetics

2 years agoMBI: reduce a bit the amount of supurious warnings in generated code
Martin Quinson [Sat, 19 Mar 2022 20:09:48 +0000 (21:09 +0100)]
MBI: reduce a bit the amount of supurious warnings in generated code

2 years agoMPI Win: add check if we try to delete a locked or opened window.
Augustin Degomme [Sun, 20 Mar 2022 00:13:19 +0000 (01:13 +0100)]
MPI Win: add check if we try to delete a locked or opened window.
todo:
- refcount for wins,
- check if we need a separate counter for open/fence (going negative is hacky)

2 years agoFix gcc builds :(
Martin Quinson [Sat, 19 Mar 2022 19:34:13 +0000 (20:34 +0100)]
Fix gcc builds :(

2 years agomake a single barrier per RMA window and share it through broadcast
Martin Quinson [Sat, 19 Mar 2022 19:25:19 +0000 (20:25 +0100)]
make a single barrier per RMA window and share it through broadcast

2 years agoGive users a way to debug their barriers
Martin Quinson [Sat, 19 Mar 2022 19:12:48 +0000 (20:12 +0100)]
Give users a way to debug their barriers

2 years agouse correct type
Augustin Degomme [Sat, 19 Mar 2022 16:39:20 +0000 (17:39 +0100)]
use correct type

2 years agoSMPI: add check for buffer size in windows creation (thx MBI)
Augustin Degomme [Sat, 19 Mar 2022 16:37:34 +0000 (17:37 +0100)]
SMPI: add check for buffer size in windows creation (thx MBI)

2 years agoFinish to document the BMF options [no-ci]
Martin Quinson [Fri, 18 Mar 2022 22:12:46 +0000 (23:12 +0100)]
Finish to document the BMF options [no-ci]

2 years agoMBI: don't add the path of the generator in the generated codes
Martin Quinson [Fri, 18 Mar 2022 21:45:47 +0000 (22:45 +0100)]
MBI: don't add the path of the generator in the generated codes

2 years agoSpecify actor in the MC traces
Martin Quinson [Fri, 18 Mar 2022 20:23:48 +0000 (21:23 +0100)]
Specify actor in the MC traces

2 years agoFix doc: add bmf/precision
Bruno Donassolo [Fri, 18 Mar 2022 21:26:28 +0000 (22:26 +0100)]
Fix doc: add bmf/precision

2 years agoFix ctest for no Eigen builds
Bruno Donassolo [Fri, 18 Mar 2022 10:27:02 +0000 (11:27 +0100)]
Fix ctest for no Eigen builds

2 years agoRemove bmf host model. Add it as an option.
Bruno Donassolo [Fri, 18 Mar 2022 09:32:06 +0000 (10:32 +0100)]
Remove bmf host model. Add it as an option.

Remove --cfg=host/model:ptask_BMF.
Use --cfg=host/model:ptask_L07 --cfg=host/solver:bmf instead.

More consistent with other models (CPU, disk, etc)

2 years agoBMF: undo weight adding.
Bruno Donassolo [Fri, 18 Mar 2022 09:00:55 +0000 (10:00 +0100)]
BMF: undo weight adding.

It doesn't seem necessary while we're not sure to the semantics gave to
fair_sharing with priorities

2 years agoNetwork: add solver as an option
Bruno Donassolo [Thu, 17 Mar 2022 10:47:24 +0000 (11:47 +0100)]
Network: add solver as an option

Select a test which doesn't use crosstraffic and the timing is the same
for both models (maxmin and bmf)

2 years agoBMF: hopefully fix the fair_sharing with priority
Bruno Donassolo [Thu, 17 Mar 2022 10:44:09 +0000 (11:44 +0100)]
BMF: hopefully fix the fair_sharing with priority

Go back where we were supposed to be 1 week ago

2 years agoDisk: add solver as an option
Bruno Donassolo [Wed, 16 Mar 2022 18:04:40 +0000 (19:04 +0100)]
Disk: add solver as an option

Select one random test which timing should be the same between maxmin
and bmf

2 years agoSystem: methods -3 protected, +3 private
Bruno Donassolo [Wed, 16 Mar 2022 17:53:46 +0000 (18:53 +0100)]
System: methods -3 protected, +3 private

2 years agoFix distcheck
Bruno Donassolo [Wed, 16 Mar 2022 17:42:32 +0000 (18:42 +0100)]
Fix distcheck

2 years agoBMF: remove warning since the solver can be used by any model
Bruno Donassolo [Wed, 16 Mar 2022 17:36:27 +0000 (18:36 +0100)]
BMF: remove warning since the solver can be used by any model

2 years agoBMF: fix cloud-capping tests.
Bruno Donassolo [Wed, 16 Mar 2022 17:21:24 +0000 (18:21 +0100)]
BMF: fix cloud-capping tests.

2 years agoBMF: Fix bug with threads
Bruno Donassolo [Wed, 16 Mar 2022 14:59:25 +0000 (15:59 +0100)]
BMF: Fix bug with threads

Our fair sharing is related to maxA_ not A_

2 years agoAvoid negative rate
Bruno Donassolo [Mon, 14 Mar 2022 14:52:03 +0000 (15:52 +0100)]
Avoid negative rate

Negatives rates doesn't make sense in real life.
In this case, set fair_sharing as if the resource were saturated

2 years agoMove common part for selective_update to System class.
Bruno Donassolo [Wed, 16 Mar 2022 11:15:38 +0000 (12:15 +0100)]
Move common part for selective_update to System class.

And 1 more private variable in System \o/

2 years agoRename update_modified_set to update_modified_cnst_set.
Bruno Donassolo [Wed, 16 Mar 2022 10:10:56 +0000 (11:10 +0100)]
Rename update_modified_set to update_modified_cnst_set.

It's the modified_constraint_set we're updating...
Avoid confusion with modified_set_

2 years agoSystem: fix modified_set_ when selective_update is active
Bruno Donassolo [Wed, 16 Mar 2022 09:30:33 +0000 (10:30 +0100)]
System: fix modified_set_ when selective_update is active

Using update_modified_set only on the first constraint of the variable
is valid only if the variable is active. Otherwise, it can make the
modified_set_ incomplete.

2 years agoMove maxmin solver from system
Bruno Donassolo [Tue, 15 Mar 2022 17:26:02 +0000 (18:26 +0100)]
Move maxmin solver from system

New class for maxmin solver:: lmm::MaxMin.

A tiny step towards better encapsulation, still far from good though.

2 years agoRename file maxmin to System
Bruno Donassolo [Tue, 15 Mar 2022 14:11:01 +0000 (15:11 +0100)]
Rename file maxmin to System

Preparing to move maxmin solver to another subclass

2 years agoSolver as an configuration option for CPU
Bruno Donassolo [Tue, 15 Mar 2022 13:08:48 +0000 (14:08 +0100)]
Solver as an configuration option for CPU

Add cfg to set solver to be used for CPU models
- --cfg=cpu/solver: "maxmin, fairbottleneck or bmf"

Select 1 random test from teshsuite to run with bmf since it should have
the save output as maxmin

2 years agoSuppress trailing whitespaces.
Arnaud Giersch [Thu, 17 Mar 2022 20:44:55 +0000 (21:44 +0100)]
Suppress trailing whitespaces.

[ci-skip]

2 years agocosmetics in doc
Martin Quinson [Thu, 17 Mar 2022 20:36:45 +0000 (21:36 +0100)]
cosmetics in doc

2 years agoMerge branch 'add_semaphore_python_bindings' into 'master'
Martin Quinson [Thu, 17 Mar 2022 20:19:06 +0000 (20:19 +0000)]
Merge branch 'add_semaphore_python_bindings' into 'master'

Add Semaphore Python bindings

See merge request simgrid/simgrid!91

2 years agoA few more sonar smells.
Arnaud Giersch [Thu, 17 Mar 2022 19:25:26 +0000 (20:25 +0100)]
A few more sonar smells.

2 years agoAdd Semaphore Python bindings
Jean-Edouard BOULANGER [Thu, 17 Mar 2022 18:56:48 +0000 (19:56 +0100)]
Add Semaphore Python bindings

2 years ago[sonar] Replace 're.sub' by more efficient 'str.replace'.
Arnaud Giersch [Thu, 17 Mar 2022 17:28:58 +0000 (18:28 +0100)]
[sonar] Replace 're.sub' by more efficient 'str.replace'.

2 years ago[sonar] Use a more specific Python exception.
Arnaud Giersch [Thu, 17 Mar 2022 15:32:22 +0000 (16:32 +0100)]
[sonar] Use a more specific Python exception.

2 years agoPrefer a range-based for loop.
Arnaud Giersch [Thu, 17 Mar 2022 14:26:14 +0000 (15:26 +0100)]
Prefer a range-based for loop.

2 years agoFix mingw warnigns.
Arnaud Giersch [Thu, 17 Mar 2022 10:18:57 +0000 (11:18 +0100)]
Fix mingw warnigns.

2 years agoMerge branch 'dev-profile-leak' into 'master'
Arnaud Giersch [Thu, 17 Mar 2022 08:13:49 +0000 (08:13 +0000)]
Merge branch 'dev-profile-leak' into 'master'

Fix leak when given an empty profile

See merge request simgrid/simgrid!88

2 years agoFix leak when given an empty profile
Fabien Chaix [Thu, 17 Mar 2022 07:51:15 +0000 (09:51 +0200)]
Fix leak when given an empty profile

2 years agodoc: Fix some formatting issues
Martin Quinson [Thu, 17 Mar 2022 00:25:00 +0000 (01:25 +0100)]
doc: Fix some formatting issues

2 years agoRelease notes: shorten a bit, reindent, and reformat properly
Martin Quinson [Thu, 17 Mar 2022 00:23:34 +0000 (01:23 +0100)]
Release notes: shorten a bit, reindent, and reformat properly

2 years agoBegin to prepare the next release
Martin Quinson [Wed, 16 Mar 2022 22:40:47 +0000 (23:40 +0100)]
Begin to prepare the next release

2 years agoFix spurious compilation warning.
Arnaud Giersch [Wed, 16 Mar 2022 22:36:27 +0000 (23:36 +0100)]
Fix spurious compilation warning.

warning: ‘main’ may be used uninitialized in this function.

2 years agoDisallow direct contruction/destruction of s4u::File.
Arnaud Giersch [Wed, 16 Mar 2022 21:37:22 +0000 (22:37 +0100)]
Disallow direct contruction/destruction of s4u::File.

Use s4u::File::open() and s4u::File::close() instead.

2 years agoMove simcall out of s4u::File destructor.
Arnaud Giersch [Wed, 16 Mar 2022 21:09:48 +0000 (22:09 +0100)]
Move simcall out of s4u::File destructor.

Please Sonar by not throwing uncaught exceptions in a destructor.

2 years agoUse s4u::File::open/close inside s4u::File too.
Arnaud Giersch [Wed, 16 Mar 2022 22:06:28 +0000 (23:06 +0100)]
Use s4u::File::open/close inside s4u::File too.

2 years agoProvide File::open with 3 arguments.
Arnaud Giersch [Wed, 16 Mar 2022 22:04:43 +0000 (23:04 +0100)]
Provide File::open with 3 arguments.

2 years agoMake example s4u-replay-io use s4u::File::open/close.
Arnaud Giersch [Wed, 16 Mar 2022 21:35:47 +0000 (22:35 +0100)]
Make example s4u-replay-io use s4u::File::open/close.

2 years agoMake example storage_client_server use s4u::File::open/close.
Arnaud Giersch [Wed, 16 Mar 2022 21:16:26 +0000 (22:16 +0100)]
Make example storage_client_server use s4u::File::open/close.

2 years agoPolymorphic base class destructor should be either public virtual or protected non...
Arnaud Giersch [Wed, 16 Mar 2022 20:37:55 +0000 (21:37 +0100)]
Polymorphic base class destructor should be either public virtual or protected non-virtual.

This is Sonar rule S1235
https://sonarcloud.io/organizations/simgrid/rules?open=cpp%3AS1235&rule_key=cpp%3AS1235

Some of the classes are simply marked "final" so that they can never become a
polymorphic base class.

2 years agoFix shadowing declarations in Parmap too.
Arnaud Giersch [Wed, 16 Mar 2022 17:22:05 +0000 (18:22 +0100)]
Fix shadowing declarations in Parmap too.

2 years agoRename variables to avoid shadowing outer declarations.
Arnaud Giersch [Wed, 16 Mar 2022 16:39:52 +0000 (17:39 +0100)]
Rename variables to avoid shadowing outer declarations.

2 years agoInitialize all fields.
Arnaud Giersch [Wed, 16 Mar 2022 15:14:34 +0000 (16:14 +0100)]
Initialize all fields.

2 years agoFix misc sonar issues.
Arnaud Giersch [Wed, 16 Mar 2022 10:18:23 +0000 (11:18 +0100)]
Fix misc sonar issues.

2 years agoKill dead code.
Arnaud Giersch [Wed, 16 Mar 2022 10:15:45 +0000 (11:15 +0100)]
Kill dead code.

2 years agoStatic storage duration for config flags.
Arnaud Giersch [Wed, 16 Mar 2022 14:57:53 +0000 (15:57 +0100)]
Static storage duration for config flags.

2 years agoActivate test python-synchro-barrier.
Arnaud Giersch [Wed, 16 Mar 2022 14:32:28 +0000 (15:32 +0100)]
Activate test python-synchro-barrier.

2 years agotake 2 on declare_flag, not sure it's better... a bit weird
SUTER Frederic [Tue, 15 Mar 2022 22:24:36 +0000 (23:24 +0100)]
take 2 on declare_flag, not sure it's better... a bit weird

2 years agoFix makedistcheck after !87
Martin Quinson [Wed, 16 Mar 2022 11:12:32 +0000 (12:12 +0100)]
Fix makedistcheck after !87

2 years agoDirectly reset observer_ instead of using an empty simcall for that.
Arnaud Giersch [Wed, 16 Mar 2022 09:45:54 +0000 (10:45 +0100)]
Directly reset observer_ instead of using an empty simcall for that.

2 years agoSimcalls are not allowed on exit, even when cheating with raii.
Arnaud Giersch [Wed, 16 Mar 2022 09:38:42 +0000 (10:38 +0100)]
Simcalls are not allowed on exit, even when cheating with raii.

This partially reverts commit 26f93d36882a4af53d1b797294caeae9efbf9b47
"Use RAII to simplify the release of semaphores on exit."

2 years agoMerge branch 'add_barrier_python_bindings' into 'master'
Martin Quinson [Wed, 16 Mar 2022 07:57:12 +0000 (07:57 +0000)]
Merge branch 'add_barrier_python_bindings' into 'master'

Add Barrier Python bindings

See merge request simgrid/simgrid!87

2 years agoRegroup common code.
Arnaud Giersch [Tue, 15 Mar 2022 22:17:31 +0000 (23:17 +0100)]
Regroup common code.

2 years agoExtract eigen3 version from build logs.
Arnaud Giersch [Tue, 15 Mar 2022 20:30:17 +0000 (21:30 +0100)]
Extract eigen3 version from build logs.

2 years agoUse the right comparison operator for version numbers.
Arnaud Giersch [Tue, 15 Mar 2022 20:16:12 +0000 (21:16 +0100)]
Use the right comparison operator for version numbers.

2 years agoAdd missing license
Jean-Edouard BOULANGER [Tue, 15 Mar 2022 20:30:33 +0000 (21:30 +0100)]
Add missing license

2 years agoAdd Barrier Python bindings
Jean-Edouard BOULANGER [Tue, 15 Mar 2022 18:35:47 +0000 (19:35 +0100)]
Add Barrier Python bindings

2 years agoUpdated Release notes wit text from Arnaud, with a round of minor
Henri Casanova [Tue, 15 Mar 2022 18:15:51 +0000 (08:15 -1000)]
Updated Release notes wit text from Arnaud, with a round of minor
rewriting and typo chasing

2 years agoFix column numbers for sortTable.
Arnaud Giersch [Tue, 15 Mar 2022 16:20:17 +0000 (17:20 +0100)]
Fix column numbers for sortTable.

2 years agoUse existing helper function.
Arnaud Giersch [Tue, 15 Mar 2022 14:07:16 +0000 (15:07 +0100)]
Use existing helper function.

2 years agoDraft a few paragraphs in release notes about modeling efforts [no-ci]
Martin Quinson [Tue, 15 Mar 2022 14:35:56 +0000 (15:35 +0100)]
Draft a few paragraphs in release notes about modeling efforts [no-ci]

2 years agoBetter fix for the mutex IDs modifications in mutex-MC test
Martin Quinson [Tue, 15 Mar 2022 13:04:29 +0000 (14:04 +0100)]
Better fix for the mutex IDs modifications in mutex-MC test

kill the extra mutex forgotten out of the loop in the hijacked example

This reverts and reworks commit 5190c1c45270085777ef904c35ab99b5ad52d681.

2 years ago[project-description] Put build status starting at 3rd column.
Arnaud Giersch [Tue, 15 Mar 2022 13:41:08 +0000 (14:41 +0100)]
[project-description] Put build status starting at 3rd column.

[ci-skip]

2 years agoAdd eigen3 to project_description.sh
Arnaud Giersch [Tue, 15 Mar 2022 12:59:34 +0000 (13:59 +0100)]
Add eigen3 to project_description.sh

2 years agoDisable debug output by default.
Arnaud Giersch [Tue, 15 Mar 2022 11:07:51 +0000 (12:07 +0100)]
Disable debug output by default.

2 years agoEnable valgrind for unit-tests.
Arnaud Giersch [Tue, 15 Mar 2022 11:05:25 +0000 (12:05 +0100)]
Enable valgrind for unit-tests.

2 years agoRename TESH_WRAPPER -> VALGRIND_WRAPPER.
Arnaud Giersch [Tue, 15 Mar 2022 11:02:08 +0000 (12:02 +0100)]
Rename TESH_WRAPPER -> VALGRIND_WRAPPER.