Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agotypo v3.29
Martin Quinson [Thu, 7 Oct 2021 21:17:51 +0000 (23:17 +0200)]
typo

2 years agoRelease v3.29
Martin Quinson [Thu, 7 Oct 2021 21:10:06 +0000 (23:10 +0200)]
Release v3.29

2 years agocleanups
SUTER Frederic [Thu, 7 Oct 2021 09:18:41 +0000 (11:18 +0200)]
cleanups

2 years agothere is no such thing as simix::Host
SUTER Frederic [Thu, 7 Oct 2021 08:23:55 +0000 (10:23 +0200)]
there is no such thing as simix::Host

2 years agodeprecate SIMIX_is_maestro
SUTER Frederic [Wed, 6 Oct 2021 13:14:29 +0000 (15:14 +0200)]
deprecate SIMIX_is_maestro

2 years agodeprecate 2 more SIMIX functions
SUTER Frederic [Wed, 6 Oct 2021 12:44:55 +0000 (14:44 +0200)]
deprecate 2 more SIMIX functions

2 years agoempty out src/simix/smx_context.cpp
SUTER Frederic [Wed, 6 Oct 2021 07:57:09 +0000 (09:57 +0200)]
empty out src/simix/smx_context.cpp

2 years agomodernize some SIMIX functions
SUTER Frederic [Wed, 6 Oct 2021 07:31:15 +0000 (09:31 +0200)]
modernize some SIMIX functions

2 years agoless calls to simix.h + cosmetics
SUTER Frederic [Fri, 1 Oct 2021 11:21:08 +0000 (13:21 +0200)]
less calls to simix.h + cosmetics

2 years agoMove declarations in smpi_helpers_internal.h.
Arnaud Giersch [Mon, 4 Oct 2021 11:28:01 +0000 (13:28 +0200)]
Move declarations in smpi_helpers_internal.h.

2 years agoFix dead store [fbinfer].
Arnaud Giersch [Fri, 24 Sep 2021 15:29:53 +0000 (17:29 +0200)]
Fix dead store [fbinfer].

2 years agoFix broken broken tesh with ifort.
Arnaud Giersch [Tue, 5 Oct 2021 20:40:54 +0000 (22:40 +0200)]
Fix broken broken tesh with ifort.

2 years agoAdd attribute [[noreturn]].
Arnaud Giersch [Sat, 2 Oct 2021 19:13:55 +0000 (21:13 +0200)]
Add attribute [[noreturn]].

2 years agoSetup argc/argv for the Fortran run-time environment only once.
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.

2 years agoupdate ca-certificates package for bigdft build, as we need the latest version to...
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

2 years agoUse 'auto' with functions returning iterators [sonar].
Arnaud Giersch [Sat, 2 Oct 2021 12:10:26 +0000 (14:10 +0200)]
Use 'auto' with functions returning iterators [sonar].

2 years agoUse type 'unsigned long' [lgtm/pvs-studio].
Arnaud Giersch [Sat, 2 Oct 2021 12:08:23 +0000 (14:08 +0200)]
Use type 'unsigned long' [lgtm/pvs-studio].

2 years agoMisc. cosmetic changes.
Arnaud Giersch [Sat, 2 Oct 2021 12:03:03 +0000 (14:03 +0200)]
Misc. cosmetic changes.

2 years agoPlease sonar about unsecure usage of rand().
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/

2 years agoAvoid spurious diff for generated file.
Arnaud Giersch [Sat, 2 Oct 2021 11:49:04 +0000 (13:49 +0200)]
Avoid spurious diff for generated file.

2 years agoAdd missing call to MPI_Finalize().
Arnaud Giersch [Sat, 2 Oct 2021 11:45:32 +0000 (13:45 +0200)]
Add missing call to MPI_Finalize().

2 years agofix appveyor build (bis)
SUTER Frederic [Fri, 1 Oct 2021 09:54:11 +0000 (11:54 +0200)]
fix appveyor build (bis)

2 years agofix appveyor build
SUTER Frederic [Fri, 1 Oct 2021 09:41:01 +0000 (11:41 +0200)]
fix appveyor build

