Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
21 months agoTry to fix number of '\' escapes in cmake regexps.
Arnaud Giersch [Sun, 3 Jul 2022 13:40:25 +0000 (15:40 +0200)]
Try to fix number of '\' escapes in cmake regexps.

21 months agosthread: don't intercept the main when run from smpirun
Martin Quinson [Sat, 2 Jul 2022 20:40:42 +0000 (22:40 +0200)]
sthread: don't intercept the main when run from smpirun

21 months agoAdapt to the upcoming ns-3 v3.36.1
Martin Quinson [Sat, 2 Jul 2022 11:39:11 +0000 (13:39 +0200)]
Adapt to the upcoming ns-3 v3.36.1

21 months agoMake libsthtread valgrind-aware.
Arnaud Giersch [Fri, 1 Jul 2022 15:04:19 +0000 (17:04 +0200)]
Make libsthtread valgrind-aware.

Without this change, libsthread is initialized twice when using valgrind:
one for the valgrind launcher, and one for the target program.

Use the environment variable VALGRIND_LIB to detect the usage of valgrind,
and don't divert main() when RUNNING_ON_VALGRIND returns 0.

Just hope that noboby has VALGRIND_LIB in its environment without using valgrind.
In this case, the check can be reinforced by looking for the substring "valgrind" in argv[0].

For example, run:
valgrind --trace-children=yes env LD_PRELOAD=./lib/libsthread.so ./examples/sthread/pthread-mutex-simple

21 months agoSonar issues.
Arnaud Giersch [Fri, 1 Jul 2022 08:37:11 +0000 (10:37 +0200)]
Sonar issues.

21 months agoFix test with ASan.
Arnaud Giersch [Thu, 30 Jun 2022 13:11:13 +0000 (15:11 +0200)]
Fix test with ASan.

It failed with: ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

Use ASAN_OPTIONS=verify_asan_link_order=0 instead.

21 months agoPlease valgrind.
Arnaud Giersch [Thu, 30 Jun 2022 08:32:31 +0000 (10:32 +0200)]
Please valgrind.

21 months agoCosmetics (indentation, codefactor.io).
Arnaud Giersch [Thu, 30 Jun 2022 08:17:10 +0000 (10:17 +0200)]
Cosmetics (indentation, codefactor.io).

[ci-skip]

21 months agoMerge branch 'dev-get-hostname-faster' into 'master'
Arnaud Giersch [Thu, 30 Jun 2022 08:15:45 +0000 (08:15 +0000)]
Merge branch 'dev-get-hostname-faster' into 'master'

Make host_by_name faster

See merge request simgrid/simgrid!112

21 months agoMerge branch 'python_ptask' into 'master'
Arnaud Giersch [Thu, 30 Jun 2022 08:02:59 +0000 (08:02 +0000)]
Merge branch 'python_ptask' into 'master'

Add ptasks in the Python bindings

See merge request simgrid/simgrid!113

21 months agoFix the test
Tom Cornebize [Wed, 29 Jun 2022 15:48:58 +0000 (17:48 +0200)]
Fix the test

21 months agoAdd the new test in the cmake file
Tom Cornebize [Wed, 29 Jun 2022 15:40:32 +0000 (17:40 +0200)]
Add the new test in the cmake file

21 months agoAdd the new test in file MANIFEST.in
Tom Cornebize [Wed, 29 Jun 2022 14:51:42 +0000 (16:51 +0200)]
Add the new test in file MANIFEST.in

21 months agoAdd ptasks in the Python bindings
Tom Cornebize [Wed, 29 Jun 2022 13:24:48 +0000 (15:24 +0200)]
Add ptasks in the Python bindings

- This adds several functions in the Python bindings used for manipulating
  ptasks, such as parallel_execute or exec_init.
- This also adds the Engine.set_config function, needed for changing the
  configuration to 'host/model:ptask_L07' in the script.
- Finally, an exec-ptask.py example is added, exact translation of the
  C++ example s4u-exec-ptask.cpp.

