Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 months agoMerge branch 'doc_link' into 'master'
Arnaud Giersch [Wed, 28 Jul 2021 12:48:24 +0000 (12:48 +0000)]
Merge branch 'doc_link' into 'master'

Fix broken link to releases in doc

See merge request simgrid/simgrid!68

2 months agoFix broken link to releases
Julien EMMANUEL [Wed, 28 Jul 2021 11:24:33 +0000 (13:24 +0200)]
Fix broken link to releases

Thanks Mael for reporting this one

3 months agoMake the plugin usable within a SMPI simulation
SUTER Frederic [Fri, 23 Jul 2021 16:12:41 +0000 (18:12 +0200)]
Make the plugin usable within a SMPI simulation

3 months agosimplify
SUTER Frederic [Fri, 23 Jul 2021 12:56:38 +0000 (14:56 +0200)]
simplify

3 months agoFix a fixme (kill dead code).
Arnaud Giersch [Fri, 23 Jul 2021 09:23:59 +0000 (11:23 +0200)]
Fix a fixme (kill dead code).

MPI_UNIVERSE_SIZE is already handled as a special case in PMPI_Attr_get.

3 months agoDefine a macro for debug messages.
Arnaud Giersch [Fri, 23 Jul 2021 08:44:27 +0000 (10:44 +0200)]
Define a macro for debug messages.

3 months agoEnable setting a specific data copy callback to any comm
SUTER Frederic [Fri, 23 Jul 2021 09:25:09 +0000 (11:25 +0200)]
Enable setting a specific data copy callback to any comm

This is becoming mandatory if one has the silly idea to mix SMPI
communications and S4U communications within the same simulation
launched with smpirun.

smpirun sets its own callback for ALL comms in smpi_main and thus
consider that averything is a SMPI communication. If you need to
trick SMPI to have S4U comms on the side, you thus have to
override this callback:

Sender side:
  mbox->put_init(payload, size)
      ->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
      ->detach(); // or start/vetoable_start/wait

Receiver side:
 mbox->get_init()
     ->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*))
     ->set_copy_data_callback(SIMIX_comm_copy_pointer_callback)
     ->wait(); // or start/vetoable_start

3 months agoFactor common code.
Arnaud Giersch [Wed, 21 Jul 2021 14:16:50 +0000 (16:16 +0200)]
Factor common code.

3 months agoSonar smells.
Arnaud Giersch [Wed, 21 Jul 2021 13:23:24 +0000 (15:23 +0200)]
Sonar smells.

3 months agoUse workaround only for versions of libdw known to be broken.
Arnaud Giersch [Wed, 21 Jul 2021 13:21:47 +0000 (15:21 +0200)]
Use workaround only for versions of libdw known to be broken.

3 months agoUse if(false) to comment debugging code, and be sure that it always compiles.
Arnaud Giersch [Wed, 21 Jul 2021 13:08:39 +0000 (15:08 +0200)]
Use if(false) to comment debugging code, and be sure that it always compiles.

3 months agoWe don't use Travis anymore.
Arnaud Giersch [Tue, 20 Jul 2021 14:13:46 +0000 (16:13 +0200)]
We don't use Travis anymore.

Git can be used to recover these files if they're needed in the future.

3 months agoWe don't use Codacy anymore.
Arnaud Giersch [Tue, 20 Jul 2021 14:02:22 +0000 (16:02 +0200)]
We don't use Codacy anymore.

3 months agoDist check.
Arnaud Giersch [Tue, 20 Jul 2021 14:01:43 +0000 (16:01 +0200)]
Dist check.

3 months agoTypo.
Arnaud Giersch [Tue, 20 Jul 2021 09:23:30 +0000 (11:23 +0200)]
Typo.

3 months ago[lgtm] Fix unreachable statement.
Arnaud Giersch [Mon, 19 Jul 2021 21:12:51 +0000 (23:12 +0200)]
[lgtm] Fix unreachable statement.

3 months ago[pvs-studio] Protect from self assignment.
Arnaud Giersch [Mon, 19 Jul 2021 20:56:54 +0000 (22:56 +0200)]
[pvs-studio] Protect from self assignment.

3 months ago[pvs-studio] Make it clear that free'd pointers are not used anymore.
Arnaud Giersch [Mon, 19 Jul 2021 20:25:38 +0000 (22:25 +0200)]
[pvs-studio] Make it clear that free'd pointers are not used anymore.

