Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agoUpdate sonar-project.properties to ignore MPI quirks
Augustin Degomme [Thu, 6 Jun 2019 22:39:29 +0000 (00:39 +0200)]
Update sonar-project.properties to ignore MPI quirks

2 years agoremove an old windows cruft
Martin Quinson [Thu, 6 Jun 2019 22:25:36 +0000 (00:25 +0200)]
remove an old windows cruft

2 years agoImprove how we search for pybind11
Martin Quinson [Thu, 6 Jun 2019 21:43:22 +0000 (23:43 +0200)]
Improve how we search for pybind11

Include the searching modules in our tree. I am not absolutely
convinced that this is the right approach (we are dupplicating their
code, we'll have to maintain it), but the error message is rather
brutal without it, and plus, the result of "pip install pybind11" is
not enough without it.

2 years agoback to unstable work
Martin Quinson [Thu, 6 Jun 2019 14:16:43 +0000 (16:16 +0200)]
back to unstable work

2 years agoMerge branch 'stable'
Martin Quinson [Thu, 6 Jun 2019 14:08:38 +0000 (16:08 +0200)]
Merge branch 'stable'

2 years agofixups in the releasing process
Martin Quinson [Thu, 6 Jun 2019 14:07:54 +0000 (16:07 +0200)]
fixups in the releasing process

2 years agogitlab-ci: use release as a testing script to reduce building time
Martin Quinson [Thu, 6 Jun 2019 13:41:25 +0000 (15:41 +0200)]
gitlab-ci: use release as a testing script to reduce building time

2 years agoJenkins host name changed since last dot release
Martin Quinson [Thu, 6 Jun 2019 13:38:16 +0000 (15:38 +0200)]
Jenkins host name changed since last dot release

2 years agoprepare the release of 3.22.4 v3.22.4
Martin Quinson [Thu, 6 Jun 2019 12:32:47 +0000 (14:32 +0200)]
prepare the release of 3.22.4

2 years agokill some remaining bits that tested lmm::lagrange
Martin Quinson [Thu, 6 Jun 2019 07:20:46 +0000 (09:20 +0200)]
kill some remaining bits that tested lmm::lagrange

2 years agoLMM: rename sharing_weight into sharing_penalty for sake of clarity
Martin Quinson [Wed, 5 Jun 2019 15:07:28 +0000 (17:07 +0200)]
LMM: rename sharing_weight into sharing_penalty for sake of clarity

This is similar to what just happened in surf yesterday. It allows:
  -   cnst.usage_ += elem.consumption_weight / elem.variable->sharing_weight_;
  +   cnst.usage_ += elem.consumption_weight / elem.variable->sharing_penalty_;
which seems far more understandable to me.

I'm glad I finally got the will to do this boooooring cleanup, after
hours of being puzzled whether a sharing_weight is actually an
advantage or a drawback for the action in the LMM. The answer was "it
depends on whether you are in app, surf or LMM". Now, you know that
having a high priority is the opposite of having a high penalty, and
things should be less intricate.

2 years agoBuild nice python source packages
Martin Quinson [Wed, 5 Jun 2019 09:57:27 +0000 (11:57 +0200)]
Build nice python source packages

This should be enough to solve framagit#6.

2 years agoRename cmake option 'minimal_java' into 'minimal-bindings'
Martin Quinson [Wed, 5 Jun 2019 09:55:08 +0000 (11:55 +0200)]
Rename cmake option 'minimal_java' into 'minimal-bindings'

I will use it for python too.

2 years agoci: don't check external links because of the false positives
Martin Quinson [Tue, 4 Jun 2019 16:25:05 +0000 (18:25 +0200)]
ci: don't check external links because of the false positives

2 years agobuilding the pages needs to rebuild python beforehand
Martin Quinson [Tue, 4 Jun 2019 16:20:54 +0000 (18:20 +0200)]
building the pages needs to rebuild python beforehand

2 years agoRename Action::priority into Action::sharing_penalty in surf as it should be
Martin Quinson [Tue, 4 Jun 2019 16:09:38 +0000 (18:09 +0200)]
Rename Action::priority into Action::sharing_penalty in surf as it should be

This commit contains the following at the s4u -> surf boundary:
  -        .set_priority(1. / priority_)
  +        .set_sharing_penalty(1. / priority_)
The old version was just sick.

This should be further propagated down into LMM, where the
sharing_penalty is still named "sharing_weight". Not a helpful name
for the poor souls who didn't wrote an hdr on this topic :)

2 years agobug fixed++
Martin Quinson [Tue, 4 Jun 2019 14:21:24 +0000 (16:21 +0200)]
bug fixed++

2 years agoHide the destructor of resource::Model
Martin Quinson [Tue, 4 Jun 2019 09:57:18 +0000 (11:57 +0200)]
Hide the destructor of resource::Model

If "~Model() = default" is in the header file, the compilation fails
with the following message:

 /usr/include/simgrid/kernel/resource/Model.hpp:35:11:   required from here
 /usr/include/c++/6/bits/unique_ptr.h:74:22: error: invalid application of 'sizeof' to incomplete type 'simgrid::kernel::lmm::System'
   static_assert(sizeof(_Tp)>0,

That's too bad because simgrid::kernel::lmm::System is not a public
type. This fails in particular when compiling simgrid-FMI.

Hiding the destructor in the cpp as done with this commit works better
because lmm::System is visible from Model.cpp

2 years agosonar: kill unused parameter
Martin Quinson [Tue, 4 Jun 2019 08:18:00 +0000 (10:18 +0200)]
sonar: kill unused parameter

2 years agoMC: kill an unused field and a useless method
Martin Quinson [Mon, 3 Jun 2019 23:41:47 +0000 (01:41 +0200)]
MC: kill an unused field and a useless method

2 years agoMC: kill an unused field
Martin Quinson [Mon, 3 Jun 2019 23:39:15 +0000 (01:39 +0200)]
MC: kill an unused field

2 years agoSimplify mc::Region::read()
Martin Quinson [Mon, 3 Jun 2019 23:10:37 +0000 (01:10 +0200)]
Simplify mc::Region::read()

- Inline a function, and simplify the flow now that we only have Chunked regions
- Make it a method (it was a C function)

2 years agoCleanups in class mc::Region
Martin Quinson [Mon, 3 Jun 2019 22:38:19 +0000 (00:38 +0200)]
Cleanups in class mc::Region

- former name was mc::RegionSnapshot
- please sonar: mark fields private, and kill copy constructor
- mc::Region cannot be of type Unknown anymore
- and other cleanups

2 years agolmm: cosmetics in documentation (reduce redundency)
Martin Quinson [Mon, 3 Jun 2019 13:33:34 +0000 (15:33 +0200)]
lmm: cosmetics in documentation (reduce redundency)

2 years agofinish the removal of lagrange-related things
Martin Quinson [Mon, 3 Jun 2019 13:30:48 +0000 (15:30 +0200)]
finish the removal of lagrange-related things

2 years agolmm: rename some fields for clarity
Martin Quinson [Mon, 3 Jun 2019 13:17:44 +0000 (15:17 +0200)]
lmm: rename some fields for clarity

2 years agoRemove the lagrange-based models
Martin Quinson [Mon, 3 Jun 2019 13:02:38 +0000 (15:02 +0200)]
Remove the lagrange-based models

Sorry Pedro, but this simplification really makes me happy :)

2 years agolmm::{Variable,Constraint}: Obey our coding conventions wrt fields' names
Martin Quinson [Mon, 3 Jun 2019 12:31:15 +0000 (14:31 +0200)]
lmm::{Variable,Constraint}: Obey our coding conventions wrt fields' names

2 years agoAvoid a >>unused parameter ‘host’<< error on user code
Martin Quinson [Sun, 2 Jun 2019 19:11:46 +0000 (21:11 +0200)]
Avoid a >>unused parameter ‘host’<< error on user code

2 years agoReduce code duplication.
Arnaud Giersch [Mon, 3 Jun 2019 11:57:27 +0000 (13:57 +0200)]
Reduce code duplication.

2 years agoCosmetics.
Arnaud Giersch [Mon, 3 Jun 2019 11:39:09 +0000 (13:39 +0200)]
Cosmetics.

2 years agoDon't leave an empty catch block.
Arnaud Giersch [Mon, 3 Jun 2019 11:37:07 +0000 (13:37 +0200)]
Don't leave an empty catch block.

2 years agoUnused parameters argc/argv.
Arnaud Giersch [Mon, 3 Jun 2019 09:44:08 +0000 (11:44 +0200)]
Unused parameters argc/argv.

2 years ago[sonar] Replace private inheritance with a private member.
Arnaud Giersch [Mon, 3 Jun 2019 08:53:15 +0000 (10:53 +0200)]
[sonar] Replace private inheritance with a private member.

2 years agoAdd gemm.c to sonar exclusions, this code is not ours.
Arnaud Giersch [Mon, 3 Jun 2019 08:42:15 +0000 (10:42 +0200)]
Add gemm.c to sonar exclusions, this code is not ours.

2 years agofix MC builds on gcc
Martin Quinson [Sat, 1 Jun 2019 11:46:21 +0000 (13:46 +0200)]
fix MC builds on gcc

2 years agofix lua builds
Martin Quinson [Sat, 1 Jun 2019 10:45:17 +0000 (12:45 +0200)]
fix lua builds

2 years agoMC: rename some files
Martin Quinson [Fri, 31 May 2019 21:58:11 +0000 (23:58 +0200)]
MC: rename some files

2 years agoMC: finish emptying an old C file
Martin Quinson [Fri, 31 May 2019 21:47:30 +0000 (23:47 +0200)]
MC: finish emptying an old C file

Its content was dispatched to classes (that's still a bit cheatty in
inspect/ but that's in progress)

2 years agoMC: inline a function that is now trivial
Martin Quinson [Fri, 31 May 2019 21:31:59 +0000 (23:31 +0200)]
MC: inline a function that is now trivial

2 years agorename a file
Martin Quinson [Fri, 31 May 2019 21:08:09 +0000 (23:08 +0200)]
rename a file

2 years agofix build on stable debian
Martin Quinson [Fri, 31 May 2019 13:38:09 +0000 (15:38 +0200)]
fix build on stable debian

2 years agofix make dist, stupid f*** bummer
Martin Quinson [Fri, 31 May 2019 13:22:21 +0000 (15:22 +0200)]
fix make dist, stupid f*** bummer

2 years agopoint to the right sonar repo
Martin Quinson [Fri, 31 May 2019 13:15:04 +0000 (15:15 +0200)]
point to the right sonar repo

2 years agocleanup after the split of kernel/resource/profile into several classes
Martin Quinson [Fri, 31 May 2019 13:11:22 +0000 (15:11 +0200)]
cleanup after the split of kernel/resource/profile into several classes

2 years agoMC::Region: Also remove the permanent_addr thingy
Martin Quinson [Fri, 31 May 2019 10:36:16 +0000 (12:36 +0200)]
MC::Region: Also remove the permanent_addr thingy

That was needed for the MMAP privatization of SMPI, which is gone.

2 years agomc: cosmetics
Martin Quinson [Fri, 31 May 2019 10:22:56 +0000 (12:22 +0200)]
mc: cosmetics

2 years agoMerge branch 'tracemgrsplit' into 'master'
Martin Quinson [Fri, 31 May 2019 12:31:12 +0000 (14:31 +0200)]
Merge branch 'tracemgrsplit' into 'master'

Splitting trace_mgr into several files, one per class

See merge request simgrid/simgrid!4

2 years agofix make dist
Martin Quinson [Thu, 30 May 2019 14:47:33 +0000 (16:47 +0200)]
fix make dist

2 years agofix gitlab-ci.yml
Martin Quinson [Thu, 30 May 2019 14:45:33 +0000 (16:45 +0200)]
fix gitlab-ci.yml

2 years agoinline a function
Martin Quinson [Thu, 30 May 2019 14:43:01 +0000 (16:43 +0200)]
inline a function

2 years agokill the RegionSparse subclass now that there is no alternative
Martin Quinson [Thu, 30 May 2019 14:06:25 +0000 (16:06 +0200)]
kill the RegionSparse subclass now that there is no alternative

2 years agoMC: cosmetics (fight the mc_model_checker singleton)
Martin Quinson [Thu, 30 May 2019 10:45:55 +0000 (12:45 +0200)]
MC: cosmetics (fight the mc_model_checker singleton)

2 years agoMC: remove support for flat storage of regions
Martin Quinson [Thu, 30 May 2019 10:32:28 +0000 (12:32 +0200)]
MC: remove support for flat storage of regions

This is another move to unclutter the MC source code. The road is
still long, but I'm progressing.

2 years agoci: don't rebuild specifically to build and linkcheck the doc
Martin Quinson [Thu, 30 May 2019 10:31:23 +0000 (12:31 +0200)]
ci: don't rebuild specifically to build and linkcheck the doc

2 years agoMC::remote: snake case
Martin Quinson [Thu, 30 May 2019 09:38:17 +0000 (11:38 +0200)]
MC::remote: snake case

2 years agomc: Also remove the process_index
Martin Quinson [Wed, 29 May 2019 22:12:08 +0000 (00:12 +0200)]
mc: Also remove the process_index

This was used to switch between MMAP private segments

2 years agoKill the support for privatized SMPI in MC mode
Martin Quinson [Wed, 29 May 2019 14:51:11 +0000 (16:51 +0200)]
Kill the support for privatized SMPI in MC mode

2 years agoUpdate sonar-project.properties key
Augustin Degomme [Wed, 29 May 2019 12:23:06 +0000 (14:23 +0200)]
Update sonar-project.properties key

2 years agosonar: move the simgrid project in the simgrid organization
Martin Quinson [Wed, 29 May 2019 09:26:52 +0000 (11:26 +0200)]
sonar: move the simgrid project in the simgrid organization

2 years agoDon't pretend we can move a parallel exec
Martin Quinson [Tue, 28 May 2019 15:45:16 +0000 (17:45 +0200)]
Don't pretend we can move a parallel exec

2 years agomc: snake_case the checkers
Martin Quinson [Tue, 28 May 2019 09:23:03 +0000 (11:23 +0200)]
mc: snake_case the checkers

2 years agomc: snake_case a class
Martin Quinson [Tue, 28 May 2019 08:34:49 +0000 (10:34 +0200)]
mc: snake_case a class

2 years agomc: change 3 static functions into private methods
Martin Quinson [Mon, 27 May 2019 23:18:24 +0000 (01:18 +0200)]
mc: change 3 static functions into private methods

And inline a fourth one

2 years agomc: move code around in the hope that it will sort itself while doing so
Martin Quinson [Mon, 27 May 2019 23:11:00 +0000 (01:11 +0200)]
mc: move code around in the hope that it will sort itself while doing so

2 years agoignore java from coverage
Martin Quinson [Mon, 27 May 2019 22:41:41 +0000 (00:41 +0200)]
ignore java from coverage

2 years agoMissing include (HAVE_MREMAP).
Arnaud Giersch [Tue, 28 May 2019 08:53:45 +0000 (10:53 +0200)]
Missing include (HAVE_MREMAP).

2 years agomc: tricks to improve the coverage
Martin Quinson [Sun, 26 May 2019 22:34:10 +0000 (00:34 +0200)]
mc: tricks to improve the coverage

- change "if (..) xbt_die" into xbt_assert(..)
- kill dead code

2 years agofix non-MC builds when libevent is not found
Martin Quinson [Sun, 26 May 2019 21:36:28 +0000 (23:36 +0200)]
fix non-MC builds when libevent is not found

2 years agofurther tidy the includes in MC
Martin Quinson [Sun, 26 May 2019 21:17:00 +0000 (23:17 +0200)]
further tidy the includes in MC

2 years agomc: kill some useless includes
Martin Quinson [Sat, 25 May 2019 21:28:05 +0000 (23:28 +0200)]
mc: kill some useless includes

2 years agoSpecify that we use framagit as a gitlab instance
Martin Quinson [Fri, 24 May 2019 19:06:00 +0000 (21:06 +0200)]
Specify that we use framagit as a gitlab instance

Also, don't generate the link for generated pages, and remove the
exception about them in the linkchecker.

2 years agonope sonar, that's not some commented code
Martin Quinson [Fri, 24 May 2019 19:01:43 +0000 (21:01 +0200)]
nope sonar, that's not some commented code

2 years agoFix project_description.sh.
Arnaud Giersch [Thu, 23 May 2019 21:18:26 +0000 (23:18 +0200)]
Fix project_description.sh.

2 years agoUseless include.
Arnaud Giersch [Tue, 21 May 2019 21:46:31 +0000 (23:46 +0200)]
Useless include.

2 years agofix some typo in the comments, just to launch a rebuild on servers
Martin Quinson [Thu, 23 May 2019 16:31:07 +0000 (18:31 +0200)]
fix some typo in the comments, just to launch a rebuild on servers

Having jenkins all white after restart is annoying

2 years agoPlug a memleak
Martin Quinson [Thu, 23 May 2019 08:08:49 +0000 (10:08 +0200)]
Plug a memleak

2 years agodocker: drop root priviledge in our tutorial images
Martin Quinson [Wed, 22 May 2019 22:02:03 +0000 (00:02 +0200)]
docker: drop root priviledge in our tutorial images

2 years agoMore borken link fixed
Martin Quinson [Wed, 22 May 2019 13:41:22 +0000 (15:41 +0200)]
More borken link fixed

One was hidden in the doxygen comments and other ones required some
changes on the website.

2 years agodoc: fix some borken links
Martin Quinson [Wed, 22 May 2019 13:04:16 +0000 (15:04 +0200)]
doc: fix some borken links

Some by using a newer version, some by simply removing the link, some
by ignoring them in linkchecker

2 years agolinkcheck doc: we won't fix javasphinx ourselves
Martin Quinson [Wed, 22 May 2019 12:11:08 +0000 (14:11 +0200)]
linkcheck doc: we won't fix javasphinx ourselves

2 years agooops
Augustin Degomme [Wed, 22 May 2019 08:31:49 +0000 (10:31 +0200)]
oops

2 years agoos_timer: detect when our implementation needs to be augmented
Martin Quinson [Wed, 22 May 2019 08:18:50 +0000 (10:18 +0200)]
os_timer: detect when our implementation needs to be augmented

2 years agomc: create RegionSparse, RegionDense and RegionPrivatized (WIP)
Martin Quinson [Mon, 20 May 2019 22:58:19 +0000 (00:58 +0200)]
mc: create RegionSparse, RegionDense and RegionPrivatized (WIP)

The content is still in the ancestor class, with a switch on the type_
field. This will soon change.

2 years agoRegionSnap: only use pointers to regions for sake of simplicity
Martin Quinson [Mon, 20 May 2019 22:29:22 +0000 (00:29 +0200)]
RegionSnap: only use pointers to regions for sake of simplicity

2 years agomc: privatized regions now use a vector of pointers for sake of homogeneity
Martin Quinson [Mon, 20 May 2019 22:07:48 +0000 (00:07 +0200)]
mc: privatized regions now use a vector of pointers for sake of homogeneity

This commit is ... not very helping the readability as is. I hope to
make a real hierarchy of classes here around soon.

2 years agomc: some snake_casing on the way
Martin Quinson [Mon, 20 May 2019 21:43:57 +0000 (23:43 +0200)]
mc: some snake_casing on the way

2 years agomc: that FIXME was easy to fix :)
Martin Quinson [Mon, 20 May 2019 21:29:21 +0000 (23:29 +0200)]
mc: that FIXME was easy to fix :)