21 months agoDisable sthread at the end of the sthread_main
Martin Quinson [Wed, 29 Jun 2022 06:16:16 +0000 (08:16 +0200)]
Disable sthread at the end of the sthread_main

21 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 28 Jun 2022 20:13:36 +0000 (22:13 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

21 months agoAdd a TESH for the new sthread feature
Martin Quinson [Tue, 28 Jun 2022 20:07:02 +0000 (22:07 +0200)]
Add a TESH for the new sthread feature

21 months agoSMPI_is_inited() and smpi_enabled() have the same purpose. Keep only the former.
Arnaud Giersch [Tue, 28 Jun 2022 13:08:05 +0000 (15:08 +0200)]
SMPI_is_inited() and smpi_enabled() have the same purpose. Keep only the former.

21 months agoNo need to duplicate functions.
Arnaud Giersch [Tue, 28 Jun 2022 09:40:37 +0000 (11:40 +0200)]
No need to duplicate functions.

21 months agoUncomment code.
Arnaud Giersch [Tue, 28 Jun 2022 12:38:07 +0000 (14:38 +0200)]
Uncomment code.

21 months agoEasy Sonar smells.
Arnaud Giersch [Tue, 28 Jun 2022 12:37:59 +0000 (14:37 +0200)]
Easy Sonar smells.

21 months agoUse std::string.
Arnaud Giersch [Tue, 28 Jun 2022 12:30:45 +0000 (14:30 +0200)]
Use std::string.

21 months agoMissing return in the raw path.
Arnaud Giersch [Tue, 28 Jun 2022 12:07:33 +0000 (14:07 +0200)]
Missing return in the raw path.

21 months agoAvoid memory leak when exception is thrown.
Arnaud Giersch [Tue, 28 Jun 2022 11:46:33 +0000 (13:46 +0200)]
Avoid memory leak when exception is thrown.

21 months agoMake sthread_inside_simgrid static into libsthread in the (vain) hope that it'll...
Martin Quinson [Mon, 27 Jun 2022 20:01:03 +0000 (22:01 +0200)]
Make sthread_inside_simgrid static into libsthread in the (vain) hope that it'll help the init/fini phases

but unfortunately the symptoms are exactly the same:
- default builds work well with sthread LD_PRELOAD'ed
- MC builds segfault once the second thread starts in this case
- ns-3 builds deadlock in dl_init with sthread

I'm still commiting this because I believe that breaking the hard
dependency of sthread -> simgrid goes in the right direction: If
sthread is alone in memory without simgrid (as it may happen at
init/fini phases), it's a rather bad idea for sthread to use a
variable that lives in simgrid symbols.

Maybe I should load simgrid dynamically with libdl instead of
depending on it to further untighten the dependency, but I'd prefer to
understand. Plus, it'd only help at init phase and ns-3 builds are not
the ones I'd prefer to fix here.

21 months agoDistcheck!
Arnaud Giersch [Mon, 27 Jun 2022 09:36:19 +0000 (11:36 +0200)]
Distcheck!

21 months agoMerge branch 's4u_enforce' into 'master'
Arnaud Giersch [Mon, 27 Jun 2022 09:30:00 +0000 (09:30 +0000)]
Merge branch 's4u_enforce' into 'master'

Implement s4u_enforce

See merge request simgrid/simgrid!111

21 months agoAnswer to Mt comments
Fabien Chaix [Mon, 27 Jun 2022 06:35:01 +0000 (09:35 +0300)]
Answer to Mt comments

21 months agomake sthread work out of MC build trees
Martin Quinson [Sun, 26 Jun 2022 10:48:35 +0000 (12:48 +0200)]
make sthread work out of MC build trees

22 months agoMake vm_by_name() public and modify c-cloud-migration to use new functions
Fabien Chaix [Sat, 25 Jun 2022 22:08:45 +0000 (01:08 +0300)]
Make vm_by_name() public and modify c-cloud-migration to use new functions

22 months agotentative of implementing pthread_join, and to ensure that we are inside simgrid...
Martin Quinson [Sat, 25 Jun 2022 10:02:58 +0000 (12:02 +0200)]
tentative of implementing pthread_join, and to ensure that we are inside simgrid once the context stops

22 months agoMake sure that sthread_inside_simgrid is initially 1 to protect all lib constructors
Martin Quinson [Fri, 24 Jun 2022 23:11:09 +0000 (01:11 +0200)]
Make sure that sthread_inside_simgrid is initially 1 to protect all lib constructors

Even the ones that we don't control, such as gdb's...

In addition, there is no need to define sthread_inside_simgrid in
libsimgrid. We can keep it to libsthread where it belongs.

Also do some other cleanups around.

22 months agosthread is not a binary [anymore] but a library
Martin Quinson [Fri, 24 Jun 2022 21:29:03 +0000 (23:29 +0200)]
sthread is not a binary [anymore] but a library

22 months agosthread does not exist on FreeBSD so don't break MC builds there
Martin Quinson [Fri, 24 Jun 2022 21:23:38 +0000 (23:23 +0200)]
sthread does not exist on FreeBSD so don't break MC builds there

22 months agoDocument one recent change
Martin Quinson [Fri, 24 Jun 2022 21:12:27 +0000 (23:12 +0200)]
Document one recent change

22 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Fri, 24 Jun 2022 21:03:35 +0000 (23:03 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

22 months agoOngoing attempt for sthread, an automatic intercepter of pthread operations
Martin Quinson [Fri, 24 Jun 2022 20:23:28 +0000 (22:23 +0200)]
Ongoing attempt for sthread, an automatic intercepter of pthread operations

There is no test yet, because it's *almost* working.

22 months agoAdd a function to determine whether SMPI is currently used
Martin Quinson [Sun, 12 Jun 2022 23:00:11 +0000 (01:00 +0200)]
Add a function to determine whether SMPI is currently used

22 months agoQuick and dirty fix to speed up get_host_by_name
Fabien Chaix [Thu, 16 Jun 2022 17:14:33 +0000 (20:14 +0300)]
Quick and dirty fix to speed up get_host_by_name

22 months agoChangeLog [ci-skip]
Arnaud Giersch [Thu, 23 Jun 2022 09:20:04 +0000 (11:20 +0200)]
ChangeLog [ci-skip]

22 months agoMissing include (for uintptr_t).
Arnaud Giersch [Thu, 23 Jun 2022 08:20:28 +0000 (10:20 +0200)]
Missing include (for uintptr_t).

22 months agoRemove the -Wformat-security warning
Tom Cornebize [Thu, 23 Jun 2022 07:54:20 +0000 (09:54 +0200)]
Remove the -Wformat-security warning

Applying the patch from @agiersch

22 months agoRemove useless statements
Tom Cornebize [Tue, 21 Jun 2022 13:35:27 +0000 (15:35 +0200)]
Remove useless statements

22 months agoRenaming: s4u_enforce -> xbt_enforce
Tom Cornebize [Tue, 21 Jun 2022 13:26:28 +0000 (15:26 +0200)]
Renaming: s4u_enforce -> xbt_enforce

22 months agoMissing 'override' specifier.
Arnaud Giersch [Tue, 21 Jun 2022 12:10:42 +0000 (14:10 +0200)]
Missing 'override' specifier.

22 months agoMerge branch 'dev-cpuimpl-used' into 'master'
Arnaud Giersch [Tue, 21 Jun 2022 12:02:16 +0000 (12:02 +0000)]
Merge branch 'dev-cpuimpl-used' into 'master'

Trigger new engine solve upon host events such as host on/off

See merge request simgrid/simgrid!109

22 months agoFix one tesh test
Tom Cornebize [Tue, 21 Jun 2022 10:51:39 +0000 (12:51 +0200)]
Fix one tesh test

22 months agoUpdate the changelog for s4u_enforce
Tom Cornebize [Tue, 21 Jun 2022 09:49:12 +0000 (11:49 +0200)]
Update the changelog for s4u_enforce

22 months agoImplement s4u_enforce
Tom Cornebize [Tue, 21 Jun 2022 08:57:36 +0000 (10:57 +0200)]
Implement s4u_enforce

This adds a new macro, s4u_enforce, with the same syntax as xbt_assert.
The difference with xbt_assert is that this macro will throw an
exception if the statement is false, instead of calling abort().

22 months agoMerge branch 'fix_python' into 'master'
Arnaud Giersch [Fri, 17 Jun 2022 07:28:31 +0000 (07:28 +0000)]
Merge branch 'fix_python' into 'master'

Fix the put/get(_async) mailbox methods in the Python bindings

See merge request simgrid/simgrid!110

22 months agoFix the put/get(_async) mailbox methods in the Python bindings
Tom Cornebize [Thu, 16 Jun 2022 19:10:47 +0000 (21:10 +0200)]
Fix the put/get(_async) mailbox methods in the Python bindings

The message sizes had to fit in an int, which is too small for
some reasonable cases (e.g. sending 10 GB).

22 months agoHint about how to configure with ninja instead of make
Martin Quinson [Sun, 12 Jun 2022 22:58:13 +0000 (00:58 +0200)]
Hint about how to configure with ninja instead of make

22 months agoFix regression tests
Fabien Chaix [Fri, 10 Jun 2022 08:03:09 +0000 (11:03 +0300)]
Fix regression tests

22 months agoMC: better encapsulation design
Martin Quinson [Mon, 23 May 2022 22:36:32 +0000 (00:36 +0200)]
MC: better encapsulation design

22 months agoAlways advertise CpuImpl as used to trigger Engine refresh upon trace event
Fabien Chaix [Fri, 10 Jun 2022 07:21:26 +0000 (10:21 +0300)]
Always advertise CpuImpl as used to trigger Engine refresh upon trace event

22 months agos/NULL/nullptr/ [ci-skip]
Arnaud Giersch [Thu, 9 Jun 2022 06:59:50 +0000 (08:59 +0200)]
s/NULL/nullptr/ [ci-skip]

22 months agoFix build with graphviz >= 3.
Arnaud Giersch [Wed, 8 Jun 2022 11:02:14 +0000 (13:02 +0200)]
Fix build with graphviz >= 3.

22 months agoMatch xbt_malloc with xbt_free.
Arnaud Giersch [Wed, 8 Jun 2022 09:31:08 +0000 (11:31 +0200)]
Match xbt_malloc with xbt_free.

22 months agoUseless use of xargs.
Arnaud Giersch [Sun, 5 Jun 2022 10:34:02 +0000 (12:34 +0200)]
Useless use of xargs.

22 months agoPropagate const attribute (sonar).
Arnaud Giersch [Sat, 4 Jun 2022 08:43:47 +0000 (10:43 +0200)]
Propagate const attribute (sonar).

22 months agoUse xbt_malloc that never return null.
Arnaud Giersch [Sat, 4 Jun 2022 08:38:17 +0000 (10:38 +0200)]
Use xbt_malloc that never return null.

22 months agoAddress a few "null dereference" warnings from fbinfer.
Arnaud Giersch [Fri, 3 Jun 2022 14:29:57 +0000 (16:29 +0200)]
Address a few "null dereference" warnings from fbinfer.

22 months agoCoding style: snake_case.
Arnaud Giersch [Fri, 3 Jun 2022 14:14:44 +0000 (16:14 +0200)]
Coding style: snake_case.

22 months agoAnother batch of pointer-to-const (sonar).
Arnaud Giersch [Thu, 2 Jun 2022 07:58:05 +0000 (09:58 +0200)]
Another batch of pointer-to-const (sonar).

22 months agoCall smpi_mpi_init before smpi_bench_begin.
Arnaud Giersch [Wed, 1 Jun 2022 09:44:12 +0000 (11:44 +0200)]
Call smpi_mpi_init before smpi_bench_begin.

Fix simgrid/simgrid#109

22 months agoVarious small fixes.
Arnaud Giersch [Wed, 1 Jun 2022 08:10:10 +0000 (10:10 +0200)]
Various small fixes.

* parameter smpi/runnning-power has been renamed
* fix error message

[ci-skip]

22 months agoAdd default value for every member variable (useful with default constructor).
Arnaud Giersch [Mon, 30 May 2022 15:17:24 +0000 (17:17 +0200)]
Add default value for every member variable (useful with default constructor).

22 months agoDelete unusable default constructor.
Arnaud Giersch [Mon, 30 May 2022 15:08:26 +0000 (17:08 +0200)]
Delete unusable default constructor.

22 months agoarm systems have unsigned chars by default, enforce signedness for consistancy
Augustin Degomme [Mon, 30 May 2022 15:28:44 +0000 (17:28 +0200)]
arm systems have unsigned chars by default, enforce signedness for consistancy

22 months agoChangeLog: move closed issue to the right section.
Arnaud Giersch [Mon, 30 May 2022 13:12:21 +0000 (15:12 +0200)]
ChangeLog: move closed issue to the right section.

22 months agoChangelog update
Tom Cornebize [Mon, 30 May 2022 13:07:53 +0000 (15:07 +0200)]
Changelog update

22 months agoMerge selected changes from branch 'simgrid-Jesse-McDonald-master-patch-09242'
Arnaud Giersch [Mon, 30 May 2022 09:55:13 +0000 (11:55 +0200)]
Merge selected changes from branch 'simgrid-Jesse-McDonald-master-patch-09242'

(ignore the first change which is not valid)

22 months agoPlease static checkers.
Arnaud Giersch [Mon, 30 May 2022 09:05:15 +0000 (11:05 +0200)]
Please static checkers.

23 months agoMerge branch 'graphicator_seal' into 'master'
Arnaud Giersch [Wed, 25 May 2022 12:44:24 +0000 (12:44 +0000)]
Merge branch 'graphicator_seal' into 'master'

Seal the platform in graphicator before dumping

See merge request simgrid/simgrid!107

23 months agoSeal the platform in graphicator before dumping
Tom Cornebize [Wed, 25 May 2022 12:02:40 +0000 (14:02 +0200)]
Seal the platform in graphicator before dumping

23 months agoUpdate .mailmap [ci-skip].
Arnaud Giersch [Wed, 25 May 2022 10:15:57 +0000 (12:15 +0200)]
Update .mailmap [ci-skip].

23 months agoAvoid null dereference in assert (when !dst).
Arnaud Giersch [Wed, 25 May 2022 10:07:10 +0000 (12:07 +0200)]
Avoid null dereference in assert (when !dst).

23 months agoMerge branch 'simgrid-platform_robustness'
Arnaud Giersch [Wed, 25 May 2022 10:01:19 +0000 (12:01 +0200)]
Merge branch 'simgrid-platform_robustness'

23 months agoMerge branch 'simgrid-topo_simplification'
Arnaud Giersch [Wed, 25 May 2022 09:42:32 +0000 (11:42 +0200)]
Merge branch 'simgrid-topo_simplification'

23 months agoTwo more sonar issues.
Arnaud Giersch [Wed, 25 May 2022 07:12:06 +0000 (09:12 +0200)]
Two more sonar issues.

23 months agoDeeper check on src and dst in add_route method
Tom Cornebize [Wed, 25 May 2022 08:50:13 +0000 (10:50 +0200)]
Deeper check on src and dst in add_route method

23 months agoImprove the supernode.py script
Tom Cornebize [Wed, 25 May 2022 08:34:07 +0000 (10:34 +0200)]
Improve the supernode.py script

- Add a --simplify option to remove the "link" vertices from the graph
  (and thus have a smaller visualization).
- Output file name is now a command line argument.
- Intermediate files are now put in a temporary directory, instead of
  the working directory.
- Better error display.

23 months agoUnused import.
Arnaud Giersch [Sat, 21 May 2022 07:48:40 +0000 (09:48 +0200)]
Unused import.

[ci-skip]

23 months agoSonar issues.
Arnaud Giersch [Tue, 24 May 2022 12:02:57 +0000 (14:02 +0200)]
Sonar issues.

23 months agoUseless usage of c_str().
Arnaud Giersch [Fri, 20 May 2022 12:43:50 +0000 (14:43 +0200)]
Useless usage of c_str().

23 months agoModify test to run latest libsupernode.so at least once.
Arnaud Giersch [Fri, 20 May 2022 09:10:19 +0000 (11:10 +0200)]
Modify test to run latest libsupernode.so at least once.

23 months agoToday's sonar/codefactor issues.
Arnaud Giersch [Fri, 20 May 2022 08:37:38 +0000 (10:37 +0200)]
Today's sonar/codefactor issues.

23 months agoMerge branch 'dev-add_comm_fault_scenario2' into 'master'
Augustin Degomme [Fri, 20 May 2022 08:24:24 +0000 (08:24 +0000)]
Merge branch 'dev-add_comm_fault_scenario2' into 'master'

Run all comm fault scenarios now that other MRs have been accepted

See merge request simgrid/simgrid!104

23 months agoRemove debug messages from tesh because it makes the test fragile
Fabien Chaix [Fri, 20 May 2022 08:08:50 +0000 (11:08 +0300)]
Remove debug messages from tesh because it makes the test fragile

23 months agofix for 32 bits
Augustin Degomme [Fri, 20 May 2022 07:45:28 +0000 (07:45 +0000)]
fix for 32 bits

23 months agoRun all scenarios now that other MRs have been accepted
Fabien Chaix [Fri, 20 May 2022 06:33:01 +0000 (09:33 +0300)]
Run all scenarios now that other MRs have been accepted

23 months agoMerge branch 'dev-add_comm_fault_scenario' into 'master'
Augustin Degomme [Fri, 20 May 2022 07:23:12 +0000 (07:23 +0000)]
Merge branch 'dev-add_comm_fault_scenario' into 'master'

Add a test to cover many communication fault scenarios

See merge request simgrid/simgrid!103

23 months agoRevert "Run all scenarios now that other MRs have been accepted"
Fabien Chaix [Fri, 20 May 2022 07:06:51 +0000 (07:06 +0000)]
Revert "Run all scenarios now that other MRs have been accepted"

This reverts commit 00c4012bc527af7b7d532ad4a20eb83fe55e8b20

23 months agoRun all scenarios now that other MRs have been accepted
Fabien Chaix [Fri, 20 May 2022 06:41:06 +0000 (06:41 +0000)]
Run all scenarios now that other MRs have been accepted

23 months agomore enum to use Simgrid macros
Fabien Chaix [Thu, 19 May 2022 15:34:07 +0000 (18:34 +0300)]
more enum to use Simgrid macros

23 months agoUse Simgrid macro to get cleaner enums
Fabien Chaix [Thu, 19 May 2022 15:18:26 +0000 (18:18 +0300)]
Use Simgrid macro to get cleaner enums

23 months agoUse std::unique_ptr instead of new/delete in xbt_replay (sonar).
Arnaud Giersch [Thu, 19 May 2022 15:11:45 +0000 (17:11 +0200)]
Use std::unique_ptr instead of new/delete in xbt_replay (sonar).

23 months agoMake function "const" (sonar).
Arnaud Giersch [Thu, 19 May 2022 15:00:49 +0000 (17:00 +0200)]
Make function "const" (sonar).

23 months agoDisallow template argument deduction for config::Flag.
Arnaud Giersch [Thu, 19 May 2022 14:58:09 +0000 (16:58 +0200)]
Disallow template argument deduction for config::Flag.

Rationale: constructors have so many parameters that it would be hard to read and deduce the underlying type.

23 months agoDefine xbt::type_identity_t (similar to C++20's std::type_identity_t).
Arnaud Giersch [Thu, 19 May 2022 14:54:44 +0000 (16:54 +0200)]
Define xbt::type_identity_t (similar to C++20's std::type_identity_t).