3 months ago[sonar] Less implicit casts.
Arnaud Giersch [Mon, 19 Jul 2021 19:52:21 +0000 (21:52 +0200)]
[sonar] Less implicit casts.

3 months ago[pvs-studio] Don't mix initialized and non-initialized fields.
Arnaud Giersch [Mon, 19 Jul 2021 13:33:27 +0000 (15:33 +0200)]
[pvs-studio] Don't mix initialized and non-initialized fields.

Also factorize code, and fix a few untested bugs (hoping not to introduce new ones).

3 months ago[pvs-studio] Initialize every members of class.
Arnaud Giersch [Mon, 19 Jul 2021 13:27:12 +0000 (15:27 +0200)]
[pvs-studio] Initialize every members of class.

3 months ago[pvs-studio] Avoid implicit cast from bool to target datatype.
Arnaud Giersch [Mon, 19 Jul 2021 12:46:50 +0000 (14:46 +0200)]
[pvs-studio] Avoid implicit cast from bool to target datatype.

3 months ago[pvs-studio] Disable V576.
Arnaud Giersch [Mon, 19 Jul 2021 12:20:12 +0000 (14:20 +0200)]
[pvs-studio] Disable V576.

V576 is: Incorrect format. Consider checking the N actual argument of the 'Foo' function.

Gives bogus warnings with e.g. PRIx64, and is already checked by compiler and other static analyzers.

3 months ago[pvs-studio] Simplify boolean expressions.
Arnaud Giersch [Mon, 19 Jul 2021 13:06:25 +0000 (15:06 +0200)]
[pvs-studio] Simplify boolean expressions.

3 months ago[pvs-studio] No need to assign variable the same value.
Arnaud Giersch [Mon, 19 Jul 2021 11:16:40 +0000 (13:16 +0200)]
[pvs-studio] No need to assign variable the same value.

3 months agoFix crashes with recent versions of pybind11.
Arnaud Giersch [Mon, 19 Jul 2021 08:42:38 +0000 (10:42 +0200)]
Fix crashes with recent versions of pybind11.

This is the first point from issue simgrid/simgrid#76.

3 months agofix MC tests
Martin Quinson [Sun, 18 Jul 2021 17:43:39 +0000 (19:43 +0200)]
fix MC tests

3 months agotypo and cosmetics in error messages
Martin Quinson [Sun, 18 Jul 2021 17:16:12 +0000 (19:16 +0200)]
typo and cosmetics in error messages

3 months agoFix xbt_parse_get_all_speeds(), and add some unit tests.
Arnaud Giersch [Sat, 17 Jul 2021 15:54:20 +0000 (17:54 +0200)]
Fix xbt_parse_get_all_speeds(), and add some unit tests.

Fix failure to parse e.g. "1f,2f".

3 months ago[appveyor] Stick to latest working version of pybind11.
Arnaud Giersch [Fri, 16 Jul 2021 20:20:26 +0000 (22:20 +0200)]
[appveyor] Stick to latest working version of pybind11.

See https://framagit.org/simgrid/simgrid/-/issues/76 for details.

3 months ago[ci-skip] add colors to mattermost notifications
Augustin Degomme [Fri, 16 Jul 2021 15:06:05 +0000 (17:06 +0200)]
[ci-skip] add colors to mattermost notifications

3 months agoCreate a .lgtm.yml file to configure LGTM analysis.
Arnaud Giersch [Fri, 16 Jul 2021 14:22:05 +0000 (16:22 +0200)]
Create a .lgtm.yml file to configure LGTM analysis.

See https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
I will be extended further if it works.

3 months ago[lgtm] Ensure that the type casting is done before multiplication to prevent overflow.
Arnaud Giersch [Fri, 16 Jul 2021 13:38:38 +0000 (15:38 +0200)]
[lgtm] Ensure that the type casting is done before multiplication to prevent overflow.

3 months agoMissing ChangeLog entry (+ cosmetics) [ci-skip].
Arnaud Giersch [Fri, 16 Jul 2021 12:28:55 +0000 (14:28 +0200)]
Missing ChangeLog entry (+ cosmetics) [ci-skip].

3 months agoThe next day sonar commit
Bruno Donassolo [Fri, 16 Jul 2021 09:11:31 +0000 (11:11 +0200)]
The next day sonar commit

3 months agoMerge remote-tracking branch 'github/master'
Arnaud Giersch [Fri, 16 Jul 2021 07:25:53 +0000 (09:25 +0200)]
Merge remote-tracking branch 'github/master'