2 years agodeactivate clock_gettime on SunOS, as it does not work for threads.
Augustin Degomme [Wed, 22 May 2019 07:45:47 +0000 (09:45 +0200)]
deactivate clock_gettime on SunOS, as it does not work for threads.
CLOCK_THREAD_CPUTIME_ID is declared, but is unimplemented, execution fails and we don't check it.
This can be checked by the absence of _POSIX_THREAD_CPUTIME in unistd.h
Sadly, deactivating posix_gettime only for thread timers is not practical in xbt, so just default to another for all timers.

2 years agotry to make rma tests faster
Augustin Degomme [Tue, 21 May 2019 23:01:21 +0000 (01:01 +0200)]
try to make rma tests faster

2 years agoDisable parallel ucontexts on 64bit SunOS.
Arnaud Giersch [Tue, 21 May 2019 20:36:09 +0000 (22:36 +0200)]
Disable parallel ucontexts on 64bit SunOS.

Ucontexts and TLS don't play well together on this platform.

For the record, here is a sample test code. The output should be the same before and after
swapcontext (recall that option "-m64" may be mandatory to compile in 64bit mode).

--------------------
#include <iostream>
#include <stdexcept>
#include <system_error>
#include <thread>
#include <ucontext.h>

thread_local int x = 1;

