Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agoSplitDuplexLinkImpl always have SharingPolicy::SPLITDUPLEX. Use a sdingle assert...
Arnaud Giersch [Tue, 6 Jul 2021 08:54:27 +0000 (10:54 +0200)]
SplitDuplexLinkImpl always have SharingPolicy::SPLITDUPLEX. Use a sdingle assert in Link::get_impl().

2 years agodoc: autodoxy is gone, so remove a workaround for it
Martin Quinson [Mon, 5 Jul 2021 22:51:53 +0000 (00:51 +0200)]
doc: autodoxy is gone, so remove a workaround for it

2 years agoCosmetics in ChangeLog (mostly reorder and rewrap)
Martin Quinson [Mon, 5 Jul 2021 22:51:18 +0000 (00:51 +0200)]
Cosmetics in ChangeLog (mostly reorder and rewrap)

2 years agosmall doc improvement
Martin Quinson [Mon, 5 Jul 2021 22:50:35 +0000 (00:50 +0200)]
small doc improvement

2 years agoUse reference to const for large input parameters.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Use reference to const for large input parameters.

2 years agoAdd 'const' for sonar.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Add 'const' for sonar.

2 years agoAdd informative comment near implementation for deprecated functions.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Add informative comment near implementation for deprecated functions.

2 years agoAttribute 'virtual' is redundant with 'override'.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Attribute 'virtual' is redundant with 'override'.

2 years agoIt's an internal error if get_impl returns null. Add an assert to be sure.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
It's an internal error if get_impl returns null. Add an assert to be sure.

(and hope to please fbinfer)

2 years agoChangelog: C++ interface
Bruno Donassolo [Thu, 1 Jul 2021 12:51:44 +0000 (14:51 +0200)]
Changelog: C++ interface

2 years agoSonar variety
Bruno Donassolo [Thu, 1 Jul 2021 12:19:49 +0000 (14:19 +0200)]
Sonar variety

2 years agoTry to fix opensuse, gcc 11.0.0 build
Bruno Donassolo [Wed, 30 Jun 2021 17:59:24 +0000 (19:59 +0200)]
Try to fix opensuse, gcc 11.0.0 build

2 years agoMerge branch 'split_link_impl' into 'master'
Bruno Donassolo [Wed, 30 Jun 2021 16:00:02 +0000 (16:00 +0000)]
Merge branch 'split_link_impl' into 'master'

Split-Duplex: s4u support

See merge request simgrid/simgrid!66

2 years agoSplit-Duplex: new management
Bruno Donassolo [Fri, 18 Jun 2021 13:11:57 +0000 (15:11 +0200)]
Split-Duplex: new management

1. Huge commit to add support to Split-Duplex in S4U.
  - New interface: s4u::SplitDuplexLink

2. Allows its creation through the C++ interface without manually creating
the link UP and DOWN.
  - NetZone::create_split_duplex_link

3. Changes in NetZone::add_route to allow the description of the
direction in C++ interface
  - LinkInRoute: wrap around Link* to indicate the direction
(UP/DOWN/NONE) for the link.
  - UP/DOWN are used to split-duplex links
  - NONE for other types (shared, wifi, fat-pipe)

4. Fix use of split-duplex links in symmetric routes in XML too.
     <route src="alice" dst="bob" symmetrical="YES">
       <link_ctn id="link1" direction="UP"/>
     </route>
  Now this code works, it will add the link1_DOWN as route to
bob->alice. In the past, it would add link1_UP for bob->alice too.

2 years agoDon't mix LMM sharing policy with S4U.
Bruno Donassolo [Thu, 17 Jun 2021 14:51:01 +0000 (16:51 +0200)]
Don't mix LMM sharing policy with S4U.

Add another enum for maxmin sharing policy
In the maxmin system, only FATPIPE and SHARED make sense.

2 years agoDon't mix C with C++ API here.
Arnaud Giersch [Sat, 26 Jun 2021 19:30:26 +0000 (21:30 +0200)]
Don't mix C with C++ API here.

