Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 months agosmpi colls: use C++ containers instead of nul-terminted C vectors
Martin Quinson [Sat, 23 Nov 2019 17:15:08 +0000 (18:15 +0100)]
smpi colls: use C++ containers instead of nul-terminted C vectors

10 months agocosmetics
Martin Quinson [Sat, 23 Nov 2019 15:23:56 +0000 (16:23 +0100)]
cosmetics

10 months agodon't forget that calloc assigns 0 to the buffer
Augustin Degomme [Fri, 22 Nov 2019 14:10:07 +0000 (15:10 +0100)]
don't forget that calloc assigns 0 to the buffer

10 months agocosmetics : I activated -pedantic for a quick pass
Augustin Degomme [Fri, 22 Nov 2019 13:00:21 +0000 (14:00 +0100)]
cosmetics : I activated -pedantic for a quick pass
I decided to ignore errors related to printf %p which wants a void*-casted pointer
main changes are the removal of spurious ; in the code, and some forbidden dynamically sized arrays.

10 months agofix use after delete.
Augustin Degomme [Fri, 22 Nov 2019 11:07:18 +0000 (12:07 +0100)]
fix use after delete.

10 months agoadd calloc_intercept to avoid mistmatches.
Augustin Degomme [Fri, 22 Nov 2019 11:07:05 +0000 (12:07 +0100)]
add calloc_intercept to avoid mistmatches.

10 months agoMerge remote-tracking branch 'framagit/master'
Martin Quinson [Fri, 22 Nov 2019 06:35:12 +0000 (07:35 +0100)]
Merge remote-tracking branch 'framagit/master'

10 months agoexpend more macros in MPI collectives
Martin Quinson [Fri, 22 Nov 2019 06:01:19 +0000 (07:01 +0100)]
expend more macros in MPI collectives

10 months agouse catch2 way of doing this
Augustin Degomme [Thu, 21 Nov 2019 18:09:54 +0000 (19:09 +0100)]
use catch2 way of doing this

10 months agoAdd tolerance for floating point precision comparisons.
Augustin Degomme [Thu, 21 Nov 2019 16:16:00 +0000 (17:16 +0100)]
Add tolerance for floating point precision comparisons.
Fails on 32bits if equality is used.

10 months agoA change in cmake 3.16 makes this syntax necessary.
Augustin Degomme [Thu, 21 Nov 2019 14:55:29 +0000 (15:55 +0100)]
A change in cmake 3.16 makes this syntax necessary.
Let's see if old cmakes (and osx) allow this.
ref https://gitlab.kitware.com/cmake/cmake/issues/19747

10 months agoActually free the memory in these cases, should fix leaks and crashes on 32 bits.
Augustin Degomme [Thu, 21 Nov 2019 13:34:45 +0000 (14:34 +0100)]
Actually free the memory in these cases, should fix leaks and crashes on 32 bits.

10 months agoinclude smpi helpers definitions in smpi.h, to define smpi_shared_free again.
Augustin Degomme [Thu, 21 Nov 2019 13:33:57 +0000 (14:33 +0100)]
include smpi helpers definitions in smpi.h, to define smpi_shared_free again.

10 months agoKill now unused macros.
Arnaud Giersch [Wed, 20 Nov 2019 21:51:59 +0000 (22:51 +0100)]
Kill now unused macros.

10 months agoDefine simgrid::xbt::InitializationError (please Sonar).
Arnaud Giersch [Wed, 20 Nov 2019 14:23:34 +0000 (15:23 +0100)]
Define simgrid::xbt::InitializationError (please Sonar).

10 months agoCleanup around simgrid::ParseError.
Arnaud Giersch [Wed, 20 Nov 2019 13:49:26 +0000 (14:49 +0100)]
Cleanup around simgrid::ParseError.

10 months agoUpdate .mailmap.
Arnaud Giersch [Mon, 11 Nov 2019 13:47:24 +0000 (14:47 +0100)]
Update .mailmap.

10 months agornd: cosmetics to ease the implem
Martin Quinson [Wed, 20 Nov 2019 13:09:40 +0000 (14:09 +0100)]
rnd: cosmetics to ease the implem