static char stack[66536];
static ucontext_t ctx;
static ucontext_t octx;

static void wrap()
{
    std::cerr << "o. After swapcontext...: x = " << x << " (" << std::this_thread::get_id() << ")\n";
}

static void thread_fun()
{
    x = 2;
    std::this_thread::sleep_for(std::chrono::milliseconds(100));

    ctx.uc_stack.ss_sp = stack;
    ctx.uc_stack.ss_size = sizeof(stack);
    ctx.uc_link = &octx;
    makecontext(&ctx, &wrap, 2, (int)0xdeadbeef);
    std::cerr << "o. Before swapcontext..: x = " << x << " (" << std::this_thread::get_id() << ")\n";
    swapcontext(&octx, &ctx);
    std::cerr << "o. Finish of thread....: x = " << x << " (" << std::this_thread::get_id() << ")\n";
}

int main()
{
    std::cerr << "x. Main (before thread): x = " << x << " (" << std::this_thread::get_id() << ")\n";
    std::thread thr(thread_fun);
    getcontext(&ctx);
    thr.join();
    std::cerr << "x. Main (after join)...: x = " << x << " (" << std::this_thread::get_id() << ")\n";
}

2 years agoSave worker's context directly in TLS.
Arnaud Giersch [Tue, 21 May 2019 20:15:25 +0000 (22:15 +0200)]
Save worker's context directly in TLS.