This is in the Tutorial section and should be kept simple.

2 years agoFix another bunch of dead links in docs.
Arnaud Giersch [Fri, 25 Jun 2021 21:47:17 +0000 (23:47 +0200)]
Fix another bunch of dead links in docs.

2 years agoMore trivial fixes for docs.
Arnaud Giersch [Fri, 25 Jun 2021 11:05:17 +0000 (13:05 +0200)]
More trivial fixes for docs.

Remove reference to Mutex/Semaphore ctor and dtor, since they are not public.

2 years agoIncrease requirements for breathe.
Arnaud Giersch [Fri, 25 Jun 2021 09:35:40 +0000 (11:35 +0200)]
Increase requirements for breathe.

2 years agoDisallow sphinx>=4.0 for now: it's breaking on CI
Arnaud Giersch [Fri, 25 Jun 2021 09:02:17 +0000 (11:02 +0200)]
Disallow sphinx>=4.0 for now: it's breaking on CI

Exception occurred:
  File /usr/lib/python3/dist-packages/docutils/nodes.py, line 625, in __getitem__
    return self.attributes[key]
KeyError: 'domain'

2 years agoTry to increase sphinx requirements.
Arnaud Giersch [Fri, 25 Jun 2021 08:34:44 +0000 (10:34 +0200)]
Try to increase sphinx requirements.

Match version currently available in Debian testing and unstable.

2 years agoMinor fixes in doc.
Arnaud Giersch [Fri, 25 Jun 2021 08:03:59 +0000 (10:03 +0200)]
Minor fixes in doc.

2 years agoTwo more const methods spotted by sonar.
Arnaud Giersch [Fri, 25 Jun 2021 06:51:36 +0000 (08:51 +0200)]
Two more const methods spotted by sonar.

2 years agoMore int -> unsigned long.
Arnaud Giersch [Fri, 25 Jun 2021 06:50:15 +0000 (08:50 +0200)]
More int -> unsigned long.

2 years agoDon't fail when there's no error!
Arnaud Giersch [Fri, 25 Jun 2021 06:34:50 +0000 (08:34 +0200)]
Don't fail when there's no error!

2 years agoFix a few warnings when building doc (mostly related to doxygen).
Arnaud Giersch [Thu, 24 Jun 2021 18:26:20 +0000 (20:26 +0200)]
Fix a few warnings when building doc (mostly related to doxygen).

2 years agoCorrectly remove generated files.
Arnaud Giersch [Thu, 24 Jun 2021 20:25:04 +0000 (22:25 +0200)]
Correctly remove generated files.

The added "rm" command for s4u-exec-ptasks prevents use of ADD_TESH_FACTORIES
(it chokes on "--cfg=contexts/factory:...").

2 years agoGet back |br| in XML doc
Bruno Donassolo [Thu, 24 Jun 2021 14:13:53 +0000 (16:13 +0200)]
Get back |br| in XML doc

Fix my previous mistake removing them

2 years agoThis is an unsigned integer.
Arnaud Giersch [Thu, 24 Jun 2021 12:33:07 +0000 (14:33 +0200)]
This is an unsigned integer.

2 years agoGraphNodeData::graph_id_ is an unsigned long.
Arnaud Giersch [Thu, 24 Jun 2021 12:23:01 +0000 (14:23 +0200)]
GraphNodeData::graph_id_ is an unsigned long.

2 years agoType consistency.
Arnaud Giersch [Thu, 24 Jun 2021 12:10:52 +0000 (14:10 +0200)]
Type consistency.

2 years agoThis is a test for emptiness.
Arnaud Giersch [Thu, 24 Jun 2021 12:09:27 +0000 (14:09 +0200)]
This is a test for emptiness.

2 years ago[sonar] Avoid C-style array.
Arnaud Giersch [Thu, 24 Jun 2021 11:43:30 +0000 (13:43 +0200)]
[sonar] Avoid C-style array.