10 months agoMerge branch 'xbt_random' into 'master'
Martin Quinson [Wed, 20 Nov 2019 12:18:21 +0000 (13:18 +0100)]
Merge branch 'xbt_random' into 'master'

Choice between ad-hoc and standard distributions implementations

See merge request simgrid/simgrid!21

10 months agoReverting the change to xbt_uniform_int
Yann Duplouy [Wed, 20 Nov 2019 10:37:44 +0000 (11:37 +0100)]
Reverting the change to xbt_uniform_int

10 months agoAdding unit tests for the standard library distributions
Yann Duplouy [Wed, 20 Nov 2019 10:29:59 +0000 (11:29 +0100)]
Adding unit tests for the standard library distributions

10 months agoUpdating tests results for dht-chord (due to change to uniform int)
Yann Duplouy [Wed, 20 Nov 2019 10:25:35 +0000 (11:25 +0100)]
Updating tests results for dht-chord (due to change to uniform int)

10 months agoModifying how uniform integer are generated
Yann Duplouy [Wed, 20 Nov 2019 10:25:16 +0000 (11:25 +0100)]
Modifying how uniform integer are generated

10 months agoIntroducing choice between the standard library and ad-hoc SimGrid distribution imple...
Yann Duplouy [Wed, 20 Nov 2019 09:52:42 +0000 (10:52 +0100)]
Introducing choice between the standard library and ad-hoc SimGrid distribution implementations.

10 months agoadd option "smpi/auto-shared-malloc-thresh"
Augustin Degomme [Tue, 19 Nov 2019 12:56:26 +0000 (13:56 +0100)]
add option "smpi/auto-shared-malloc-thresh"
This applies smpi_shared_malloc automatically to all allocations above a certain size.
Test based on the sample-shared one: malloc >= 8bytes is indeed shared, without using macros.

todo: calloc and co.

10 months agoplug a memleak on parse error :)
Martin Quinson [Tue, 19 Nov 2019 00:33:19 +0000 (01:33 +0100)]
plug a memleak on parse error :)

The most important fix ever!

10 months agodocument recent changes
Martin Quinson [Tue, 19 Nov 2019 00:27:14 +0000 (01:27 +0100)]
document recent changes

10 months agoInventive hack to get flex raising exceptions on parse error
Martin Quinson [Tue, 19 Nov 2019 00:15:21 +0000 (01:15 +0100)]
Inventive hack to get flex raising exceptions on parse error

The core of this (over 2500 lines) patch reads as follows:
-    fprintf(stderr, "%s\n", flexml_err_msg);
+    surf_parse_error(flexml_err_msg);

But the code we want to change is generated by Flex, so ... I have to
augment the perl script that rewrite some parts of the Flex result for
that purpose. Because yes, we do have such a perl script.

At the end, we need to regenerate the flex parser with the latest
version of Flex to apply this patch, resulting in that jumbo patch.

10 months agoalso throw an exception when asked to parse an inexisting file
Martin Quinson [Mon, 18 Nov 2019 23:41:09 +0000 (00:41 +0100)]
also throw an exception when asked to parse an inexisting file

10 months agosmpi: expend a bunch of macros so that the functions' prototypes become accessible...
Martin Quinson [Mon, 18 Nov 2019 23:32:21 +0000 (00:32 +0100)]
smpi: expend a bunch of macros so that the functions' prototypes become accessible to my IDE

10 months agoChange smpi::Colls static class into a namespace of functions
Martin Quinson [Mon, 18 Nov 2019 14:57:30 +0000 (15:57 +0100)]
Change smpi::Colls static class into a namespace of functions

10 months agoMerge branch 'xbt_random' into 'master'
Martin Quinson [Tue, 19 Nov 2019 00:13:06 +0000 (01:13 +0100)]
Merge branch 'xbt_random' into 'master'

A module for RNG calls

See merge request simgrid/simgrid!20

