Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
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.

2 years agobetter check for mpi_datatype_null
Augustin Degomme [Mon, 7 Jun 2021 18:56:32 +0000 (20:56 +0200)]
better check for mpi_datatype_null

2 years agocheck that we are not using RMA-reserved MPI_Op in non-RMA calls.
Augustin Degomme [Mon, 7 Jun 2021 15:12:45 +0000 (17:12 +0200)]
check that we are not using RMA-reserved MPI_Op in non-RMA calls.

2 years agoget_accumulate: if MPI_NO_OP is specified, origin* inputs are irrelevant
Augustin Degomme [Mon, 7 Jun 2021 14:32:21 +0000 (16:32 +0200)]
get_accumulate: if MPI_NO_OP is specified, origin* inputs are irrelevant
+ activate test.

2 years agoTry to avoid another ifdef WIN32.
Bruno Donassolo [Mon, 7 Jun 2021 15:15:16 +0000 (17:15 +0200)]
Try to avoid another ifdef WIN32.

Use unique_ptr to manage handle. Thanks @agiersch

2 years agoAs always, forgot windows build
Bruno Donassolo [Mon, 7 Jun 2021 14:03:21 +0000 (16:03 +0200)]
As always, forgot windows build

2 years agoMove load_platf to EngineImpl
Bruno Donassolo [Mon, 7 Jun 2021 10:49:10 +0000 (12:49 +0200)]
Move load_platf to EngineImpl

Keep platf lib opened until end of simulation in case of user is using
some network callback defined in it.

2 years agoPlease sonar
Bruno Donassolo [Mon, 7 Jun 2021 08:08:30 +0000 (10:08 +0200)]
Please sonar

2 years agoDestroy dead actors after mc::replay() is completed (fix memory leak).
Arnaud Giersch [Sun, 6 Jun 2021 20:40:42 +0000 (22:40 +0200)]
Destroy dead actors after mc::replay() is completed (fix memory leak).

2 years agoCorrectly remember buffer between persistent communications.
Arnaud Giersch [Sun, 6 Jun 2021 10:03:26 +0000 (12:03 +0200)]
Correctly remember buffer between persistent communications.

Fixes lots of Petsc tests, especially vec/is/sf/tests/ex14.c.

The buffer was lost after the first communication, and no more data could
be transfered effectively.

2 years agoCall cleanup_attr<Comm> before marking Comm as deleted.
Arnaud Giersch [Fri, 4 Jun 2021 19:47:14 +0000 (21:47 +0200)]
Call cleanup_attr<Comm> before marking Comm as deleted.

The MPI_Comm may be used by the attr cleanup callbacks.

2 years agoRemove a global variable, and use a static to remember if smpi_main is running.
Arnaud Giersch [Fri, 4 Jun 2021 19:34:02 +0000 (21:34 +0200)]
Remove a global variable, and use a static to remember if smpi_main is running.

The value of 'running_with_smpi_main' is effectively used later, when the
simgrid::config callback is executed.

2 years agoRestore public smpi_init_options().
Arnaud Giersch [Fri, 4 Jun 2021 15:45:07 +0000 (17:45 +0200)]
Restore public smpi_init_options().

It was wrongly removed in commit 6a046487fb Make smpi_switch_data_segment check if a switch is needed, and return true when it occurs.

2 years agoFix test on MAC OS
Bruno Donassolo [Fri, 4 Jun 2021 14:37:13 +0000 (16:37 +0200)]
Fix test on MAC OS

2 years agoTry to fix test on CI
Bruno Donassolo [Fri, 4 Jun 2021 12:17:04 +0000 (14:17 +0200)]
Try to fix test on CI

2 years agoAn example with SMPI and CPP platform
Bruno Donassolo [Thu, 3 Jun 2021 13:59:50 +0000 (15:59 +0200)]
An example with SMPI and CPP platform

Shows how to use smpirun to execute an application with the platform described in C++.

2 years agoMinor fix usage
Bruno Donassolo [Thu, 3 Jun 2021 13:59:27 +0000 (15:59 +0200)]
Minor fix usage

2 years agoAdjust test
Bruno Donassolo [Thu, 3 Jun 2021 12:40:31 +0000 (14:40 +0200)]
Adjust test

Empty hostfiles are now checked inside the C++ code, not in smpirun