2 years agodeprecate 2 simix functions
SUTER Frederic [Fri, 1 Oct 2021 09:14:28 +0000 (11:14 +0200)]
deprecate 2 simix functions

2 years agomore include cleanups
SUTER Frederic [Thu, 30 Sep 2021 20:00:42 +0000 (22:00 +0200)]
more include cleanups

2 years agoinclude cleanups in src/s4u
SUTER Frederic [Thu, 30 Sep 2021 17:07:47 +0000 (19:07 +0200)]
include cleanups in src/s4u

2 years agoMC does not like mutexes, so disable the barrier for it.
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.

2 years agorequalify tests impacted by previous change (just the order of messages in most).
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.

2 years agoadd a small bug-inducing test, for the previous fix.
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.

2 years agoAdd a simgrid barrier at the end of MPI_Init call.
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.

2 years agoinclude cleanups (platf_private.hpp, surf_private.hpp and platf.hpp)
SUTER Frederic [Thu, 30 Sep 2021 12:46:09 +0000 (14:46 +0200)]
include cleanups (platf_private.hpp, surf_private.hpp and platf.hpp)

2 years agoinclude cleanups (mostly surf/surf.hpp)
SUTER Frederic [Thu, 30 Sep 2021 12:22:19 +0000 (14:22 +0200)]
include cleanups (mostly surf/surf.hpp)

2 years ago[sonar] fix a few recently introduced smells
SUTER Frederic [Thu, 30 Sep 2021 09:05:59 +0000 (11:05 +0200)]
[sonar] fix a few recently introduced smells

2 years agoChangelog reviewed by Arnaud [ci-skip]
Martin Quinson [Wed, 29 Sep 2021 21:29:43 +0000 (23:29 +0200)]
Changelog reviewed by Arnaud [ci-skip]

2 years agoFix high memory usage when exec events are done.
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.

2 years agoattempt at improving the changelog, TBC
Martin Quinson [Tue, 28 Sep 2021 19:49:37 +0000 (21:49 +0200)]
attempt at improving the changelog, TBC

2 years agodoc: a ref cannot be nullptr
Martin Quinson [Thu, 23 Sep 2021 09:18:46 +0000 (11:18 +0200)]
doc: a ref cannot be nullptr

2 years agoMore consistency in resource creation/destruction
SUTER Frederic [Tue, 28 Sep 2021 14:29:10 +0000 (16:29 +0200)]
More consistency in resource creation/destruction

2 years agoFix memory leak when smpi_exit is called.
Arnaud Giersch [Tue, 28 Sep 2021 08:21:59 +0000 (10:21 +0200)]
Fix memory leak when smpi_exit is called.

2 years agoDeclare this_actor::exit() [[noreturn]].
Arnaud Giersch [Mon, 27 Sep 2021 12:13:01 +0000 (14:13 +0200)]
Declare this_actor::exit() [[noreturn]].

2 years agoextend std namespace with our own definitions.
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.

2 years agouse a more simgrid-y way of telling the compiler that this does never happen.
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.

2 years agoMark the smpi_exit call as noreturn, and really kill the process when exit is called
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

2 years agoRevert "initialize a variable in EP."
Augustin Degomme [Sun, 26 Sep 2021 23:17:54 +0000 (01:17 +0200)]
Revert "initialize a variable in EP."

This reverts commit acf4f8b6abb16973948f10851953a817cd5541a8.

2 years agoinitialize a variable in EP.
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.

2 years agoIntercept exit() to avoid killing simulations too early, as the first process exits.
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.

2 years agomake test pass. The finalization barrier is needed in this case, which is suboptimal.
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.

2 years agofix proxy-apps but not the new smpi faulty test
SUTER Frederic [Fri, 24 Sep 2021 09:29:23 +0000 (11:29 +0200)]
fix proxy-apps but not the new smpi faulty test

2 years agoadd a failing (since a few days) example with an explicit exit in MPI program
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.

2 years agoMerge branch 'public_smpi_func' into 'master'
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

2 years agoMake some SMPI functions public
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