10 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Mon, 18 Nov 2019 18:45:36 +0000 (19:45 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

10 months agopower is speed
Frederic Suter [Mon, 18 Nov 2019 16:35:39 +0000 (17:35 +0100)]
power is speed

10 months agoAssertion to force maximum value to be greater or equal to minimum in uniform int
Yann Duplouy [Mon, 18 Nov 2019 12:58:45 +0000 (13:58 +0100)]
Assertion to force maximum value to be greater or equal to minimum in uniform int

10 months agofix fortran + ARM 64 bits.
Augustin Degomme [Mon, 18 Nov 2019 10:39:57 +0000 (11:39 +0100)]
fix fortran + ARM 64 bits.
I would like to get rid of these lists of architectures, and rely on cmake sizeof_voidp ... but this would mean relying on internal_config from smpi.h, and this is bad practice in simgrid :p Any idea ? Feel free to change it.
Anyway I changed the one in a cpp file that handles 99% of the cases, le .h is there for some ugly corner cases... This should not trigger too many errors in case of a new 64bits architecture popping.

10 months agoEnergy plugins now throws std::logic_error when not properly inited before use
Martin Quinson [Mon, 18 Nov 2019 05:55:28 +0000 (06:55 +0100)]
Energy plugins now throws std::logic_error when not properly inited before use

10 months agoparsing: less asserts, more exception raising
Martin Quinson [Mon, 18 Nov 2019 05:25:09 +0000 (06:25 +0100)]
parsing: less asserts, more exception raising

10 months agohandle flexer errors within the parsing module
Martin Quinson [Mon, 18 Nov 2019 05:13:09 +0000 (06:13 +0100)]
handle flexer errors within the parsing module

Raise the exception ourselves instead of leaking an error code that
must be converted into an exception by our caller.

10 months agoParse errors now raise a simgrid::ParseError that you may want to catch
Martin Quinson [Mon, 18 Nov 2019 05:05:08 +0000 (06:05 +0100)]
Parse errors now raise a simgrid::ParseError that you may want to catch

10 months agoa bit of cleanup, could go further but not now
Frederic Suter [Sun, 17 Nov 2019 23:49:28 +0000 (00:49 +0100)]
a bit of cleanup, could go further but not now

10 months agoreduce code dupplication
Martin Quinson [Sun, 17 Nov 2019 23:03:36 +0000 (00:03 +0100)]
reduce code dupplication

10 months agosmpi: many classes died tonight, but that will save kitten on the long term.
Martin Quinson [Sat, 16 Nov 2019 01:57:58 +0000 (02:57 +0100)]
smpi: many classes died tonight, but that will save kitten on the long term.

smpi::Coll was a class with 11 static methods (one per MPI function
that has several implementations: allgather, allgatherv, etc) and
nothing else.

That class was derivated for each implementation of a given MPI
function, and the resulting class was overloading only one of the
methods while the others were ignored. There was well over 100 such
child classes.

The overloaded methods were static in their class, and always used as
a function (the class was never instanciated).

All this was written with some macros to reduce the burden.

Instead, we now use regular functions in the smpi namespace.

10 months agofix ns3 builds
Martin Quinson [Thu, 14 Nov 2019 17:15:48 +0000 (18:15 +0100)]
fix ns3 builds

10 months agodeprecate MSG_set_function, that seems useless since we cannot bypass the parser...
Martin Quinson [Thu, 14 Nov 2019 09:39:20 +0000 (10:39 +0100)]
deprecate MSG_set_function, that seems useless since we cannot bypass the parser nowadays

10 months agostore kernel-level objects in EngineImpl
Frederic Suter [Thu, 14 Nov 2019 10:00:12 +0000 (11:00 +0100)]
store kernel-level objects in EngineImpl

10 months agomake piface_ private and have get_iface() everywhere
Frederic Suter [Wed, 13 Nov 2019 12:22:12 +0000 (13:22 +0100)]
make piface_ private and have get_iface() everywhere

10 months agodon't use a deleted container by the newly created one
Frederic Suter [Tue, 12 Nov 2019 14:54:48 +0000 (15:54 +0100)]
don't use a deleted container by the newly created one

10 months agofix make distcheck and useless cosmetics
Martin Quinson [Tue, 12 Nov 2019 14:46:29 +0000 (15:46 +0100)]
fix make distcheck and useless cosmetics

This should have been 2 commits, but I don't want to artificially
increase the commit amount even further.

10 months agoRevert "Add the files generated by javasphinx in the git"
Martin Quinson [Tue, 12 Nov 2019 14:39:24 +0000 (15:39 +0100)]
Revert "Add the files generated by javasphinx in the git"

This reverts commit 1ae0a4689470568e864ef356ead1c9a0b67df03c.

10 months agoteshsuite: drop a test that is superseeded by a public example
Martin Quinson [Tue, 12 Nov 2019 14:27:47 +0000 (15:27 +0100)]
teshsuite: drop a test that is superseeded by a public example

10 months agofix clang builds
Martin Quinson [Tue, 12 Nov 2019 13:11:59 +0000 (14:11 +0100)]
fix clang builds

10 months agoAdding the unit-test for xbt/random to the Manifest
Yann Duplouy [Tue, 12 Nov 2019 11:48:33 +0000 (12:48 +0100)]
Adding the unit-test for xbt/random to the Manifest

10 months agofactoring
Frederic Suter [Tue, 12 Nov 2019 11:46:58 +0000 (12:46 +0100)]
factoring

10 months agomigrate to set_host in java too
Frederic Suter [Tue, 12 Nov 2019 11:46:32 +0000 (12:46 +0100)]
migrate to set_host in java too

10 months agofurther doc improvements
Martin Quinson [Tue, 12 Nov 2019 11:25:51 +0000 (12:25 +0100)]
further doc improvements

10 months agos4u::Actor: Rename migrate() into set_host()
Martin Quinson [Tue, 12 Nov 2019 11:05:01 +0000 (12:05 +0100)]
s4u::Actor: Rename migrate() into set_host()

10 months agotiny doc improvments
Martin Quinson [Tue, 12 Nov 2019 11:04:21 +0000 (12:04 +0100)]
tiny doc improvments

10 months agos4u::Actor: Merge signals on_migration_start/end into on_host_change
Martin Quinson [Tue, 12 Nov 2019 10:48:38 +0000 (11:48 +0100)]
s4u::Actor: Merge signals on_migration_start/end into on_host_change

10 months agoAdding xbt::random unit test to the list of unit tests
Yann Duplouy [Tue, 12 Nov 2019 10:30:36 +0000 (11:30 +0100)]
Adding xbt::random unit test to the list of unit tests

10 months agoUnit tests for xbt::random
Yann Duplouy [Tue, 12 Nov 2019 10:30:24 +0000 (11:30 +0100)]
Unit tests for xbt::random

10 months agoFixes to xbt::random
Yann Duplouy [Tue, 12 Nov 2019 10:29:59 +0000 (11:29 +0100)]
Fixes to xbt::random

10 months agodeprecate a couple of SIMIX functions
Frederic Suter [Mon, 11 Nov 2019 09:59:47 +0000 (10:59 +0100)]
deprecate a couple of SIMIX functions

10 months agofurther API doc improvement
Martin Quinson [Mon, 11 Nov 2019 00:17:00 +0000 (01:17 +0100)]
further API doc improvement

10 months agoAdd the files generated by javasphinx in the git
Martin Quinson [Mon, 11 Nov 2019 00:13:59 +0000 (01:13 +0100)]
Add the files generated by javasphinx in the git

That way, we don't need that deprecated piece of code. Plus, the java
code is near to dead so it should not evolve in the future.

If I am to add new java bindings (for s4u), I'll write the doc weaved
into the current doc that already contains the C++/Python/C doc. So I
won't use javasphinx for that either.

As a bonus, I may be able to generate the doc in the Debian package.

10 months agodocker/build-deps: install sphinx elements from the packages, not with pip3
Martin Quinson [Mon, 11 Nov 2019 00:12:29 +0000 (01:12 +0100)]
docker/build-deps: install sphinx elements from the packages, not with pip3

10 months agoautodoxy: show the class name when displaying method or fields
Martin Quinson [Mon, 11 Nov 2019 00:11:33 +0000 (01:11 +0100)]
autodoxy: show the class name when displaying method or fields

10 months agoMeld autodoxy into a single file for sake of import simplicity
Martin Quinson [Sun, 10 Nov 2019 21:09:16 +0000 (22:09 +0100)]
Meld autodoxy into a single file for sake of import simplicity

10 months agogitlab-ci: define PYTHONPATH explicitly to see if it helps
Martin Quinson [Sun, 10 Nov 2019 20:55:16 +0000 (21:55 +0100)]
gitlab-ci: define PYTHONPATH explicitly to see if it helps

10 months agoTry to debug the autodoxy pb on framagit builders
Martin Quinson [Sun, 10 Nov 2019 20:48:28 +0000 (21:48 +0100)]
Try to debug the autodoxy pb on framagit builders

- increase sphinx verbosity on gitlab
- build pages asap (not after regular builds)
- simplify the imports that are not found (top of file, not within a function)

10 months agoFix autodoxy warnings
Martin Quinson [Sun, 10 Nov 2019 20:46:06 +0000 (21:46 +0100)]
Fix autodoxy warnings

10 months agogitlab-ci: show sphinx output on error
Martin Quinson [Sun, 10 Nov 2019 19:13:34 +0000 (20:13 +0100)]
gitlab-ci: show sphinx output on error

10 months agodoc: let's import existing stuff
Martin Quinson [Sun, 10 Nov 2019 18:41:36 +0000 (19:41 +0100)]
doc: let's import existing stuff

I'm wondering why it's working on my machine with the borken name...

10 months agopython cosmetics: not X in Y => X not in Y
Martin Quinson [Sun, 10 Nov 2019 18:15:23 +0000 (19:15 +0100)]
python cosmetics: not X in Y => X not in Y

10 months agodoc: use sections instead of rubric
Martin Quinson [Sun, 10 Nov 2019 18:09:00 +0000 (19:09 +0100)]
doc: use sections instead of rubric

10 months agoDocument the Actor with the new autodoxy extension of mine
Martin Quinson [Sun, 10 Nov 2019 18:00:24 +0000 (19:00 +0100)]
Document the Actor with the new autodoxy extension of mine

10 months agoautodoxy: bug fix (copy/paste failure)
Martin Quinson [Sun, 10 Nov 2019 17:57:54 +0000 (18:57 +0100)]
autodoxy: bug fix (copy/paste failure)

10 months agoautodoxy: if the meth signature does not match but only one meth is found, use it
Martin Quinson [Sun, 10 Nov 2019 17:20:38 +0000 (18:20 +0100)]
autodoxy: if the meth signature does not match but only one meth is found, use it

This tries to be more permissive to user errors. A warning is spit.

10 months agodoc: add a autodoxyvar directive
Martin Quinson [Sun, 10 Nov 2019 16:59:08 +0000 (17:59 +0100)]
doc: add a autodoxyvar directive

There is too much shared content between this directive and the
autodoxymethod, but I'm getting tired of that game.

10 months agodoc: try to add a :show: attribute to the showfile directive
Martin Quinson [Sun, 10 Nov 2019 16:58:31 +0000 (17:58 +0100)]
doc: try to add a :show: attribute to the showfile directive

10 months agodoc: get rid of sphinxcontrib.contentui
Martin Quinson [Sat, 9 Nov 2019 21:08:01 +0000 (22:08 +0100)]
doc: get rid of sphinxcontrib.contentui

I want to modify that code too, so let's integrate it.

10 months agoautodoxy: properly render verbatim blocks
Martin Quinson [Sat, 9 Nov 2019 21:06:59 +0000 (22:06 +0100)]
autodoxy: properly render verbatim blocks

10 months agodoc: cleanups in the scripts finding the missing references
Martin Quinson [Sat, 9 Nov 2019 21:05:21 +0000 (22:05 +0100)]
doc: cleanups in the scripts finding the missing references

10 months agoA script to search the undocumented symbols
Martin Quinson [Fri, 8 Nov 2019 22:42:43 +0000 (23:42 +0100)]
A script to search the undocumented symbols

10 months agoautodoxy: missing file
Martin Quinson [Fri, 8 Nov 2019 22:40:37 +0000 (23:40 +0100)]
autodoxy: missing file

10 months agoautodoxy: improve error message when the prototype does not match
Martin Quinson [Thu, 7 Nov 2019 01:17:04 +0000 (02:17 +0100)]
autodoxy: improve error message when the prototype does not match

10 months agoautodoxy: allow overloaded methods, and fix the template handling
Martin Quinson [Thu, 7 Nov 2019 00:54:19 +0000 (01:54 +0100)]
autodoxy: allow overloaded methods, and fix the template handling

10 months agoAdd autodoxy, a sphinx extension heavily inspired from autodoc_doxygen
Martin Quinson [Tue, 5 Nov 2019 15:12:02 +0000 (16:12 +0100)]
Add autodoxy, a sphinx extension heavily inspired from autodoc_doxygen

This version is really really close to the now abandonned
https://github.com/rmcgibbo/sphinxcontrib-autodoc_doxygen
but I plan to improve it in the next commits.

The only difference to the original code is what is needed to make it
compile here (change imports, add a new setup.py, don't name the
template as '*.rst' since sphinx spits an error on them) plus the
rename autodoc_doxygen -> autodoxy.

Used version:
https://github.com/rmcgibbo/sphinxcontrib-autodoc_doxygen/commit/ad70f62805affdeb0e6cc638344c15a213394e0d

10 months agotiny doc improvements
Martin Quinson [Tue, 5 Nov 2019 15:06:46 +0000 (16:06 +0100)]
tiny doc improvements

10 months agoadd some missing functions in the python binding
Martin Quinson [Tue, 5 Nov 2019 15:06:18 +0000 (16:06 +0100)]
add some missing functions in the python binding

10 months agodocs: remove an unused extension of sphinx
Martin Quinson [Tue, 5 Nov 2019 05:59:59 +0000 (06:59 +0100)]
docs: remove an unused extension of sphinx

10 months agodocument sg_actor_start
Martin Quinson [Mon, 4 Nov 2019 07:55:16 +0000 (08:55 +0100)]
document sg_actor_start

This contributes to https://framagit.org/simgrid/simgrid/issues/41

10 months agocosmetics in the doc
Martin Quinson [Sun, 3 Nov 2019 22:46:01 +0000 (23:46 +0100)]
cosmetics in the doc

10 months ago[python/pep8] Use "not in" to test for membership.
Arnaud Giersch [Sun, 10 Nov 2019 15:06:24 +0000 (16:06 +0100)]
[python/pep8] Use "not in" to test for membership.

Also break long lines.

10 months ago[python/pep8] Avoid wildcard imports.
Arnaud Giersch [Sun, 10 Nov 2019 15:02:25 +0000 (16:02 +0100)]
[python/pep8] Avoid wildcard imports.

10 months agoSlightly reorganize log categories; remove unused ones.
Arnaud Giersch [Fri, 8 Nov 2019 09:51:57 +0000 (10:51 +0100)]
Slightly reorganize log categories; remove unused ones.

10 months agoFix test on slow machines.
Arnaud Giersch [Fri, 8 Nov 2019 09:51:57 +0000 (10:51 +0100)]
Fix test on slow machines.

10 months agoCode smells spotted by static analyzers.
Arnaud Giersch [Fri, 8 Nov 2019 09:51:57 +0000 (10:51 +0100)]
Code smells spotted by static analyzers.

10 months agoNo, scan-build, there is no memory leak here.
Arnaud Giersch [Fri, 8 Nov 2019 09:51:57 +0000 (10:51 +0100)]
No, scan-build, there is no memory leak here.

10 months agoAdd option -t for bison.
Arnaud Giersch [Fri, 8 Nov 2019 09:51:57 +0000 (10:51 +0100)]
Add option -t for bison.

The added debugging code doesn't harm, and it silences scan-build.