2 years agoParameter 'fd' is always -1 for xbt_mheap_new. Kill dead code.
Arnaud Giersch [Thu, 24 Jun 2021 09:10:06 +0000 (11:10 +0200)]
Parameter 'fd' is always -1 for xbt_mheap_new. Kill dead code.

2 years agoSeveral improvements in doc [ci-skip]
Bruno Donassolo [Thu, 24 Jun 2021 13:27:52 +0000 (15:27 +0200)]
Several improvements in doc [ci-skip]

2 years agoDeclare method const.
Arnaud Giersch [Thu, 24 Jun 2021 08:03:30 +0000 (10:03 +0200)]
Declare method const.

2 years agoFix type for variable.
Arnaud Giersch [Thu, 24 Jun 2021 08:01:10 +0000 (10:01 +0200)]
Fix type for variable.

2 years agoUse std::unique_ptr and remove explicit destructor.
Arnaud Giersch [Thu, 24 Jun 2021 07:48:15 +0000 (09:48 +0200)]
Use std::unique_ptr and remove explicit destructor.

2 years agoPass the real pointer to the englobing MC class for the event callback.
Arnaud Giersch [Thu, 24 Jun 2021 07:39:48 +0000 (09:39 +0200)]
Pass the real pointer to the englobing MC class for the event callback.

(avoid accidental upcast)

2 years agoUse ssize_t for Exec::wait_any and Io::wait_any too.
Arnaud Giersch [Wed, 23 Jun 2021 09:11:13 +0000 (11:11 +0200)]
Use ssize_t for Exec::wait_any and Io::wait_any too.

2 years agoUse ssize_t as return type for Comm::wait_any.
Arnaud Giersch [Wed, 23 Jun 2021 08:56:43 +0000 (10:56 +0200)]
Use ssize_t as return type for Comm::wait_any.

2 years agoUse ssize_t as return type for Comm::test_any.
Arnaud Giersch [Wed, 23 Jun 2021 08:23:09 +0000 (10:23 +0200)]
Use ssize_t as return type for Comm::test_any.

2 years agoUpdate .mailmap.
Arnaud Giersch [Tue, 22 Jun 2021 22:22:16 +0000 (00:22 +0200)]
Update .mailmap.

2 years agoTwo more s/pointer/reference/ for std::vector parameter.
Arnaud Giersch [Tue, 22 Jun 2021 21:50:16 +0000 (23:50 +0200)]
Two more s/pointer/reference/ for std::vector parameter.

2 years agoPrefer a reference for first parameter of {test,wait}_{all,any}.
Arnaud Giersch [Tue, 22 Jun 2021 20:37:17 +0000 (22:37 +0200)]
Prefer a reference for first parameter of {test,wait}_{all,any}.

2 years agoAdd a test in teshsuite for Comm::wait_all_for.
Arnaud Giersch [Tue, 22 Jun 2021 09:48:41 +0000 (11:48 +0200)]
Add a test in teshsuite for Comm::wait_all_for.

2 years agoImplement Comm::wait_all_for (wait_all with a timeout).
Arnaud Giersch [Mon, 21 Jun 2021 15:04:20 +0000 (17:04 +0200)]
Implement Comm::wait_all_for (wait_all with a timeout).

2 years agoReduce code duplication.
Arnaud Giersch [Mon, 21 Jun 2021 14:57:20 +0000 (16:57 +0200)]
Reduce code duplication.

2 years agoMake field 'mc::ActorState::times_considered' private.
Arnaud Giersch [Mon, 21 Jun 2021 14:13:58 +0000 (16:13 +0200)]
Make field 'mc::ActorState::times_considered' private.

2 years agoMake field 's4u::Host::pimpl_cpu' private.
Arnaud Giersch [Mon, 21 Jun 2021 13:31:10 +0000 (15:31 +0200)]
Make field 's4u::Host::pimpl_cpu' private.

2 years agoAdd missing copyright notices.
Arnaud Giersch [Tue, 22 Jun 2021 15:17:24 +0000 (17:17 +0200)]
Add missing copyright notices.

