Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agofactorize where seq_runall and par_runall save maestro context
Martin Quinson [Sun, 6 Jan 2019 14:08:10 +0000 (15:08 +0100)]
factorize where seq_runall and par_runall save maestro context

2 years agochange static fields in SwappedCtx into regular fields of the factory
Martin Quinson [Sun, 6 Jan 2019 13:21:53 +0000 (14:21 +0100)]
change static fields in SwappedCtx into regular fields of the factory

and other cleanups

2 years agoKill the now useless ParallelRawContext and ParallelBoostContext
Martin Quinson [Sun, 6 Jan 2019 12:05:26 +0000 (13:05 +0100)]
Kill the now useless ParallelRawContext and ParallelBoostContext

They were a perfect duplication of ParallelUContext :(

2 years agomerge ParallelUContext into SwappedContext, that can now run parallel or sequential
Martin Quinson [Sun, 6 Jan 2019 11:58:03 +0000 (12:58 +0100)]
merge ParallelUContext into SwappedContext, that can now run parallel or sequential

2 years agoCosmetics in contexts
Martin Quinson [Sun, 6 Jan 2019 11:09:02 +0000 (12:09 +0100)]
Cosmetics in contexts

- Kill useless code
- Move a method to superclass
- Fix clang builds

2 years agomove a static field of SwappedContext into SwappedContextFactory
Martin Quinson [Sun, 6 Jan 2019 11:06:03 +0000 (12:06 +0100)]
move a static field of SwappedContext into SwappedContextFactory

2 years agoIntroduce a SwappedContextFactory to further reduce code duplication, working WIP
Martin Quinson [Sun, 6 Jan 2019 10:54:40 +0000 (11:54 +0100)]
Introduce a SwappedContextFactory to further reduce code duplication, working WIP

The code seems to work (I've run many tests locally), but it's far
from being clean yet. See this as a checkpoint commit.

2 years agocontext: rewrite some comments, and useless cosmetics
Martin Quinson [Sat, 5 Jan 2019 22:28:31 +0000 (23:28 +0100)]
context: rewrite some comments, and useless cosmetics

2 years agoMove Parallel{Boost,Raw,U}Context::{initialize,finalize} to SwappedContext
Martin Quinson [Sat, 5 Jan 2019 22:12:40 +0000 (23:12 +0100)]
Move Parallel{Boost,Raw,U}Context::{initialize,finalize} to SwappedContext

2 years agofurther cleanups in contexts
Martin Quinson [Sat, 5 Jan 2019 21:43:11 +0000 (22:43 +0100)]
further cleanups in contexts

- Kill SerialRawContext and use SwappedContext
- Centralize everything related to the stack pointer in SwappedContext
  Previously, alloc/dealloc was done in functions in Context.cpp while
  the fields were duplicated in all SwappedContext childs

2 years agoChange a subclass into a superclass around contexts
Martin Quinson [Sat, 5 Jan 2019 19:02:13 +0000 (20:02 +0100)]
Change a subclass into a superclass around contexts

SerialUContext was a subclass of UContext. SwappedContext does the
same, as a super class of UContext.

The idea is to make SwappedContext the ancestor of BoostContext and
RawContext too, to factorize as much code as possible.

2 years agomake SIMIX_context_self() useless and use Context::self() instead
Martin Quinson [Sat, 5 Jan 2019 16:10:34 +0000 (17:10 +0100)]
make SIMIX_context_self() useless and use Context::self() instead

2 years agomove ContextFactory::self() into Context::self() and tidy it up
Martin Quinson [Sat, 5 Jan 2019 14:33:22 +0000 (15:33 +0100)]
move ContextFactory::self() into Context::self() and tidy it up

2 years agoPlease sonar
Martin Quinson [Sat, 5 Jan 2019 02:29:33 +0000 (03:29 +0100)]
Please sonar

- Add 'explicit' where needed
- Don't specify the return type of lambdas
- Verify that this != that before everything in the operator=
- Remove ';' in the comments to not fool the commented code detection mechanism

2 years agoreimplement this test in cpp to use standard threads
Martin Quinson [Sat, 5 Jan 2019 02:18:25 +0000 (03:18 +0100)]
reimplement this test in cpp to use standard threads

2 years agomake this test more robust to cruft that may remain on disk
Martin Quinson [Sat, 5 Jan 2019 02:04:53 +0000 (03:04 +0100)]
make this test more robust to cruft that may remain on disk

2 years agomake xbt_os_thread_self() useless, and kill it
Martin Quinson [Sat, 5 Jan 2019 01:28:55 +0000 (02:28 +0100)]
make xbt_os_thread_self() useless, and kill it

Also remove every parts of xbt_os_thread_t that I managed to make useless

2 years agokill the unused xbt_os_thread_self_name()
Martin Quinson [Sat, 5 Jan 2019 01:21:19 +0000 (02:21 +0100)]
kill the unused xbt_os_thread_self_name()

2 years agokill the now useless xbt_os_thread_{get,set}_extra_data()
Martin Quinson [Sat, 5 Jan 2019 01:11:22 +0000 (02:11 +0100)]
kill the now useless xbt_os_thread_{get,set}_extra_data()

2 years agounify how threaded and parallelisable context factories find context_self
Martin Quinson [Sat, 5 Jan 2019 01:02:31 +0000 (02:02 +0100)]
unify how threaded and parallelisable context factories find context_self

2 years agoInline SIMIX_context_get_current()
Martin Quinson [Sat, 5 Jan 2019 00:20:57 +0000 (01:20 +0100)]
Inline SIMIX_context_get_current()

2 years agoanother small simplification now that threads are usable everywhere
Martin Quinson [Sat, 5 Jan 2019 00:08:40 +0000 (01:08 +0100)]
another small simplification now that threads are usable everywhere

2 years agoFurther code simplifications now that the Thread context backend is always available
Martin Quinson [Fri, 4 Jan 2019 23:45:27 +0000 (00:45 +0100)]
Further code simplifications now that the Thread context backend is always available

2 years agoremove unecessary imports to please sonar
Martin Quinson [Fri, 4 Jan 2019 23:18:36 +0000 (00:18 +0100)]
remove unecessary imports to please sonar

2 years agoFix make distcheck
Martin Quinson [Fri, 4 Jan 2019 23:09:51 +0000 (00:09 +0100)]
Fix make distcheck

2 years agokill xbt_os_sem_t and the required cmake-detection cruft
Martin Quinson [Fri, 4 Jan 2019 23:06:02 +0000 (00:06 +0100)]
kill xbt_os_sem_t and the required cmake-detection cruft

2 years agoIntroduce a portable xbt::OsSemaphore using C++11 threads
Martin Quinson [Fri, 4 Jan 2019 22:50:59 +0000 (23:50 +0100)]
Introduce a portable xbt::OsSemaphore using C++11 threads

2 years agotiny simplification: xbt_os_thread_bind is a noop when not HAVE_PTHREAD_SETAFFINITY
Martin Quinson [Fri, 4 Jan 2019 21:41:00 +0000 (22:41 +0100)]
tiny simplification: xbt_os_thread_bind is a noop when not HAVE_PTHREAD_SETAFFINITY

2 years agotrack some remaining CamelCase deep inside the context code
Martin Quinson [Fri, 4 Jan 2019 21:12:45 +0000 (22:12 +0100)]
track some remaining CamelCase deep inside the context code

2 years agosome useless s/process/actor/ in the source code
Martin Quinson [Fri, 4 Jan 2019 21:05:49 +0000 (22:05 +0100)]
some useless s/process/actor/ in the source code

2 years agosonar: ignore another rule as we don't have real security concerns
Martin Quinson [Fri, 4 Jan 2019 21:03:18 +0000 (22:03 +0100)]
sonar: ignore another rule as we don't have real security concerns

2 years agouse strncpy instead of strcpy to please sonar
Martin Quinson [Fri, 4 Jan 2019 16:43:22 +0000 (17:43 +0100)]
use strncpy instead of strcpy to please sonar

2 years agotravis: don't run the tests before the sonar analysis
Martin Quinson [Fri, 4 Jan 2019 13:51:45 +0000 (14:51 +0100)]
travis: don't run the tests before the sonar analysis

We exeed the 40mn timeframe on travis with those tests.
Too bad, we gonna lose the coverage information...

2 years agopy: try to fix MC builds
Martin Quinson [Fri, 4 Jan 2019 13:43:57 +0000 (14:43 +0100)]
py: try to fix MC builds

2 years agosonar: we do have a process to remove deprecated code
Martin Quinson [Fri, 4 Jan 2019 10:58:35 +0000 (11:58 +0100)]
sonar: we do have a process to remove deprecated code

2 years agotypo in comments
Martin Quinson [Fri, 4 Jan 2019 10:13:42 +0000 (11:13 +0100)]
typo in comments

2 years agocmake: mark some variables as advanced to hide them
Martin Quinson [Fri, 4 Jan 2019 10:12:47 +0000 (11:12 +0100)]
cmake: mark some variables as advanced to hide them

2 years agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Thu, 3 Jan 2019 22:23:38 +0000 (23:23 +0100)]
Merge branch 'master' of github.com:simgrid/simgrid

2 years agoyet another example: actor-suspend.py
Martin Quinson [Thu, 3 Jan 2019 22:07:16 +0000 (23:07 +0100)]
yet another example: actor-suspend.py

2 years agogitlab-ci: don't build with sonar, as it does not work
Martin Quinson [Thu, 3 Jan 2019 21:54:27 +0000 (22:54 +0100)]
gitlab-ci: don't build with sonar, as it does not work

2 years agorename an example to stick to the function name
Martin Quinson [Thu, 3 Jan 2019 21:42:58 +0000 (22:42 +0100)]
rename an example to stick to the function name

2 years agopy: another example: actor-join
Martin Quinson [Thu, 3 Jan 2019 21:37:56 +0000 (22:37 +0100)]
py: another example: actor-join

2 years agoPython: many improvements; add a new example (actor-migration)
Martin Quinson [Thu, 3 Jan 2019 20:37:12 +0000 (21:37 +0100)]
Python: many improvements; add a new example (actor-migration)

Also, improve a bit the C++ documentation

2 years agosphinx autodoc needs the package to be built before the doc
Martin Quinson [Thu, 3 Jan 2019 18:27:46 +0000 (19:27 +0100)]
sphinx autodoc needs the package to be built before the doc

2 years agoInstall unzip to get sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:37:58 +0000 (16:37 +0100)]
Install unzip to get sonar on framagit

