Samuel Thibault [Mon, 14 Mar 2022 09:19:38 +0000 (10:19 +0100)]
Explicitly tell StarPU to enable starpu-mpi
This is not enabled by default.
Arnaud Giersch [Sun, 13 Mar 2022 22:07:19 +0000 (23:07 +0100)]
Disable parallel tests.
Martin Quinson [Sun, 13 Mar 2022 21:30:30 +0000 (22:30 +0100)]
ctest --output-on-failure on jar building [no-ci]
Arnaud Giersch [Sun, 13 Mar 2022 21:20:50 +0000 (22:20 +0100)]
Sometimes propagating an exception across different libraries fails.
I don't know if this is the case here, but take a safe bet.
Augustin Degomme [Sun, 13 Mar 2022 20:48:52 +0000 (20:48 +0000)]
fix jarfile.yml
Augustin Degomme [Sun, 13 Mar 2022 20:43:59 +0000 (20:43 +0000)]
add eigen to bigdft test
Martin Quinson [Sun, 13 Mar 2022 20:32:52 +0000 (21:32 +0100)]
Also test java builds on github jar action
Arnaud Giersch [Sun, 13 Mar 2022 19:51:07 +0000 (20:51 +0100)]
Merge remote-tracking branch 'github/master'
Martin Quinson [Sun, 13 Mar 2022 17:24:49 +0000 (17:24 +0000)]
Merge branch 'fix_bindings_mistakenly_set_as_member_functions' into 'master'
Make Python bindings static where needed
See merge request simgrid/simgrid!83
adegomme [Sun, 13 Mar 2022 17:22:02 +0000 (18:22 +0100)]
Jarfile github action: fix scoop install + add eigen (#379)
* Update jarfile.yml
* add eigen
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
* Update jarfile.yml
Martin Quinson [Sun, 13 Mar 2022 15:32:48 +0000 (16:32 +0100)]
Kill a useless static function
Martin Quinson [Sun, 13 Mar 2022 15:24:36 +0000 (16:24 +0100)]
Sort Actor traits alphabetically + cleanups
Martin Quinson [Sun, 13 Mar 2022 15:01:25 +0000 (16:01 +0100)]
Introduce ActorIDTrait to split ActorImpl apart
Martin Quinson [Sun, 13 Mar 2022 14:28:21 +0000 (15:28 +0100)]
Simplify parameter passing between EngineImpl and ContextFactory
Indeed, it's easier to pass the object as a parameter instead of
having the called getting it afterward through a call back to the
caller.
Martin Quinson [Sun, 13 Mar 2022 11:25:05 +0000 (12:25 +0100)]
Move the actor lifecycle markers from Context to ActorImpl
and reduce Context.hpp visibility
Martin Quinson [Sat, 12 Mar 2022 18:20:42 +0000 (19:20 +0100)]
make the semaphore monkey more robust to deadlocks and to unanswered simcalls in RAII
Martin Quinson [Sat, 12 Mar 2022 18:04:10 +0000 (19:04 +0100)]
document a function
Martin Quinson [Sat, 12 Mar 2022 18:03:51 +0000 (19:03 +0100)]
ActorImpl::join: react right away if the other actor is already dead
Arnaud Giersch [Sun, 13 Mar 2022 08:34:35 +0000 (09:34 +0100)]
fflush for all processes.
2nd try to make asan warnings ignored.
rank==0 is not always the last one to print.
[ci-skip]
Arnaud Giersch [Sat, 12 Mar 2022 20:30:21 +0000 (21:30 +0100)]
[tesh] Remove ignored lines *before* trimming the output.
[ci-skip]
Arnaud Giersch [Sat, 12 Mar 2022 16:51:20 +0000 (17:51 +0100)]
Adapt tests to avoid failures when spurious ASan warnings are interlaced.
Martin Quinson [Sat, 12 Mar 2022 14:12:37 +0000 (15:12 +0100)]
Blind attempt at getting scoop working again on Azur windows
Martin Quinson [Sat, 12 Mar 2022 12:16:06 +0000 (13:16 +0100)]
obey our coding conventions in ActorImpl::mailboxes, and free them once only
Martin Quinson [Sat, 12 Mar 2022 11:25:00 +0000 (12:25 +0100)]
Simplify the Context::stop() and reduce duplication
Martin Quinson [Sat, 12 Mar 2022 10:47:26 +0000 (11:47 +0100)]
Defuse a trap on refcounting activities by adding a comment
Jean-Edouard BOULANGER [Sat, 12 Mar 2022 07:58:12 +0000 (08:58 +0100)]
Make Python bindings static where needed
SUTER Frederic [Sat, 12 Mar 2022 01:02:14 +0000 (02:02 +0100)]
augment example to check sharing of a thread-execute
Martin Quinson [Sat, 12 Mar 2022 00:01:35 +0000 (01:01 +0100)]
Make sure that actors killed by a timer are properly finished
ActorImpl::exit() does not schedule the victim for execution because
exit() usually denotes a suicide.
When ran from a timer, it's executed in maestro context, so the victim
needs to be scheduled to be properly freed.
It worked properly before commit
2cb8c87fc8 because the actors were
completely destroyed by Context::stop() which is still used here. Now,
the cleanup is split in 2 parts (in actor context and in maestro
context), that are not directly inter-linked.
Gosh, that was a long debug session for a small patch. I hope it's OK now
Martin Quinson [Fri, 11 Mar 2022 21:13:40 +0000 (22:13 +0100)]
Cosmetics in ActorImpl
Martin Quinson [Fri, 11 Mar 2022 13:52:28 +0000 (13:52 +0000)]
Merge branch 'add_remaining_comm_sync_bindings' into 'master'
Add remaining Comm synchronisation Python bindings
See merge request simgrid/simgrid!81
Bruno Donassolo [Fri, 11 Mar 2022 11:36:55 +0000 (12:36 +0100)]
Minor improv in threads
Let the user_bound for bounds given by S4U user (if any).
For the requested_cores, the bound is already configured when creating
the action at CpuCas01Action.
Also, the current implementation for threads use the same mechanism used
by VMs, for a N-thread action:
- priority/sharing_penalty: 1/N to increase the amount of CPU given to
action.
- individual bound: speed < N*C: to limit the action speed to the number
of cores.
Bruno Donassolo [Fri, 11 Mar 2022 11:17:12 +0000 (12:17 +0100)]
Comment back the unsuccessful try to use faster matrix solver.
Ideally we would like to use PartialPivLU most of the time. But in some
cases, as tested in the UTs, we need the complete pivoting and the
assurance given by FullPivLU.
Document why it didn't work.
Need another way to check that the solution is invalid that doesn't
include isNaN.
Arnaud Giersch [Thu, 10 Mar 2022 17:14:35 +0000 (18:14 +0100)]
Add unit tests aiming at covering Comm::send and Comm::recv.
Arnaud Giersch [Thu, 10 Mar 2022 16:21:30 +0000 (17:21 +0100)]
Kill dead code.
Unused since there is no future.
Arnaud Giersch [Thu, 10 Mar 2022 10:04:09 +0000 (11:04 +0100)]
Use std::function for smpi_comm_copy_data_callback.
Arnaud Giersch [Wed, 9 Mar 2022 22:19:55 +0000 (23:19 +0100)]
Use std::function for Extension deleters.
Arnaud Giersch [Wed, 9 Mar 2022 21:48:21 +0000 (22:48 +0100)]
Use std::function for Comm callbacks.
Martin Quinson [Thu, 10 Mar 2022 07:28:35 +0000 (08:28 +0100)]
easy sonar fixes
Martin Quinson [Wed, 9 Mar 2022 22:21:34 +0000 (23:21 +0100)]
cosmetics in the release notes
Martin Quinson [Wed, 9 Mar 2022 21:08:11 +0000 (22:08 +0100)]
Better split between the cleanups from self and the ones from the kernel (ie on maestro context)
This shall remove the need for OS synchronization when registering the
actors that should die. So that's hopefully another fix for the problem solved
by
be00fecb16c89d44253052889f4815b35ab9abbe
Also, it protects more modifications to global datastructures from
concurrent modifications by doing them in maestro context. The
previous solution was only protecting a very small amount of them.
Jean-Edouard BOULANGER [Wed, 9 Mar 2022 17:57:02 +0000 (18:57 +0100)]
Add remaining Comm synchronisation Python bindings
Martin Quinson [Wed, 9 Mar 2022 15:38:25 +0000 (16:38 +0100)]
Make our valgrind wrapper less verbose, so that it does not break tesh outputs when no error
Martin Quinson [Wed, 9 Mar 2022 11:21:06 +0000 (12:21 +0100)]
further simpify the MC initialization on app side
Martin Quinson [Wed, 9 Mar 2022 10:33:38 +0000 (11:33 +0100)]
Simplify the parameter passing while initializing the MC on the app side
Martin Quinson [Wed, 9 Mar 2022 10:26:03 +0000 (11:26 +0100)]
Seal the platform only once from EngineImpl::run
Arnaud Giersch [Wed, 9 Mar 2022 10:38:38 +0000 (11:38 +0100)]
Fix mingw warning.
redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
Arnaud Giersch [Wed, 9 Mar 2022 10:34:24 +0000 (11:34 +0100)]
Kill useless target "make maintainer-clean".
It only tries to remove an non-existent file...
Arnaud Giersch [Wed, 9 Mar 2022 09:42:05 +0000 (10:42 +0100)]
Don't modify variable twice in the same expression.
Arnaud Giersch [Wed, 9 Mar 2022 09:23:47 +0000 (10:23 +0100)]
Define initial value, even if it's useless.
Arnaud Giersch [Wed, 9 Mar 2022 08:56:38 +0000 (09:56 +0100)]
Provide constructor with parameters for lmm::Element.
Martin Quinson [Wed, 9 Mar 2022 09:40:43 +0000 (10:40 +0100)]
Fix clang builds (unused lambda capture)
Martin Quinson [Wed, 9 Mar 2022 09:31:30 +0000 (10:31 +0100)]
Cosmetics in the changelog and release notes
Martin Quinson [Wed, 9 Mar 2022 09:18:15 +0000 (10:18 +0100)]
Improve the Actor::set_auto_restart doc by specifying which attributes are saved over reboots
Martin Quinson [Wed, 9 Mar 2022 09:07:22 +0000 (10:07 +0100)]
Introduce a Trait to deal with autorestart matter in ActorImpl, and fix bugs
The daemonized behavior was not correctly saved, as noted by the
updated tesh-actor-autorestart test
Martin Quinson [Wed, 9 Mar 2022 08:50:08 +0000 (09:50 +0100)]
use get_restart_count from the monkey-masterwork, for simplicity and to test it
Martin Quinson [Wed, 9 Mar 2022 08:34:24 +0000 (09:34 +0100)]
new: Actor::get_restart_count(): Returns the number of reboots that this actor did
Fixes https://framagit.org/simgrid/simgrid/-/issues/11
(again)
Martin Quinson [Tue, 8 Mar 2022 20:48:55 +0000 (21:48 +0100)]
Update an outdated comment
Martin Quinson [Tue, 8 Mar 2022 18:46:33 +0000 (19:46 +0100)]
Rename mc::SafetyChecker to mc::DFSExplorer
Martin Quinson [Tue, 8 Mar 2022 16:45:47 +0000 (17:45 +0100)]
Rename mc::CheckerAlgorithm to mc::ExplorationAlgorithm, because that's what it is
Arnaud Giersch [Tue, 8 Mar 2022 22:41:18 +0000 (23:41 +0100)]
Update comment.
Arnaud Giersch [Tue, 8 Mar 2022 22:20:10 +0000 (23:20 +0100)]
Move Simcall from namespace simix to kernel::actor.
Arnaud Giersch [Tue, 8 Mar 2022 22:04:35 +0000 (23:04 +0100)]
Rename example, and update doc.
Configuration option simix/breakpoint was renamed some time ago.
Arnaud Giersch [Tue, 8 Mar 2022 15:38:30 +0000 (16:38 +0100)]
Rename popping.cpp -> simcall.cpp to better reflect its content.
Arnaud Giersch [Tue, 8 Mar 2022 15:26:12 +0000 (16:26 +0100)]
Make Simcall a real class.
Arnaud Giersch [Tue, 8 Mar 2022 15:36:12 +0000 (16:36 +0100)]
Remove reference to dead files.
SUTER Frederic [Tue, 8 Mar 2022 14:42:51 +0000 (15:42 +0100)]
add an s to example name
Arnaud Giersch [Tue, 8 Mar 2022 14:32:29 +0000 (15:32 +0100)]
Use existing XBT macro to declare enum class Simcall.
Arnaud Giersch [Tue, 8 Mar 2022 12:33:24 +0000 (13:33 +0100)]
Mark all of simix.h as deprecated.
This include file will be empty after that anyway.
Bruno Donassolo [Tue, 8 Mar 2022 12:41:05 +0000 (13:41 +0100)]
BMF: One pass in sonar issues
Arnaud Giersch [Tue, 8 Mar 2022 12:08:45 +0000 (13:08 +0100)]
Missing include.
Arnaud Giersch [Tue, 8 Mar 2022 09:30:13 +0000 (10:30 +0100)]
Define Comm::send and Comm::recv (replace simcall_comm_send/recv).
Mark last legacy simcalls as deprecated.
SUTER Frederic [Tue, 8 Mar 2022 01:31:29 +0000 (02:31 +0100)]
introduce thread_execute
SUTER Frederic [Fri, 4 Mar 2022 01:18:09 +0000 (02:18 +0100)]
mark 3 more simcalls as deprecated
Bruno Donassolo [Mon, 7 Mar 2022 18:34:54 +0000 (19:34 +0100)]
Revert "Being optimistic for better performance"
This reverts commit
aedc2aa6b82c69adc779ffc4bb8ece31ac423440.
Bruno Donassolo [Mon, 7 Mar 2022 18:10:11 +0000 (19:10 +0100)]
Being optimistic for better performance
If the matrix isn't singular (which is true most of the cases) this
PartialPivLU is much faster than FullPivLU.
Let's be optimistic, what can go wrong? ;)
Arnaud Giersch [Mon, 7 Mar 2022 16:31:00 +0000 (17:31 +0100)]
[jenkins] Avoid build errors on centos.
Arnaud Giersch [Mon, 7 Mar 2022 14:42:20 +0000 (15:42 +0100)]
DISTRIB_ID is apparently now all lowercase on NixOS.
Arnaud Giersch [Mon, 7 Mar 2022 14:09:53 +0000 (15:09 +0100)]
Fix install prefix for Eigen3 on appveyor.
Arnaud Giersch [Mon, 7 Mar 2022 13:42:40 +0000 (14:42 +0100)]
Try to fix detection of eigen3.
Augustin Degomme [Mon, 7 Mar 2022 13:17:30 +0000 (14:17 +0100)]
blind new attempt for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 12:50:21 +0000 (13:50 +0100)]
Fix build
Remove boost container dependency and fix 32 bits build
Augustin Degomme [Mon, 7 Mar 2022 12:47:56 +0000 (13:47 +0100)]
new attempt for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 11:40:26 +0000 (11:40 +0000)]
Merge branch 'bmf' into 'master'
New model for parallel tasks: host/model:ptask_BMF
See merge request simgrid/simgrid!80
Bruno Donassolo [Mon, 7 Mar 2022 11:35:24 +0000 (12:35 +0100)]
Guess for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 10:46:58 +0000 (11:46 +0100)]
Add eigen dependency to dockerfiles
Improve ChangeLog
Arnaud Giersch [Mon, 7 Mar 2022 10:20:04 +0000 (11:20 +0100)]
Sonar here too.
* remove global variables
* delete unused copy constructor/assignment operator
* use const reference
Bruno Donassolo [Fri, 4 Mar 2022 16:51:02 +0000 (17:51 +0100)]
Fix bug found at ptask experiments
The consumption of bounded variables exceed constraint capacity leading
to wrong behavior of the algorithm.
Added some UTs for special case with bounds.
Bruno Donassolo [Fri, 4 Mar 2022 10:14:37 +0000 (11:14 +0100)]
ptask_BMF: High-level documentation of BMF and the algorithm
Add eigen in installation instructions
Add doc for ptask_BMF
Changelog
Bruno Donassolo [Thu, 3 Mar 2022 18:26:16 +0000 (19:26 +0100)]
Adding test for subflows
Bruno Donassolo [Thu, 3 Mar 2022 14:41:04 +0000 (15:41 +0100)]
BMF sharing penalty/priority
Bruno Donassolo [Wed, 2 Mar 2022 14:34:08 +0000 (15:34 +0100)]
Fix error find by IO test.
Wrong sharing of saturated (but not selected resources)
UT for it
Bruno Donassolo [Tue, 1 Mar 2022 11:22:55 +0000 (12:22 +0100)]
Remove single movement code
It seems better to be more aggressive to converge faster.
Bruno Donassolo [Tue, 1 Mar 2022 10:57:03 +0000 (11:57 +0100)]
ptask_BMF: support for dynamic bounds (user's callback)
Allows the use of user callback to dynamically change the constraint
capacity.
Add a warning message for user since this approach is quite pessimist
when sharing results and may lead to inaccurate resource sharing
Bruno Donassolo [Tue, 1 Mar 2022 10:49:54 +0000 (11:49 +0100)]
BMF: Fatpipe support
Adjust A' matrix and is_bmf functions accordingly.
Bruno Donassolo [Mon, 28 Feb 2022 13:39:44 +0000 (14:39 +0100)]
Implements selective-update for bmf model (off by default).
Add a cfg parameter: "bmf/selective-update" to enable it
Bruno Donassolo [Wed, 23 Feb 2022 11:32:22 +0000 (12:32 +0100)]
ptask_BMF: refactor code and loop scenarios
New cfg flag: --cfg=bmf/max-iterations:X. Configure the number maximum
of iterations done by BMF solver (default 1000).
Usually the algorithm converges much faster but in some cases it may be
necessary to increase it. However, can impact negatively on execution
time
Refactor code: new BmfSolver class to encapsulate matrix manipulation from system
Add a class to generate all possible allocations if necessary
Bruno Donassolo [Wed, 23 Feb 2022 10:15:42 +0000 (11:15 +0100)]
Fix: default rate (bound) for comms is -1 not 0
Bruno Donassolo [Wed, 23 Feb 2022 10:15:18 +0000 (11:15 +0100)]
Bugfix: ptask should use expand_add for exec tasks
The variable in the system is the same for ptasks, so use expand_add to
reuse the element if it exists in the system. Similar as it's done for
communications
Bruno Donassolo [Wed, 23 Feb 2022 09:59:35 +0000 (10:59 +0100)]
Support for bounded actions in BMF solver
Bruno Donassolo [Fri, 18 Feb 2022 09:44:21 +0000 (10:44 +0100)]
New model for parallel tasks: host/model:ptask_BMF
Implement a new solver for lmm::System based on BMF (Bottleneck max
fairness) objective.
BMF provides a more realistic sharing of heterogeneous resources as used
by parallel tasks.
Enable it using: --cfg=host/model:ptask_BMF instead of ptask_L07.
SimGrid compilation from source now requires a new library: Eigen3.