2 years agohelp latest fedora with mc
Augustin Degomme [Tue, 22 Jun 2021 10:18:46 +0000 (12:18 +0200)]
help latest fedora with mc

2 years agobe a bit more safe here
Augustin Degomme [Tue, 22 Jun 2021 08:42:20 +0000 (10:42 +0200)]
be a bit more safe here

2 years agochangelog update for SMPI
Augustin Degomme [Tue, 22 Jun 2021 08:41:17 +0000 (10:41 +0200)]
changelog update for SMPI

2 years agodocument _TAG versions of sampling macros
Augustin Degomme [Tue, 22 Jun 2021 08:09:33 +0000 (10:09 +0200)]
document _TAG versions of sampling macros

2 years agoFix distcheck
Bruno Donassolo [Mon, 21 Jun 2021 19:05:57 +0000 (21:05 +0200)]
Fix distcheck

2 years agoLink::set_concurrency_limit
Bruno Donassolo [Mon, 21 Jun 2021 18:59:32 +0000 (20:59 +0200)]
Link::set_concurrency_limit

Allow setting a limit for concurrent flows on platforms links.

Add a simple example limiting the number of flows to 2 in the single
platform link.

2 years agoSmall entry about dynamic network factors [doc]
Bruno Donassolo [Thu, 17 Jun 2021 12:39:53 +0000 (14:39 +0200)]
Small entry about dynamic network factors [doc]

2 years agoStarZone documentation [doc]
Bruno Donassolo [Thu, 17 Jun 2021 11:38:10 +0000 (13:38 +0200)]
StarZone documentation [doc]

Explain Star Zone and its special route declaration.

2 years agoFix some links in graphical toc [doc]
Bruno Donassolo [Tue, 15 Jun 2021 14:36:32 +0000 (16:36 +0200)]
Fix some links in graphical toc [doc]

2 years agoAdding some packages missing packages [doc]
Bruno Donassolo [Tue, 15 Jun 2021 10:52:27 +0000 (12:52 +0200)]
Adding some packages missing packages [doc]

Packages needed to run ./Build.sh script

2 years agoAdding C++ platform documentation [doc]
Bruno Donassolo [Tue, 15 Jun 2021 10:52:12 +0000 (12:52 +0200)]
Adding C++ platform documentation [doc]

- Point to the examples.
- Rewrite routing part to explain how we calculate the routes between
different zones.

2 years agoAdd a SMPI_SAMPLE_LOCAL_TAG and SMPI_SAMPLE_GLOBAL_TAG macro for sampling, to provide...
Augustin Degomme [Wed, 16 Jun 2021 22:24:24 +0000 (00:24 +0200)]
Add a SMPI_SAMPLE_LOCAL_TAG and SMPI_SAMPLE_GLOBAL_TAG macro for sampling, to provide unique parameters to separate various calls to sampling.
This can be used when a kernel is called with various distinct sets of parameters.
Tag is a string of max size 128.

2 years agoTry to be more coherent, fix misleading message, and fix test.
Augustin Degomme [Wed, 16 Jun 2021 20:26:25 +0000 (22:26 +0200)]
Try to be more coherent, fix misleading message, and fix test.
It was asking 0 iterations max, let's say that this means "exit after the first".

2 years agofix bug in sampling, it was ignoring max number of iterations
Augustin Degomme [Wed, 16 Jun 2021 19:00:57 +0000 (21:00 +0200)]
fix bug in sampling, it was ignoring max number of iterations

2 years agoset this error added in 9d5b713b1 as a pedantic one, to allow ignoring it.
Augustin Degomme [Mon, 14 Jun 2021 12:10:19 +0000 (14:10 +0200)]
set this error added in 9d5b713b1 as a pedantic one, to allow ignoring it.
Rationale : we don't really know if it's actually an error, and read2shmem code triggers it in proxy apps.

2 years agoAdd smpi/pedantic flag to avoiding reporting controversial errors that may or may...
Augustin Degomme [Mon, 14 Jun 2021 12:08:23 +0000 (14:08 +0200)]
Add smpi/pedantic flag to avoiding reporting controversial errors that may or may not be important.