2 years agog++ needs this include but not clang
Martin Quinson [Mon, 20 May 2019 20:34:21 +0000 (22:34 +0200)]
g++ needs this include but not clang

I'm really puzzled

2 years agoAhem. You mean I need to actually compile with MC after moving files?
Martin Quinson [Mon, 20 May 2019 15:23:00 +0000 (17:23 +0200)]
Ahem. You mean I need to actually compile with MC after moving files?

2 years agoadd s4u-cloud-simple to the list of examples
Martin Quinson [Sun, 19 May 2019 23:07:15 +0000 (01:07 +0200)]
add s4u-cloud-simple to the list of examples

This example and the other cloud ones should probably be rewritten to
be more informative to the users, one day. This commit mostly create a
section in the list of examples that I'll be able to link to from the
main web page.

2 years agomc: move some files related to ELF, DWARF or unwind reading into their own directory
Martin Quinson [Sun, 19 May 2019 23:05:29 +0000 (01:05 +0200)]
mc: move some files related to ELF, DWARF or unwind reading into their own directory

2 years agoargh, linkchecker needs --check-extern to be really useful
Martin Quinson [Sun, 19 May 2019 22:15:32 +0000 (00:15 +0200)]
argh, linkchecker needs --check-extern to be really useful

2 years agoci@doc: fix the parameter of linkchecker
Martin Quinson [Sun, 19 May 2019 21:54:07 +0000 (23:54 +0200)]
ci@doc: fix the parameter of linkchecker

2 years agodoc: fix the last broken links (?)
Martin Quinson [Sun, 19 May 2019 21:50:28 +0000 (23:50 +0200)]
doc: fix the last broken links (?)

2 years agofix more dead links in the doc
Martin Quinson [Sun, 19 May 2019 19:38:47 +0000 (21:38 +0200)]
fix more dead links in the doc