SUTER Frederic [Wed, 6 Oct 2021 07:57:09 +0000 (09:57 +0200)]
empty out src/simix/smx_context.cpp
SUTER Frederic [Wed, 6 Oct 2021 07:31:15 +0000 (09:31 +0200)]
modernize some SIMIX functions
SUTER Frederic [Fri, 1 Oct 2021 11:21:08 +0000 (13:21 +0200)]
less calls to simix.h + cosmetics
Arnaud Giersch [Mon, 4 Oct 2021 11:28:01 +0000 (13:28 +0200)]
Move declarations in smpi_helpers_internal.h.
Arnaud Giersch [Fri, 24 Sep 2021 15:29:53 +0000 (17:29 +0200)]
Fix dead store [fbinfer].
Arnaud Giersch [Tue, 5 Oct 2021 20:40:54 +0000 (22:40 +0200)]
Fix broken broken tesh with ifort.
Arnaud Giersch [Sat, 2 Oct 2021 19:13:55 +0000 (21:13 +0200)]
Add attribute [[noreturn]].
Arnaud Giersch [Tue, 5 Oct 2021 19:10:23 +0000 (21:10 +0200)]
Setup argc/argv for the Fortran run-time environment only once.
It's apparently a global operation, and doing that at the simulated process level
(like it was before) leeds to errors like use-after-free easily seen with
the test tesh-smpi-fort_args-thread on WSL.
Augustin Degomme [Mon, 4 Oct 2021 08:19:44 +0000 (10:19 +0200)]
update ca-certificates package for bigdft build, as we need the latest version to pull from framagit, pending an update in the root container itself
Arnaud Giersch [Sat, 2 Oct 2021 12:10:26 +0000 (14:10 +0200)]
Use 'auto' with functions returning iterators [sonar].
Arnaud Giersch [Sat, 2 Oct 2021 12:08:23 +0000 (14:08 +0200)]
Use type 'unsigned long' [lgtm/pvs-studio].
Arnaud Giersch [Sat, 2 Oct 2021 12:03:03 +0000 (14:03 +0200)]
Misc. cosmetic changes.
Arnaud Giersch [Sat, 2 Oct 2021 11:57:20 +0000 (13:57 +0200)]
Please sonar about unsecure usage of rand().
sg_actor_self_get_pid() makes a perfect random number here.
Remember https://xkcd.com/221/
Arnaud Giersch [Sat, 2 Oct 2021 11:49:04 +0000 (13:49 +0200)]
Avoid spurious diff for generated file.
Arnaud Giersch [Sat, 2 Oct 2021 11:45:32 +0000 (13:45 +0200)]
Add missing call to MPI_Finalize().
SUTER Frederic [Fri, 1 Oct 2021 09:54:11 +0000 (11:54 +0200)]
fix appveyor build (bis)
SUTER Frederic [Fri, 1 Oct 2021 09:41:01 +0000 (11:41 +0200)]
fix appveyor build
SUTER Frederic [Fri, 1 Oct 2021 09:14:28 +0000 (11:14 +0200)]
deprecate 2 simix functions
SUTER Frederic [Thu, 30 Sep 2021 20:00:42 +0000 (22:00 +0200)]
more include cleanups
SUTER Frederic [Thu, 30 Sep 2021 17:07:47 +0000 (19:07 +0200)]
include cleanups in src/s4u
Augustin Degomme [Thu, 30 Sep 2021 16:40:16 +0000 (18:40 +0200)]
MC does not like mutexes, so disable the barrier for it.
Not ideal, obviously.
Augustin Degomme [Thu, 30 Sep 2021 15:46:24 +0000 (17:46 +0200)]
requalify tests impacted by previous change (just the order of messages in most).
For gh-139 the initialization order change led to threads starting and getting assigned a different PID, without changing the result itself.
Augustin Degomme [Thu, 30 Sep 2021 15:45:09 +0000 (17:45 +0200)]
add a small bug-inducing test, for the previous fix.
Each process sleeps for a different amount of time before starting MPI_Init.
Augustin Degomme [Thu, 30 Sep 2021 15:44:09 +0000 (17:44 +0200)]
Add a simgrid barrier at the end of MPI_Init call.
Rationale is that if one process is delayed in its initialization due to previous work, other processes might start sending to it even if it has not registered yet in the instance and in the comm world.
Thanks Julien Emmanuel for the report.
There is still an issue for ti-tracing and replay. ti-traces write in a common file the path to their trace file, and if the order of initialization is not perfectly ordered, a subsequent replay would assign wrong traces at each process. We should find a new way to generate this file properly.
For now, as the barrier is done after this initialization, this bug is still under the rug.
SUTER Frederic [Thu, 30 Sep 2021 12:46:09 +0000 (14:46 +0200)]
include cleanups (platf_private.hpp, surf_private.hpp and platf.hpp)
SUTER Frederic [Thu, 30 Sep 2021 12:22:19 +0000 (14:22 +0200)]
include cleanups (mostly surf/surf.hpp)
SUTER Frederic [Thu, 30 Sep 2021 09:05:59 +0000 (11:05 +0200)]
[sonar] fix a few recently introduced smells
Martin Quinson [Wed, 29 Sep 2021 21:29:43 +0000 (23:29 +0200)]
Changelog reviewed by Arnaud [ci-skip]
Augustin Degomme [Wed, 29 Sep 2021 15:12:32 +0000 (17:12 +0200)]
Fix high memory usage when exec events are done.
Callbacks were connected but not removed until the end of simulation.
Thanks Julien Emmanuel for the report, agier for diagnosis and fsuter for patch.
Martin Quinson [Tue, 28 Sep 2021 19:49:37 +0000 (21:49 +0200)]
attempt at improving the changelog, TBC
Martin Quinson [Thu, 23 Sep 2021 09:18:46 +0000 (11:18 +0200)]
doc: a ref cannot be nullptr
SUTER Frederic [Tue, 28 Sep 2021 14:29:10 +0000 (16:29 +0200)]
More consistency in resource creation/destruction
Arnaud Giersch [Tue, 28 Sep 2021 08:21:59 +0000 (10:21 +0200)]
Fix memory leak when smpi_exit is called.
Arnaud Giersch [Mon, 27 Sep 2021 12:13:01 +0000 (14:13 +0200)]
Declare this_actor::exit() [[noreturn]].
Augustin Degomme [Mon, 27 Sep 2021 15:13:57 +0000 (17:13 +0200)]
extend std namespace with our own definitions.
Some C++ codes use "std::free" or "std::exit" calls, and our #define would break, as the smpi_ variants are not in the namespace.
This should make more code compile without the need to add SMPI_NO_OVERRIDE_MALLOC.
Standard says that this is wrong and undefined behavior.. so let's do it and see.
Augustin Degomme [Mon, 27 Sep 2021 15:10:53 +0000 (17:10 +0200)]
use a more simgrid-y way of telling the compiler that this does never happen.
Augustin Degomme [Mon, 27 Sep 2021 10:07:09 +0000 (12:07 +0200)]
Mark the smpi_exit call as noreturn, and really kill the process when exit is called
Thanks agier
Augustin Degomme [Sun, 26 Sep 2021 23:17:54 +0000 (01:17 +0200)]
Revert "initialize a variable in EP."
This reverts commit
acf4f8b6abb16973948f10851953a817cd5541a8.
Augustin Degomme [Sun, 26 Sep 2021 22:57:51 +0000 (00:57 +0200)]
initialize a variable in EP.
exit being replaced by smpi_exit, clang thinks wrongly that it can now be used uninitialized, due to our really strict warning policy. This would not cause any issue on a regular build.
Augustin Degomme [Sun, 26 Sep 2021 22:24:00 +0000 (00:24 +0200)]
Intercept exit() to avoid killing simulations too early, as the first process exits.
This should render previous warning pointless, let's see it it's still needed.
Augustin Degomme [Fri, 24 Sep 2021 09:49:20 +0000 (11:49 +0200)]
make test pass. The finalization barrier is needed in this case, which is suboptimal.
Ideally we whould intercept exit() from a process and avoid killing the simulation except for the last one.
SUTER Frederic [Fri, 24 Sep 2021 09:29:23 +0000 (11:29 +0200)]
fix proxy-apps but not the new smpi faulty test
Augustin Degomme [Fri, 24 Sep 2021 08:46:15 +0000 (10:46 +0200)]
add a failing (since a few days) example with an explicit exit in MPI program
We should be able (and were able) to handle it.
Augustin Degomme [Thu, 23 Sep 2021 12:48:54 +0000 (12:48 +0000)]
Merge branch 'public_smpi_func' into 'master'
Make some SMPI functions public
See merge request simgrid/simgrid!71
Julien EMMANUEL [Tue, 27 Jul 2021 16:22:04 +0000 (18:22 +0200)]
Make some SMPI functions public
When doing mixed S4U/SMPI simulations, users might want to initialize
SMPI manually, and to call functions that were private prior to this
patch. In particular, the bench functions (begin/end) can be useful.
Additionally, the callback `smpi_comm_copy_buffer_callback` must be made
public to allow S4U users to initialize the "default comm data copy
callback" in the engine manually
Martin Quinson [Thu, 23 Sep 2021 07:21:27 +0000 (09:21 +0200)]
cosmetics in the changelog and NEWS file [skip-ci]
Martin Quinson [Wed, 22 Sep 2021 21:59:50 +0000 (23:59 +0200)]
Fix distcheck
Martin Quinson [Wed, 22 Sep 2021 21:54:04 +0000 (23:54 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Wed, 22 Sep 2021 21:26:16 +0000 (23:26 +0200)]
Integrate the tutorial on modeling I/O to the flow of existing pages
Martin Quinson [Wed, 22 Sep 2021 20:49:17 +0000 (22:49 +0200)]
Doc: fix broken links after recent slight API changes
Martin Quinson [Wed, 22 Sep 2021 20:38:18 +0000 (22:38 +0200)]
Document xbt_dynar_t in the new doc
Millian Poquet [Wed, 22 Sep 2021 15:50:31 +0000 (17:50 +0200)]
doc: install/usage with nix/pacman
Millian Poquet [Wed, 22 Sep 2021 15:47:42 +0000 (17:47 +0200)]
doc: nix package to run sphinx with sanity
- official release of javasphinx in PyPI is broken with recent sphinx.
fork on github.com/simgrid/javasphinx is used instead
- other sphinx deps not in nixpkgs are packaged in default.nix
Arnaud Giersch [Wed, 22 Sep 2021 08:20:32 +0000 (10:20 +0200)]
Update warning message.
SUTER Frederic [Wed, 22 Sep 2021 09:06:22 +0000 (11:06 +0200)]
more refactoring of get_instance calls
Martin Quinson [Tue, 21 Sep 2021 20:49:51 +0000 (22:49 +0200)]
Update the doc on getting unstable jar builds
SUTER Frederic [Tue, 21 Sep 2021 15:25:32 +0000 (17:25 +0200)]
please sonar
SUTER Frederic [Tue, 21 Sep 2021 14:20:37 +0000 (16:20 +0200)]
remove smx_global.cpp
SUTER Frederic [Tue, 21 Sep 2021 11:13:17 +0000 (13:13 +0200)]
move MC stuff from simix_global to EngineImpl
Arnaud Giersch [Tue, 21 Sep 2021 13:11:09 +0000 (15:11 +0200)]
Typo.
[ci-skip]
Arnaud Giersch [Tue, 21 Sep 2021 12:45:13 +0000 (14:45 +0200)]
Leak--
[ci-skip]
Arnaud Giersch [Tue, 21 Sep 2021 12:03:37 +0000 (14:03 +0200)]
Address warnings from sonar-scanner.
[ci-skip]
Arnaud Giersch [Tue, 21 Sep 2021 08:38:13 +0000 (10:38 +0200)]
Add comment to ease future deprecation process.
[ci-skip]
SUTER Frederic [Tue, 21 Sep 2021 10:44:36 +0000 (12:44 +0200)]
useless cosmetic commit
SUTER Frederic [Tue, 21 Sep 2021 10:02:51 +0000 (12:02 +0200)]
less indirect calls to get_instance in examples (exec to trace)
SUTER Frederic [Tue, 21 Sep 2021 09:46:35 +0000 (11:46 +0200)]
EngineImpl::shutdown doesn't have to be static
SUTER Frederic [Tue, 21 Sep 2021 09:32:06 +0000 (11:32 +0200)]
please sonar, get_clock is a static method
SUTER Frederic [Tue, 21 Sep 2021 09:18:55 +0000 (11:18 +0200)]
please sonar, set_config is a static method
SUTER Frederic [Tue, 21 Sep 2021 09:13:54 +0000 (11:13 +0200)]
cleanups
SUTER Frederic [Tue, 21 Sep 2021 07:56:15 +0000 (09:56 +0200)]
handle suicidal MPI apps first
SUTER Frederic [Tue, 21 Sep 2021 07:23:29 +0000 (09:23 +0200)]
get rid of surf_init
SUTER Frederic [Tue, 21 Sep 2021 07:06:32 +0000 (09:06 +0200)]
plug last leaks
SUTER Frederic [Mon, 20 Sep 2021 21:16:25 +0000 (23:16 +0200)]
less indirect calls to get_instance in examples (actor to engine)
SUTER Frederic [Mon, 20 Sep 2021 13:45:07 +0000 (15:45 +0200)]
save some hidden calls to Engine::get_instance
SUTER Frederic [Mon, 20 Sep 2021 09:55:46 +0000 (11:55 +0200)]
simplify writing in model setup + may fix issue with unit-tests
SUTER Frederic [Mon, 20 Sep 2021 08:15:20 +0000 (10:15 +0200)]
try to reduce calls to get_instance and plug some leaks
SUTER Frederic [Mon, 20 Sep 2021 07:39:38 +0000 (09:39 +0200)]
add Engine instance in sd_global and avoid using get_instance. plug a leak
Arnaud Giersch [Sun, 19 Sep 2021 14:20:22 +0000 (16:20 +0200)]
Somewhat redo commit
df93dfaab8d79f5e08088aedc95dd2712cef4c70.
Avoids a second initialization of Engine after the end.
See e.g. with teshsuite/s4u/actor-suspend
Arnaud Giersch [Sun, 19 Sep 2021 12:48:17 +0000 (14:48 +0200)]
Missing includes.
* SIMGRID_HAVE_MC not defined;
* undeclared identifier 'kill' on FreeBSD.
SUTER Frederic [Fri, 17 Sep 2021 16:41:43 +0000 (18:41 +0200)]
Merge branch 'no_simix_global'
SUTER Frederic [Tue, 14 Sep 2021 07:38:18 +0000 (09:38 +0200)]
type change + rename function
SUTER Frederic [Fri, 17 Sep 2021 10:52:09 +0000 (12:52 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid into no_simix_global
SUTER Frederic [Fri, 17 Sep 2021 10:51:45 +0000 (12:51 +0200)]
rename SIMIX_set_maestro into simgrid_set_maestro
SUTER Frederic [Fri, 17 Sep 2021 10:36:12 +0000 (12:36 +0200)]
get rid of SIMIX_global_init
SUTER Frederic [Fri, 17 Sep 2021 10:14:13 +0000 (12:14 +0200)]
deal with MSG and Java too
SUTER Frederic [Fri, 17 Sep 2021 09:39:27 +0000 (11:39 +0200)]
move context_mod_init to EngineImpl
SUTER Frederic [Fri, 17 Sep 2021 09:17:19 +0000 (11:17 +0200)]
get rid of simix_global and smx_private.hpp
SUTER Frederic [Fri, 17 Sep 2021 07:07:24 +0000 (09:07 +0200)]
transfer some parts of the initialization from SIMIX_global_init to EngineImpl::initialize
SUTER Frederic [Tue, 14 Sep 2021 13:49:19 +0000 (15:49 +0200)]
move maestro to EngineImpl. breaks a unit-test
Augustin Degomme [Tue, 14 Sep 2021 16:45:17 +0000 (18:45 +0200)]
switch to bigdft sdk container for building bigdft, it already has most packages (soon all)
Augustin Degomme [Tue, 14 Sep 2021 14:55:14 +0000 (16:55 +0200)]
bigdft: missing packages (thanks agier)
Arnaud Giersch [Thu, 9 Sep 2021 19:38:15 +0000 (21:38 +0200)]
Asan: ignore what looks like false positives of gcc-11.
Rationale: these errors are not reported with thread context factory, nor with
clang-12.
[ci-skip]
SUTER Frederic [Tue, 14 Sep 2021 12:08:59 +0000 (14:08 +0200)]
get rid of surf_exit()
SUTER Frederic [Tue, 14 Sep 2021 12:06:41 +0000 (14:06 +0200)]
fix destruction order
SUTER Frederic [Tue, 14 Sep 2021 11:31:02 +0000 (13:31 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid into no_simix_global
Martin Quinson [Mon, 13 Sep 2021 17:05:11 +0000 (19:05 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Augustin Degomme [Mon, 13 Sep 2021 16:17:40 +0000 (18:17 +0200)]
new attempt for bigdft ..
it fails on my local system and I have no idea why, so let's see if this is a local issue.
Martin Quinson [Mon, 13 Sep 2021 09:50:47 +0000 (11:50 +0200)]
external CI scripts: cosmetics and uniformity
Martin Quinson [Mon, 13 Sep 2021 09:36:36 +0000 (11:36 +0200)]
GH CI actions: schedule 1h17 after the docker action, highlight someone in case of error, always notify mattermost
Martin Quinson [Mon, 13 Sep 2021 09:27:54 +0000 (11:27 +0200)]
New GH action for BatSim CI