2 years agoAdd option smpi/errors-are-fatal to allow users to bypass MPI errors returned by...
Augustin Degomme [Mon, 14 Jun 2021 12:07:41 +0000 (14:07 +0200)]
Add option smpi/errors-are-fatal to allow users to bypass MPI errors returned by SMPI.
This basically sets the default errhandler to MPI_ERRORS_RETURN if set to false.

2 years agoCleanup in .gitignore files; delete obsolete tesh file. [ci-skip]
Arnaud Giersch [Sun, 13 Jun 2021 19:48:26 +0000 (21:48 +0200)]
Cleanup in .gitignore files; delete obsolete tesh file. [ci-skip]

2 years ago[sonar] Replace redundant type with 'auto'.
Arnaud Giersch [Sun, 13 Jun 2021 13:45:25 +0000 (15:45 +0200)]
[sonar] Replace redundant type with 'auto'.

2 years agoRemove misleading comment: there is no simcall between the two assignments.
Arnaud Giersch [Sat, 12 Jun 2021 13:01:42 +0000 (15:01 +0200)]
Remove misleading comment: there is no simcall between the two assignments.

2 years agoAdd more optimizations for MC builds.
Arnaud Giersch [Sat, 12 Jun 2021 13:00:49 +0000 (15:00 +0200)]
Add more optimizations for MC builds.

2 years agoFactorize common code to assemble vector<LinkImpl*> and update latency.
Arnaud Giersch [Fri, 11 Jun 2021 11:52:17 +0000 (13:52 +0200)]
Factorize common code to assemble vector<LinkImpl*> and update latency.

2 years agoFix loop: iterator is invalid after insertion.
Arnaud Giersch [Fri, 11 Jun 2021 09:33:14 +0000 (11:33 +0200)]
Fix loop: iterator is invalid after insertion.

2 years agoUse 'std::vector' instead of a C-style array.
Arnaud Giersch [Fri, 11 Jun 2021 08:20:04 +0000 (10:20 +0200)]
Use 'std::vector' instead of a C-style array.

2 years agoFor sonar.
Arnaud Giersch [Fri, 11 Jun 2021 07:57:38 +0000 (09:57 +0200)]
For sonar.

2 years agoCosmetics: snake_case.
Arnaud Giersch [Thu, 10 Jun 2021 14:35:37 +0000 (16:35 +0200)]
Cosmetics: snake_case.

2 years agoUse existing helper function to create zones.
Arnaud Giersch [Thu, 10 Jun 2021 14:13:22 +0000 (16:13 +0200)]
Use existing helper function to create zones.

2 years agoUseless static function.
Arnaud Giersch [Thu, 10 Jun 2021 14:09:22 +0000 (16:09 +0200)]
Useless static function.

2 years agoReduce depth of nested statements (sonar).
Arnaud Giersch [Thu, 10 Jun 2021 09:23:06 +0000 (11:23 +0200)]
Reduce depth of nested statements (sonar).

2 years agoSuperfluous blank lines.
Arnaud Giersch [Thu, 10 Jun 2021 09:21:07 +0000 (11:21 +0200)]
Superfluous blank lines.

2 years agoRemove unused parameter.
Arnaud Giersch [Thu, 10 Jun 2021 08:36:32 +0000 (10:36 +0200)]
Remove unused parameter.

2 years agoMisc. Sonar smells.
Arnaud Giersch [Thu, 10 Jun 2021 08:23:37 +0000 (10:23 +0200)]
Misc. Sonar smells.

2 years agoUse empty() to check for container emptiness.
Arnaud Giersch [Thu, 10 Jun 2021 08:19:38 +0000 (10:19 +0200)]
Use empty() to check for container emptiness.

2 years agoUse xbt logs, not printf.
Arnaud Giersch [Thu, 10 Jun 2021 07:25:19 +0000 (09:25 +0200)]
Use xbt logs, not printf.

Update tesh files accordingly.