2 years agocosmetics in the changelog and NEWS file [skip-ci]
Martin Quinson [Thu, 23 Sep 2021 07:21:27 +0000 (09:21 +0200)]
cosmetics in the changelog and NEWS file [skip-ci]

2 years agoFix distcheck
Martin Quinson [Wed, 22 Sep 2021 21:59:50 +0000 (23:59 +0200)]
Fix distcheck

2 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Wed, 22 Sep 2021 21:54:04 +0000 (23:54 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

2 years agoIntegrate the tutorial on modeling I/O to the flow of existing pages
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

2 years agoDoc: fix broken links after recent slight API changes
Martin Quinson [Wed, 22 Sep 2021 20:49:17 +0000 (22:49 +0200)]
Doc: fix broken links after recent slight API changes

2 years agoDocument xbt_dynar_t in the new doc
Martin Quinson [Wed, 22 Sep 2021 20:38:18 +0000 (22:38 +0200)]
Document xbt_dynar_t in the new doc

2 years agodoc: install/usage with nix/pacman
Millian Poquet [Wed, 22 Sep 2021 15:50:31 +0000 (17:50 +0200)]
doc: install/usage with nix/pacman

2 years agodoc: nix package to run sphinx with sanity
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

2 years agoUpdate warning message.
Arnaud Giersch [Wed, 22 Sep 2021 08:20:32 +0000 (10:20 +0200)]
Update warning message.

2 years agomore refactoring of get_instance calls
SUTER Frederic [Wed, 22 Sep 2021 09:06:22 +0000 (11:06 +0200)]
more refactoring of get_instance calls

2 years agoUpdate the doc on getting unstable jar builds
Martin Quinson [Tue, 21 Sep 2021 20:49:51 +0000 (22:49 +0200)]
Update the doc on getting unstable jar builds

2 years agoplease sonar
SUTER Frederic [Tue, 21 Sep 2021 15:25:32 +0000 (17:25 +0200)]
please sonar

2 years agoremove smx_global.cpp
SUTER Frederic [Tue, 21 Sep 2021 14:20:37 +0000 (16:20 +0200)]
remove smx_global.cpp

2 years agomove MC stuff from simix_global to EngineImpl
SUTER Frederic [Tue, 21 Sep 2021 11:13:17 +0000 (13:13 +0200)]
move MC stuff from simix_global to EngineImpl

2 years agoTypo.
Arnaud Giersch [Tue, 21 Sep 2021 13:11:09 +0000 (15:11 +0200)]
Typo.

[ci-skip]

2 years agoLeak--
Arnaud Giersch [Tue, 21 Sep 2021 12:45:13 +0000 (14:45 +0200)]
Leak--

[ci-skip]

2 years agoAddress warnings from sonar-scanner.
Arnaud Giersch [Tue, 21 Sep 2021 12:03:37 +0000 (14:03 +0200)]
Address warnings from sonar-scanner.

[ci-skip]

2 years agoAdd comment to ease future deprecation process.
Arnaud Giersch [Tue, 21 Sep 2021 08:38:13 +0000 (10:38 +0200)]
Add comment to ease future deprecation process.

[ci-skip]

2 years agouseless cosmetic commit
SUTER Frederic [Tue, 21 Sep 2021 10:44:36 +0000 (12:44 +0200)]
useless cosmetic commit

2 years agoless indirect calls to get_instance in examples (exec to trace)
SUTER Frederic [Tue, 21 Sep 2021 10:02:51 +0000 (12:02 +0200)]
less indirect calls to get_instance in examples (exec to trace)

2 years agoEngineImpl::shutdown doesn't have to be static
SUTER Frederic [Tue, 21 Sep 2021 09:46:35 +0000 (11:46 +0200)]
EngineImpl::shutdown doesn't have to be static

2 years agoplease sonar, get_clock is a static method
SUTER Frederic [Tue, 21 Sep 2021 09:32:06 +0000 (11:32 +0200)]
please sonar, get_clock is a static method

2 years agoplease sonar, set_config 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

2 years agocleanups
SUTER Frederic [Tue, 21 Sep 2021 09:13:54 +0000 (11:13 +0200)]
cleanups

2 years agohandle suicidal MPI apps first
SUTER Frederic [Tue, 21 Sep 2021 07:56:15 +0000 (09:56 +0200)]
handle suicidal MPI apps first

2 years agoget rid of surf_init
SUTER Frederic [Tue, 21 Sep 2021 07:23:29 +0000 (09:23 +0200)]
get rid of surf_init

2 years agoplug last leaks
SUTER Frederic [Tue, 21 Sep 2021 07:06:32 +0000 (09:06 +0200)]
plug last leaks

2 years agoless indirect calls to get_instance in examples (actor to engine)
SUTER Frederic [Mon, 20 Sep 2021 21:16:25 +0000 (23:16 +0200)]
less indirect calls to get_instance in examples (actor to engine)

2 years agosave some hidden calls to Engine::get_instance
SUTER Frederic [Mon, 20 Sep 2021 13:45:07 +0000 (15:45 +0200)]
save some hidden calls to Engine::get_instance

2 years agosimplify writing in model setup + may fix issue with unit-tests
SUTER Frederic [Mon, 20 Sep 2021 09:55:46 +0000 (11:55 +0200)]
simplify writing in model setup + may fix issue with unit-tests

2 years agotry to reduce calls to get_instance and plug some leaks
SUTER Frederic [Mon, 20 Sep 2021 08:15:20 +0000 (10:15 +0200)]
try to reduce calls to get_instance and plug some leaks

2 years agoadd Engine instance in sd_global and avoid using get_instance. plug a leak
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

2 years agoSomewhat redo commit df93dfaab8d79f5e08088aedc95dd2712cef4c70.
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

2 years agoMissing includes.
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.

2 years agoMerge branch 'no_simix_global'
SUTER Frederic [Fri, 17 Sep 2021 16:41:43 +0000 (18:41 +0200)]
Merge branch 'no_simix_global'

2 years agotype change + rename function
SUTER Frederic [Tue, 14 Sep 2021 07:38:18 +0000 (09:38 +0200)]
type change + rename function

2 years agoMerge branch 'master' of https://framagit.org/simgrid/simgrid into no_simix_global
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

2 years agorename SIMIX_set_maestro into simgrid_set_maestro
SUTER Frederic [Fri, 17 Sep 2021 10:51:45 +0000 (12:51 +0200)]
rename SIMIX_set_maestro into simgrid_set_maestro

2 years agoget rid of SIMIX_global_init
SUTER Frederic [Fri, 17 Sep 2021 10:36:12 +0000 (12:36 +0200)]
get rid of SIMIX_global_init

2 years agodeal with MSG and Java too
SUTER Frederic [Fri, 17 Sep 2021 10:14:13 +0000 (12:14 +0200)]
deal with MSG and Java too

2 years agomove context_mod_init to EngineImpl
SUTER Frederic [Fri, 17 Sep 2021 09:39:27 +0000 (11:39 +0200)]
move context_mod_init to EngineImpl

2 years agoget rid of simix_global and smx_private.hpp
SUTER Frederic [Fri, 17 Sep 2021 09:17:19 +0000 (11:17 +0200)]
get rid of simix_global and smx_private.hpp

2 years agotransfer some parts of the initialization from SIMIX_global_init to EngineImpl::initi...
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

2 years agomove maestro to EngineImpl. breaks a unit-test
SUTER Frederic [Tue, 14 Sep 2021 13:49:19 +0000 (15:49 +0200)]
move maestro to EngineImpl. breaks a unit-test

2 years agoswitch to bigdft sdk container for building bigdft, it already has most packages...
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)

2 years agobigdft: missing packages (thanks agier)
Augustin Degomme [Tue, 14 Sep 2021 14:55:14 +0000 (16:55 +0200)]
bigdft: missing packages (thanks agier)

2 years agoAsan: ignore what looks like false positives of gcc-11.
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]

2 years agoget rid of surf_exit()
SUTER Frederic [Tue, 14 Sep 2021 12:08:59 +0000 (14:08 +0200)]
get rid of surf_exit()

2 years agofix destruction order
SUTER Frederic [Tue, 14 Sep 2021 12:06:41 +0000 (14:06 +0200)]
fix destruction order