2 years agoInstall curl to get sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:36:53 +0000 (16:36 +0100)]
Install curl to get sonar on framagit

2 years agotry to activate sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:27:23 +0000 (16:27 +0100)]
try to activate sonar on framagit

2 years agopy: Try to add properties to the Host class
Martin Quinson [Thu, 3 Jan 2019 10:34:53 +0000 (11:34 +0100)]
py: Try to add properties to the Host class

2 years agoDocument recent pyton examples
Martin Quinson [Thu, 3 Jan 2019 10:34:21 +0000 (11:34 +0100)]
Document recent pyton examples

2 years agotravis: more parallelism (extend previous commit).
Arnaud Giersch [Wed, 2 Jan 2019 20:33:07 +0000 (21:33 +0100)]
travis: more parallelism (extend previous commit).

2 years agotypo
Martin Quinson [Wed, 2 Jan 2019 15:38:34 +0000 (16:38 +0100)]
typo

2 years agopy: document the this_actor submodule
Martin Quinson [Wed, 2 Jan 2019 15:20:07 +0000 (16:20 +0100)]
py: document the this_actor submodule

2 years agotravis: increase the build paralelism
Martin Quinson [Wed, 2 Jan 2019 00:51:12 +0000 (01:51 +0100)]
travis: increase the build paralelism