2 years agoMerge branch 'host-energy' into 'master'
Arnaud Giersch [Thu, 10 Jun 2021 09:25:20 +0000 (09:25 +0000)]
Merge branch 'host-energy' into 'master'

host energy: no direct W/J access of invalid data

See merge request simgrid/simgrid!65

2 years agohost energy: explicit 'return 0.0' when badly init
Millian Poquet [Thu, 10 Jun 2021 08:18:04 +0000 (10:18 +0200)]
host energy: explicit 'return 0.0' when badly init

2 years agohost energy: no direct W/J access of invalid data
Millian Poquet [Mon, 7 Jun 2021 15:59:50 +0000 (17:59 +0200)]
host energy: no direct W/J access of invalid data

When energy consumption data is missing about a host,
SimGrid assumes it consumes no energy (0 W).

This change does not modify this behavior.

It prevents direct user access to power/energy consumption of such hosts,
as this is likely a user bug:
- either forgot to parametrize the host energy consumption
- or requested the energy consumption of the wrong host

2 years agoFix a FIXME: use a dynamic table.
Arnaud Giersch [Wed, 9 Jun 2021 14:34:34 +0000 (16:34 +0200)]
Fix a FIXME: use a dynamic table.

2 years agoDon't disable malloc override anymore when using realloc().
Arnaud Giersch [Wed, 9 Jun 2021 13:09:26 +0000 (15:09 +0200)]
Don't disable malloc override anymore when using realloc().

2 years agoFinally implement smpi shared realloc.
Arnaud Giersch [Wed, 9 Jun 2021 13:07:49 +0000 (15:07 +0200)]
Finally implement smpi shared realloc.

Use legacy malloc/free again (through xbt) to be able to call realloc on need.

2 years agoAdd memset(0) for shared calloc.
Arnaud Giersch [Wed, 9 Jun 2021 15:21:48 +0000 (17:21 +0200)]
Add memset(0) for shared calloc.

Add missing barrier to auto-shared test.

2 years agoLet's be more tolerant with shared realloc() and only issue a warning.
Arnaud Giersch [Tue, 8 Jun 2021 14:52:52 +0000 (16:52 +0200)]
Let's be more tolerant with shared realloc() and only issue a warning.

2 years agoDie loudly if smpi_shared_realloc_intercept is used.
Arnaud Giersch [Tue, 8 Jun 2021 13:53:02 +0000 (15:53 +0200)]
Die loudly if smpi_shared_realloc_intercept is used.

2 years agoPlug memory leaks with tests mpich3-test/rma/linked_list_*.
Arnaud Giersch [Tue, 8 Jun 2021 13:20:43 +0000 (15:20 +0200)]
Plug memory leaks with tests mpich3-test/rma/linked_list_*.

2 years agoFix memleaks with MPI_*_get_info, when info is duplicated.
Arnaud Giersch [Tue, 8 Jun 2021 12:11:50 +0000 (14:11 +0200)]
Fix memleaks with MPI_*_get_info, when info is duplicated.

2 years agoMerge branch 'factor_in_actions' into 'master'
Augustin Degomme [Tue, 8 Jun 2021 09:19:19 +0000 (09:19 +0000)]
Merge branch 'factor_in_actions' into 'master'

New implementation for bandwidth factors

See merge request simgrid/simgrid!64

2 years agoreduce number of iterations to speedup rma test
Augustin Degomme [Tue, 8 Jun 2021 07:26:04 +0000 (09:26 +0200)]
reduce number of iterations to speedup rma test

2 years agoprotect type_creation routines against null pointers in output types.
Augustin Degomme [Mon, 7 Jun 2021 19:12:53 +0000 (21:12 +0200)]
protect type_creation routines against null pointers in output types.

2 years agocatch if MPI_Win_fence was only called once (not enough) when MPI_Win_free is called.
Augustin Degomme [Mon, 7 Jun 2021 18:57:48 +0000 (20:57 +0200)]
catch if MPI_Win_fence was only called once (not enough) when MPI_Win_free is called.