3 months agoMC: warn the users when reaching max-depth with DPOR
Martin Quinson [Thu, 15 Jul 2021 19:22:51 +0000 (21:22 +0200)]
MC: warn the users when reaching max-depth with DPOR

3 months agoGithub Action : add mattermost notification (#377)
adegomme [Thu, 15 Jul 2021 17:51:55 +0000 (19:51 +0200)]
Github Action : add mattermost notification (#377)

* try to notify mattermost on jarfile creation

* test2

* test3

* more error messages

* actually send the message on build failure

3 months agoChangeLog for non-linear resource sharing
Bruno Donassolo [Thu, 15 Jul 2021 09:27:08 +0000 (11:27 +0200)]
ChangeLog for non-linear resource sharing

3 months agoHost: non-linear constraints
Bruno Donassolo [Tue, 13 Jul 2021 15:28:07 +0000 (17:28 +0200)]
Host: non-linear constraints

Allows the use of non-linear constraints for CPU resources.

Add API in s4u::Host::set_sharing_policy
- LINEAR(default, shared resources) or NONLINEAR

Example: examples/cpp/exec-cpu-nonlinear

3 months agos4u::Link: avoid set_sharing_policy==WIFI
Bruno Donassolo [Tue, 6 Jul 2021 09:50:15 +0000 (11:50 +0200)]
s4u::Link: avoid set_sharing_policy==WIFI

Implements sharing policy for split-duplex links.
Replicate config for each up/down link

3 months agoLink: Non-linear constraints
Bruno Donassolo [Mon, 5 Jul 2021 12:36:12 +0000 (14:36 +0200)]
Link: Non-linear constraints

Add non-linear constraints to links.
Similar to disks, user can use a callback to dynamically change the
link's capacity based on the number of flows sharing it.
Only traffic explicit generated by the user is considered as active
flow, so cross-traffic communications aren't taken into account.

Extend s4u::Link::sharing_policy
- New type: NONLINEAR

Example: examples/cpp/network-nonlinear/

3 months agoDisk: Non-linear contraints
Bruno Donassolo [Thu, 10 Jun 2021 16:31:38 +0000 (18:31 +0200)]
Disk: Non-linear contraints

Users can now define a callback to set the capacity of the resource
during the system solve. The callback receives the current capacity and
number of activities/flows currently sharing the resource.

The capacity is defined once at the beginning of the system solve.

- Disk:
  - Add API to set sharing_policy by type: read/write/read-write
  - Example: io-degradation: simulates the degradation in read/write
operation on disks.

3 months agoMerge branch 'fix-smpi-install-dirs' into 'master'
Augustin Degomme [Thu, 15 Jul 2021 09:29:23 +0000 (09:29 +0000)]
Merge branch 'fix-smpi-install-dirs' into 'master'

cmake: fix smpi install dirs (absolute arg)

See merge request simgrid/simgrid!67

3 months agocmake: fix smpi install dirs (absolute arg)
Millian Poquet [Thu, 15 Jul 2021 09:09:09 +0000 (11:09 +0200)]
cmake: fix smpi install dirs (absolute arg)

Previous code assumed that the following variables were relative paths
- CMAKE_INSTALL_INCLUDEDIR
- CMAKE_INSTALL_LIBDIR

However, using absolute paths there is totally legal in CMake,
and doing so broke installed paths in smpicc/smpicxx.

Fix uses the CMAKE_INSTALL_FULL_<dir> variant instead,
which should work in this case and generally be more robust.

FULL variants exist since at least cmake-3.0.0 so it should be available
everywhere (cmake-3.0.0 was released on June 2014).

References:
- https://cmake.org/cmake/help/latest/command/install.html
- https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

3 months agodoc: Add some recent release notes as a lighthouse to the recent developments
Martin Quinson [Thu, 15 Jul 2021 00:28:39 +0000 (02:28 +0200)]
doc: Add some recent release notes as a lighthouse to the recent developments

3 months agoDefine macro XBT_ATTRIB_DEPRECATED_v333.
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Define macro XBT_ATTRIB_DEPRECATED_v333.

3 months agoRemove deprecated features for next release (3.29).
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Remove deprecated features for next release (3.29).

3 months agoStart the dev of the 3.29 cycle
Martin Quinson [Wed, 14 Jul 2021 19:17:31 +0000 (21:17 +0200)]
Start the dev of the 3.29 cycle

3 months agoPost-release NEWS improvement
Martin Quinson [Wed, 14 Jul 2021 17:28:01 +0000 (19:28 +0200)]
Post-release NEWS improvement

3 months agoforgot to update the python package version number
Martin Quinson [Wed, 14 Jul 2021 10:29:59 +0000 (12:29 +0200)]
forgot to update the python package version number

3 months agoNetzone::get_children() is actually not deprecated.
Arnaud Giersch [Wed, 14 Jul 2021 14:18:02 +0000 (16:18 +0200)]
Netzone::get_children() is actually not deprecated.

Move its declaration outside of #ifndef DOXYGEN.

3 months agoTypos.
Arnaud Giersch [Wed, 14 Jul 2021 12:34:23 +0000 (14:34 +0200)]
Typos.

3 months agoRelease v3.28 v3.28
Martin Quinson [Wed, 14 Jul 2021 09:02:11 +0000 (11:02 +0200)]
Release v3.28

3 months agoFix make distcheck
Martin Quinson [Wed, 14 Jul 2021 00:40:42 +0000 (02:40 +0200)]
Fix make distcheck

3 months agodoc: Fix a subtle formatting error that is not reported by tools
Martin Quinson [Wed, 14 Jul 2021 00:36:06 +0000 (02:36 +0200)]
doc: Fix a subtle formatting error that is not reported by tools

3 months agoSmall improvements to the changelog and doc
Martin Quinson [Wed, 14 Jul 2021 00:23:13 +0000 (02:23 +0200)]
Small improvements to the changelog and doc

I think the changelog is now complete

3 months agoproposal for a NEWS file for the upcoming release
Martin Quinson [Tue, 13 Jul 2021 23:26:49 +0000 (01:26 +0200)]
proposal for a NEWS file for the upcoming release

3 months agotry to further improve docs/find-missing
Martin Quinson [Tue, 13 Jul 2021 23:26:32 +0000 (01:26 +0200)]
try to further improve docs/find-missing

3 months agoRemove useless includes from the public headers
Martin Quinson [Tue, 13 Jul 2021 23:25:57 +0000 (01:25 +0200)]
Remove useless includes from the public headers

3 months agodoc: praise for 'discovery reports' as a way to contribute back to the project
Martin Quinson [Tue, 13 Jul 2021 01:01:38 +0000 (03:01 +0200)]
doc: praise for 'discovery reports' as a way to contribute back to the project

also, reword and shorten some other sections in the same file

3 months agoremove 2 files with no useful content to scavenge from the old doc
Martin Quinson [Sat, 10 Jul 2021 09:13:15 +0000 (11:13 +0200)]
remove 2 files with no useful content to scavenge from the old doc

3 months agoHide some deprecated symbols from doxygen
Martin Quinson [Sat, 10 Jul 2021 09:06:39 +0000 (11:06 +0200)]
Hide some deprecated symbols from doxygen

3 months agoport find-missing.ignore from autodoxy to breathe
Martin Quinson [Sat, 10 Jul 2021 08:54:28 +0000 (10:54 +0200)]
port find-missing.ignore from autodoxy to breathe

3 months agoUse == for string comparison [ci-skip].
Arnaud Giersch [Tue, 13 Jul 2021 14:03:41 +0000 (16:03 +0200)]
Use == for string comparison [ci-skip].

3 months agoSimplify, and avoid nested SmpiBenchGuard when rastro_resolution is called by rastro_...
Arnaud Giersch [Tue, 13 Jul 2021 10:33:03 +0000 (12:33 +0200)]
Simplify, and avoid nested SmpiBenchGuard when rastro_resolution is called by rastro_timestamp.

3 months ago[sonar] Less implicit conversions.
Arnaud Giersch [Mon, 12 Jul 2021 14:04:59 +0000 (16:04 +0200)]
[sonar] Less implicit conversions.

3 months agoAdd network factors in changelog
Bruno Donassolo [Sat, 10 Jul 2021 16:49:48 +0000 (18:49 +0200)]
Add network factors in changelog

3 months agodoc: fix an issue spotted by find-missing.py
Martin Quinson [Fri, 9 Jul 2021 23:38:13 +0000 (01:38 +0200)]
doc: fix an issue spotted by find-missing.py

3 months agodocs: properly report typedefs that are missing in the doc
Martin Quinson [Fri, 9 Jul 2021 23:26:52 +0000 (01:26 +0200)]
docs: properly report typedefs that are missing in the doc

3 months agoAdapt docs/find-missing to breathe now that autodoxy is gone
Martin Quinson [Fri, 9 Jul 2021 23:13:38 +0000 (01:13 +0200)]
Adapt docs/find-missing to breathe now that autodoxy is gone

3 months agoFix another bunch of warnings in doc generation.
Arnaud Giersch [Fri, 9 Jul 2021 16:32:49 +0000 (18:32 +0200)]
Fix another bunch of warnings in doc generation.

3 months agoUse 'console' syntax highlighting for shell typescripts.
Arnaud Giersch [Fri, 9 Jul 2021 11:33:15 +0000 (13:33 +0200)]
Use 'console' syntax highlighting for shell typescripts.

3 months agoVarious corrections in docs.
Arnaud Giersch [Fri, 9 Jul 2021 08:51:25 +0000 (10:51 +0200)]
Various corrections in docs.

3 months agoMissing const.
Arnaud Giersch [Thu, 8 Jul 2021 22:22:27 +0000 (00:22 +0200)]
Missing const.

3 months agoFix debug message better [ci-skip]
Arnaud Giersch [Thu, 8 Jul 2021 22:16:58 +0000 (00:16 +0200)]
Fix debug message better [ci-skip]

3 months agoRemove dead entries in 'docs/find-missing.ignore'.
Arnaud Giersch [Thu, 8 Jul 2021 21:16:58 +0000 (23:16 +0200)]
Remove dead entries in 'docs/find-missing.ignore'.
Kill unused file 'ignored_symbols'.

3 months agoInstr: for consistency, rename 'father' to 'parent' here too.
Arnaud Giersch [Thu, 8 Jul 2021 19:54:44 +0000 (21:54 +0200)]
Instr: for consistency, rename 'father' to 'parent' here too.

3 months agoNetZone: rename the remaining occurrence of 'father' to 'parent'.
Arnaud Giersch [Thu, 8 Jul 2021 19:53:05 +0000 (21:53 +0200)]
NetZone: rename the remaining occurrence of 'father' to 'parent'.

3 months agoCosmetics around deprecated functions.
Arnaud Giersch [Thu, 8 Jul 2021 19:23:25 +0000 (21:23 +0200)]
Cosmetics around deprecated functions.

3 months agoKill deprecated private field ActorImpl::userdata_ (use Actor::get/set_data instead).
Arnaud Giersch [Thu, 8 Jul 2021 12:00:48 +0000 (14:00 +0200)]
Kill deprecated private field ActorImpl::userdata_ (use Actor::get/set_data instead).

This is on the *Impl side, and does not need to wait for the deprecation quarantine.

3 months agoMake comment match the declaration in Engine.hpp.
Arnaud Giersch [Thu, 8 Jul 2021 09:38:32 +0000 (11:38 +0200)]
Make comment match the declaration in Engine.hpp.

3 months agoVector::at() is good enough to check bounds.
Arnaud Giersch [Wed, 7 Jul 2021 13:46:34 +0000 (15:46 +0200)]
Vector::at() is good enough to check bounds.

3 months agoReduce number of unnecessary copies of 'args'.
Arnaud Giersch [Wed, 7 Jul 2021 12:39:50 +0000 (14:39 +0200)]
Reduce number of unnecessary copies of 'args'.

3 months agoMake EngineImpl::tasksTemp a local variable.
Arnaud Giersch [Tue, 6 Jul 2021 20:55:03 +0000 (22:55 +0200)]
Make EngineImpl::tasksTemp a local variable.

3 months agoSimplify function calls (avoid explicit std::vector<double>).
Arnaud Giersch [Tue, 6 Jul 2021 20:27:20 +0000 (22:27 +0200)]
Simplify function calls (avoid explicit std::vector<double>).

Either use the variant taking a scalar, or use an initialization list.

3 months agoMake single argument constructor LinkInRoute::LinkInRoute(const Link*) explicit.
Arnaud Giersch [Tue, 6 Jul 2021 15:24:15 +0000 (17:24 +0200)]
Make single argument constructor LinkInRoute::LinkInRoute(const Link*) explicit.

3 months agoFix empty #ifndef..#endif. Annotate helper function as deprecated.
Arnaud Giersch [Tue, 6 Jul 2021 14:29:53 +0000 (16:29 +0200)]
Fix empty #ifndef..#endif. Annotate helper function as deprecated.

3 months 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().

3 months 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

3 months 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)

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

3 months 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.

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

3 months 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.

3 months 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'.

3 months 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)

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

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

3 months 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