2 years agotravis: pybind11 is not in xenial either
Martin Quinson [Tue, 1 Jan 2019 22:16:20 +0000 (23:16 +0100)]
travis: pybind11 is not in xenial either

2 years agotravis: don't specify the boost version we need, to get the latest
Martin Quinson [Tue, 1 Jan 2019 22:11:40 +0000 (23:11 +0100)]
travis: don't specify the boost version we need, to get the latest

2 years agotravis: try to activate xenial images
Martin Quinson [Tue, 1 Jan 2019 22:02:05 +0000 (23:02 +0100)]
travis: try to activate xenial images

2 years agoRevert "try to hide a bug in tesh"
Martin Quinson [Tue, 1 Jan 2019 21:57:11 +0000 (22:57 +0100)]
Revert "try to hide a bug in tesh"

This reverts commit 2e7d753e6a256c3561db39a22aa5e2a5f502400a.

2 years agoAdd a missing file in the archive
Martin Quinson [Tue, 1 Jan 2019 21:56:56 +0000 (22:56 +0100)]
Add a missing file in the archive

2 years agotry to hide a bug in tesh
Martin Quinson [Tue, 1 Jan 2019 18:59:54 +0000 (19:59 +0100)]
try to hide a bug in tesh

It seems to lose the CWD for some reasons. Here is a log example:

[Tesh/INFO] change directory to /builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python/actor-create
[...]
[actor-create.tesh:3] python3 /builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python/actor-create/actor-create.py
[...]
+[...]  [xbt/CRITICAL] Unable to open 'actor-create_d.xml' from '/builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python'

2 years agouse named parameters instead of overloads for py::execute
Martin Quinson [Tue, 1 Jan 2019 10:57:24 +0000 (11:57 +0100)]
use named parameters instead of overloads for py::execute

2 years agotesh: try harder to not loose the cwd between threads
Martin Quinson [Tue, 1 Jan 2019 10:22:21 +0000 (11:22 +0100)]
tesh: try harder to not loose the cwd between threads

2 years agoxbt::Path: do not ignore the return value of getcwd
Martin Quinson [Mon, 31 Dec 2018 18:22:00 +0000 (19:22 +0100)]
xbt::Path: do not ignore the return value of getcwd

2 years agoimprove an error message when a file cannot be open
Martin Quinson [Mon, 31 Dec 2018 17:38:16 +0000 (18:38 +0100)]
improve an error message when a file cannot be open

2 years agoNew function: xbt::Path() gets the CWD
Martin Quinson [Mon, 31 Dec 2018 17:37:41 +0000 (18:37 +0100)]
New function: xbt::Path() gets the CWD

2 years agopython: reorg to allow 'from simgrid import *' in scripts
Martin Quinson [Mon, 31 Dec 2018 14:59:55 +0000 (15:59 +0100)]
python: reorg to allow 'from simgrid import *' in scripts

2 years ago[travis] Add -j2 here too.
Arnaud Giersch [Mon, 31 Dec 2018 14:40:35 +0000 (15:40 +0100)]
[travis] Add -j2 here too.

2 years ago[travis] Try to improve running time with parallel executions.
Arnaud Giersch [Mon, 31 Dec 2018 14:16:31 +0000 (15:16 +0100)]
[travis] Try to improve running time with parallel executions.

2 years ago[sonar] Remove deprecated properties.
Arnaud Giersch [Mon, 31 Dec 2018 14:11:38 +0000 (15:11 +0100)]
[sonar] Remove deprecated properties.

2 years agodisable python on travis, as Trusty is too old
Martin Quinson [Mon, 31 Dec 2018 01:59:16 +0000 (02:59 +0100)]
disable python on travis, as Trusty is too old

2 years agotrailing spaces
Martin Quinson [Mon, 31 Dec 2018 01:56:39 +0000 (02:56 +0100)]
trailing spaces

2 years agopy: fix out of tree build testing
Martin Quinson [Mon, 31 Dec 2018 01:48:41 +0000 (02:48 +0100)]
py: fix out of tree build testing

2 years agopython: two more examples, the basics are here
Martin Quinson [Mon, 31 Dec 2018 01:31:47 +0000 (02:31 +0100)]
python: two more examples, the basics are here

2 years agopython: rename register_function into register_actor as it takes classes too
Martin Quinson [Mon, 31 Dec 2018 01:28:37 +0000 (02:28 +0100)]
python: rename register_function into register_actor as it takes classes too

2 years agopython: fix register_function when passed a class
Martin Quinson [Mon, 31 Dec 2018 01:26:07 +0000 (02:26 +0100)]
python: fix register_function when passed a class

2 years agopython: extend the bindings
Martin Quinson [Mon, 31 Dec 2018 00:33:57 +0000 (01:33 +0100)]
python: extend the bindings

WORKING:

- Mailbox::put and Mailbox::get
- simgrid.Actor.create("name", Fafard, callable)
  (with callable being either a function or an object implementing __call__(self)
- simgrid.Actor.create("name", Fafard, callable, param1, param2)
  (with callable taking 2 parameters)
- e.register_function("name", fun)
  (with fun being a function taking a tuple parameter)

NOT WORKING
- e.register_function("name", class)
  (with class being a class name implementing __init__(self, *args))

2 years agoemission does not seem to be the correct word here
Martin Quinson [Mon, 31 Dec 2018 00:32:55 +0000 (01:32 +0100)]
emission does not seem to be the correct word here

2 years agopython: improve the documentation
Martin Quinson [Fri, 28 Dec 2018 00:32:10 +0000 (01:32 +0100)]
python: improve the documentation

2 years agocosmetics.
Augustin Degomme [Fri, 28 Dec 2018 17:09:36 +0000 (18:09 +0100)]
cosmetics.

2 years agoupdate description of SImgrid ci job with NS3 and Python
Augustin Degomme [Fri, 28 Dec 2018 11:26:54 +0000 (12:26 +0100)]
update description of SImgrid ci job with NS3 and Python

2 years agocompile simgrid_python with c++14
Martin Quinson [Thu, 27 Dec 2018 20:26:22 +0000 (21:26 +0100)]
compile simgrid_python with c++14

- Was with gnu++14, but icc does not seem to love it.
- Also remove -Wno-attributes now that the problematic templates are gone

2 years agofix out of tree builds
Martin Quinson [Thu, 27 Dec 2018 19:42:38 +0000 (20:42 +0100)]
fix out of tree builds

2 years agoOld pybind11 cannot be used
Martin Quinson [Thu, 27 Dec 2018 19:39:04 +0000 (20:39 +0100)]
Old pybind11 cannot be used

We need PYBIND11_MODULE, that do not seem usable before v2.2.0

2 years agowe cannot use PYBIND11 without PYTHONLIBS
Martin Quinson [Thu, 27 Dec 2018 18:29:03 +0000 (19:29 +0100)]
we cannot use PYBIND11 without PYTHONLIBS

No idea why pybind11 does not do it automatically. Maybe they think
that pybind11 can work (ie generate code) even if that code cannot be
compiled, but that's a bit ... strange.

2 years agokill deprecated templates that don't compile in C++14
Martin Quinson [Thu, 27 Dec 2018 18:10:55 +0000 (19:10 +0100)]
kill deprecated templates that don't compile in C++14

2 years agoDrop sg_cmdline. Please use xbt_cmdline instead (+include reduction)
Martin Quinson [Thu, 27 Dec 2018 10:32:03 +0000 (11:32 +0100)]
Drop sg_cmdline. Please use xbt_cmdline instead (+include reduction)

2 years agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Thu, 27 Dec 2018 09:27:51 +0000 (10:27 +0100)]
Merge branch 'master' of github.com:simgrid/simgrid

2 years agoOnly test python bindings if they are enabled
Martin Quinson [Thu, 27 Dec 2018 09:19:34 +0000 (10:19 +0100)]
Only test python bindings if they are enabled

But still include their files in the archive in all cases

2 years agoactually include the python examples in the archive
Martin Quinson [Thu, 27 Dec 2018 09:03:44 +0000 (10:03 +0100)]
actually include the python examples in the archive

2 years agoa host and not an host
Frederic Suter [Thu, 27 Dec 2018 08:46:28 +0000 (09:46 +0100)]
a host and not an host

2 years agofix make dist
Martin Quinson [Thu, 27 Dec 2018 00:39:16 +0000 (01:39 +0100)]
fix make dist

2 years agons3: comment asserts that fail on clusters
Martin Quinson [Thu, 27 Dec 2018 00:32:53 +0000 (01:32 +0100)]
ns3: comment asserts that fail on clusters

2 years agopython: First working example
Martin Quinson [Wed, 26 Dec 2018 23:46:44 +0000 (00:46 +0100)]
python: First working example

2 years agoeven more ignorable cruft
Martin Quinson [Wed, 26 Dec 2018 23:46:18 +0000 (00:46 +0100)]
even more ignorable cruft

2 years agofix make dist
Martin Quinson [Wed, 26 Dec 2018 23:00:15 +0000 (00:00 +0100)]
fix make dist

2 years agopython: add the docstrings
Martin Quinson [Wed, 26 Dec 2018 22:59:05 +0000 (23:59 +0100)]
python: add the docstrings

2 years agoinitial support for pybind11: Python bindings of S4U are underway
Martin Quinson [Wed, 26 Dec 2018 22:25:27 +0000 (23:25 +0100)]
initial support for pybind11: Python bindings of S4U are underway

2 years agoIgnore more stuff
Martin Quinson [Wed, 26 Dec 2018 22:12:23 +0000 (23:12 +0100)]
Ignore more stuff

2 years agos4u.hpp: add a missing include file
Martin Quinson [Tue, 25 Dec 2018 18:10:23 +0000 (19:10 +0100)]
s4u.hpp: add a missing include file

2 years agohide deprecated methods from doxygen
Martin Quinson [Tue, 25 Dec 2018 17:52:08 +0000 (18:52 +0100)]
hide deprecated methods from doxygen

2 years agons3: assert that the sent amount is as expected
Martin Quinson [Tue, 25 Dec 2018 16:27:19 +0000 (17:27 +0100)]
ns3: assert that the sent amount is as expected