Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
3 years agoFix most of spelling mistakes in src/
Augustin Degomme [Fri, 12 Jun 2020 09:52:57 +0000 (11:52 +0200)]
Fix most of spelling mistakes in src/
using codespell (https://github.com/codespell-project/codespell)
exclude catch.hpp

3 years agoFinish converting the way we use cfg=smpi/host-speed ourselves -- Bummer
Martin Quinson [Thu, 11 Jun 2020 00:13:29 +0000 (02:13 +0200)]
Finish converting the way we use cfg=smpi/host-speed ourselves -- Bummer

3 years agoFix pip builds
Martin Quinson [Wed, 10 Jun 2020 23:48:50 +0000 (01:48 +0200)]
Fix pip builds

3 years agoAlign the definitions of surf_parsed_filename accross files
Martin Quinson [Wed, 10 Jun 2020 23:43:21 +0000 (01:43 +0200)]
Align the definitions of surf_parsed_filename accross files

3 years agoClarify one paragraph in the doc
Martin Quinson [Wed, 10 Jun 2020 23:38:20 +0000 (01:38 +0200)]
Clarify one paragraph in the doc

3 years agoAccept units for 'smpi/host-speed' config element
Martin Quinson [Wed, 10 Jun 2020 23:24:35 +0000 (01:24 +0200)]
Accept units for 'smpi/host-speed' config element

3 years agosplit surf_parse into a separate file to make it reusable from elsewhere
Martin Quinson [Wed, 10 Jun 2020 21:35:42 +0000 (23:35 +0200)]
split surf_parse into a separate file to make it reusable from elsewhere

Also rename surf_parse_* functions into xbt_parse_*

Also, make the file name and line number explicit, as parameters to
functions that need it (less hidden global state is better). But I was
too lazy to clean smpi::parse_factor() tonight: the pandora box
remains closed for tonight.

3 years agoleaks --
Augustin Degomme [Tue, 9 Jun 2020 12:40:03 +0000 (14:40 +0200)]
leaks --
These lines were not supposed to be included in latest commit.
But as I had already written the commit message warning of memory leaks, I decided to add them anymway, in order not to lie.

3 years agodon't throw in smpi_helpers when passing configure, it may confuse some checkers
Augustin Degomme [Tue, 9 Jun 2020 09:28:50 +0000 (11:28 +0200)]
don't throw in smpi_helpers when passing configure, it may confuse some checkers
petsc fails detection of getcwd and others, because we are pulling them in our header with a different signature

3 years agoimprove handling of persistent requests.
Augustin Degomme [Mon, 8 Jun 2020 21:24:36 +0000 (23:24 +0200)]
improve handling of persistent requests.
not great, could leak in some cases.

3 years agoFinished = inactive
Augustin Degomme [Mon, 8 Jun 2020 14:05:42 +0000 (16:05 +0200)]
Finished = inactive
One is allowed to call MPI_WAIT with a null or inactive request argument. In this case the operation returns immediately with empty status.

3 years agostandard says handle should be set to MPI_DATATYPE_NULL.
Augustin Degomme [Mon, 8 Jun 2020 10:23:35 +0000 (12:23 +0200)]
standard says handle should be set to MPI_DATATYPE_NULL.

3 years agoThis call can be performed before MPI_Init, avoid bench_end/bench_start.
Augustin Degomme [Sun, 7 Jun 2020 15:39:33 +0000 (17:39 +0200)]
This call can be performed before MPI_Init, avoid bench_end/bench_start.

3 years agoreturning the correct value is better, weirdly.
Augustin Degomme [Sun, 7 Jun 2020 15:08:04 +0000 (17:08 +0200)]
returning the correct value is better, weirdly.

3 years agofix issues with attr and cloning
augustin degomme [Sun, 7 Jun 2020 01:57:30 +0000 (03:57 +0200)]
fix issues with attr and cloning

3 years agoplease clang
Augustin Degomme [Sun, 7 Jun 2020 01:12:07 +0000 (03:12 +0200)]
please clang

3 years agoeven if useless, let's initialize these to avoid upsetting valgrind.
Augustin Degomme [Sat, 6 Jun 2020 20:54:14 +0000 (22:54 +0200)]
even if useless, let's initialize these to avoid upsetting valgrind.

3 years agoFix MPI_Type_dup for derived datatypes.
Augustin Degomme [Sat, 6 Jun 2020 20:52:23 +0000 (22:52 +0200)]
Fix MPI_Type_dup for derived datatypes.

3 years agoplease sonar
augustin degomme [Sat, 6 Jun 2020 11:45:32 +0000 (13:45 +0200)]
please sonar

3 years agoTiny fixes
augustin degomme [Sat, 6 Jun 2020 09:38:16 +0000 (11:38 +0200)]
Tiny fixes
I was just checking than sanitizers, valgrind, and static analysis were still working.

3 years agoImplement MPI_Type_get_envelope and MPI_Type_get_contents
Augustin Degomme [Fri, 5 Jun 2020 23:35:17 +0000 (01:35 +0200)]
Implement MPI_Type_get_envelope and MPI_Type_get_contents

3 years agonothing to see here.
Augustin Degomme [Fri, 5 Jun 2020 15:11:00 +0000 (17:11 +0200)]
nothing to see here.

3 years agodon't fail for these probably harmless unimplemented calls
Augustin Degomme [Fri, 5 Jun 2020 14:45:43 +0000 (16:45 +0200)]
don't fail for these probably harmless unimplemented calls

3 years agoPrefer doublequotes (codacy).
Arnaud Giersch [Thu, 4 Jun 2020 15:39:59 +0000 (17:39 +0200)]
Prefer doublequotes (codacy).

3 years agoExclude more odr violations (seen with boost 1.71).
Arnaud Giersch [Thu, 4 Jun 2020 15:36:45 +0000 (17:36 +0200)]
Exclude more odr violations (seen with boost 1.71).

3 years agowhen SMPI_PRETEND_CC is set, don't replace program xx by subroutine xx, we want to...
Augustin Degomme [Fri, 5 Jun 2020 10:19:41 +0000 (12:19 +0200)]
when SMPI_PRETEND_CC is set, don't replace program xx by subroutine xx, we want to keep an entry point

3 years agochangelog
Augustin Degomme [Wed, 3 Jun 2020 20:32:12 +0000 (22:32 +0200)]
changelog

3 years agoTry to fix python tests failing with python 3.9 on fedora-rawhide.
Arnaud Giersch [Wed, 3 Jun 2020 19:12:29 +0000 (21:12 +0200)]
Try to fix python tests failing with python 3.9 on fedora-rawhide.

3 years agotry to fix ns3 examples. Not sure this was the way intended, but it avoids crashes...
Augustin Degomme [Wed, 3 Jun 2020 09:20:00 +0000 (11:20 +0200)]
try to fix ns3 examples. Not sure this was the way intended, but it avoids crashes for now.

3 years agorequalify all SMPI tesh files with timing information due to previous change
Augustin Degomme [Wed, 3 Jun 2020 00:20:30 +0000 (02:20 +0200)]
requalify all SMPI tesh files with timing information due to previous change

3 years agoadd a 16 byte envelope to each MPI message.
Augustin Degomme [Wed, 3 Jun 2020 00:19:51 +0000 (02:19 +0200)]
add a 16 byte envelope to each MPI message.
This simulates the send of src/dest,tag, and communicator, as in all MPI implems.
This avoids 0-sized messages to be sent to the lower layers, and should be more realistic
This will change simulation times a little bit.

3 years agoMisc issues in shell scripts (codefator.io).
Arnaud Giersch [Sun, 31 May 2020 21:06:15 +0000 (23:06 +0200)]
Misc issues in shell scripts (codefator.io).

3 years agoFix potential memory leaks.
Arnaud Giersch [Sun, 31 May 2020 13:37:29 +0000 (15:37 +0200)]
Fix potential memory leaks.

3 years agowifi: make room for the ns3-wifi binding
Martin Quinson [Fri, 29 May 2020 14:37:38 +0000 (16:37 +0200)]
wifi: make room for the ns3-wifi binding

3 years agosmpi topo : a topo can be shared between some comm (duplicates), but there was no...
Augustin Degomme [Thu, 28 May 2020 15:30:51 +0000 (17:30 +0200)]
smpi topo : a topo can be shared between some comm (duplicates), but there was no refcounting.
Try to switch to a shared_ptr to avoid segfaults or leaks...

3 years agothat's not a double
Augustin Degomme [Thu, 28 May 2020 15:29:14 +0000 (17:29 +0200)]
that's not a double

3 years agofortran : protect in case some calls return success, but with a null request.
Augustin Degomme [Wed, 27 May 2020 16:24:06 +0000 (18:24 +0200)]
fortran : protect in case some calls return success, but with a null request.
This can be caused by sending messages to unreachable processes.

3 years agoattempt to please fortran on ci
Augustin Degomme [Wed, 27 May 2020 13:42:57 +0000 (15:42 +0200)]
attempt to please fortran on ci

3 years agoTrigger a warning when abort is called and a process exits.
Augustin Degomme [Wed, 27 May 2020 12:58:51 +0000 (14:58 +0200)]
Trigger a warning when abort is called and a process exits.
Does not hurt and can help understand why there is a deadlock in simgrid, when the app forgets to print an error message.

3 years agodist
Augustin Degomme [Wed, 27 May 2020 12:55:48 +0000 (14:55 +0200)]
dist

3 years agoMPI IO : "support" for ./ in filename
Augustin Degomme [Wed, 27 May 2020 12:55:33 +0000 (14:55 +0200)]
MPI IO : "support" for ./ in filename

3 years agoMPI IO: now with more fortran bindings
Augustin Degomme [Wed, 27 May 2020 12:54:46 +0000 (14:54 +0200)]
MPI IO: now with more fortran bindings

3 years agofortran support for MPI_UB and MPI_LB
Augustin Degomme [Wed, 27 May 2020 12:53:22 +0000 (14:53 +0200)]
fortran support for MPI_UB and MPI_LB

3 years agofortran : allow use of C names for types
Augustin Degomme [Wed, 27 May 2020 12:53:05 +0000 (14:53 +0200)]
fortran : allow use of C names for types

3 years agoRemove redundant blank lines (codefactor).
Arnaud Giersch [Wed, 27 May 2020 08:10:46 +0000 (10:10 +0200)]
Remove redundant blank lines (codefactor).

3 years agoMake smpif90 support SMPI_NO_UNDEFINED_CHECK too.
Arnaud Giersch [Wed, 27 May 2020 08:07:06 +0000 (10:07 +0200)]
Make smpif90 support SMPI_NO_UNDEFINED_CHECK too.

3 years agoSMPI : Allow to deactivate link-time definitions check with an environment var
Augustin Degomme [Tue, 26 May 2020 21:04:14 +0000 (23:04 +0200)]
SMPI : Allow to deactivate link-time definitions check with an environment var
This is breaking compilation when the code has shared libraries itself (CLAMR).
Not sure if we should keep all this, actually ...

3 years agoDon't use XBT_LOG macros within a function (thanks lgtm for noticing)
Martin Quinson [Sun, 24 May 2020 22:13:41 +0000 (00:13 +0200)]
Don't use XBT_LOG macros within a function (thanks lgtm for noticing)

3 years agolgtm: Add some missing header guards
Martin Quinson [Sun, 24 May 2020 22:08:32 +0000 (00:08 +0200)]
lgtm: Add some missing header guards

3 years agoBetter explanations for the parameters of the decay model
Martin Quinson [Wed, 20 May 2020 10:01:12 +0000 (12:01 +0200)]
Better explanations for the parameters of the decay model

3 years agoMC: inline a function
Martin Quinson [Thu, 14 May 2020 22:16:34 +0000 (00:16 +0200)]
MC: inline a function

3 years agobump osx version on travis
Augustin Degomme [Fri, 15 May 2020 00:12:48 +0000 (02:12 +0200)]
bump osx version on travis

3 years agofix ns3 builds
Martin Quinson [Thu, 14 May 2020 21:30:35 +0000 (23:30 +0200)]
fix ns3 builds

3 years agoremove an extraneous ';' that fools codacy
Martin Quinson [Thu, 14 May 2020 20:56:19 +0000 (22:56 +0200)]
remove an extraneous ';' that fools codacy

3 years agoMissing const marker
Martin Quinson [Thu, 14 May 2020 20:31:26 +0000 (22:31 +0200)]
Missing const marker

3 years agoSave the src_wifi_link and dst_wifi_link in a subclass of NetCm02Action
Martin Quinson [Thu, 14 May 2020 19:04:15 +0000 (21:04 +0200)]
Save the src_wifi_link and dst_wifi_link in a subclass of NetCm02Action

This way, interested parties won't have to recompute that information
and possibly miscompute it.

3 years agofix how wifi's host_rate is used in communicate()
Martin Quinson [Thu, 14 May 2020 18:17:31 +0000 (20:17 +0200)]
fix how wifi's host_rate is used in communicate()

- Enforce that we use the first provided link for the src host,
  and the last one for the dst host
- Assert that the provided links are actually associated to by the right host
- Fix the test that was missing an association

3 years agofix save src/dst
Martin Quinson [Thu, 14 May 2020 18:16:13 +0000 (20:16 +0200)]
fix save src/dst

3 years agoremove the src and dst from the Link::on_communicate callback since it's now in the...
Martin Quinson [Thu, 14 May 2020 16:29:42 +0000 (18:29 +0200)]
remove the src and dst from the Link::on_communicate callback since it's now in the action

3 years agosave the source and destination hosts in the NetworkAction
Martin Quinson [Thu, 14 May 2020 16:23:02 +0000 (18:23 +0200)]
save the source and destination hosts in the NetworkAction

3 years agostick to our coding standards: getters should have get_ in their name
Martin Quinson [Thu, 14 May 2020 16:01:34 +0000 (18:01 +0200)]
stick to our coding standards: getters should have get_ in their name

3 years agothird time's the charm. It was already done properly for smpicc, so just port it...
Augustin Degomme [Wed, 13 May 2020 12:44:02 +0000 (14:44 +0200)]
third time's the charm. It was already done properly for smpicc, so just port it to smpicxx

3 years agodisable on osx as -z is not supported there
Augustin Degomme [Wed, 13 May 2020 12:11:37 +0000 (14:11 +0200)]
disable on osx as -z is not supported there

3 years agoadd definitions check to link phase in SMPI (gh #342).. let's see how many ci workers...
Augustin Degomme [Wed, 13 May 2020 11:15:24 +0000 (13:15 +0200)]
add definitions check to link phase in SMPI (gh #342).. let's see how many ci workers complain

3 years agosonar: also ignore S5271 for the examples in C++
Martin Quinson [Sun, 10 May 2020 20:17:19 +0000 (22:17 +0200)]
sonar: also ignore S5271 for the examples in C++

Plus fix some other warnings reported by sonar.

3 years agoPlease the checkers (sonar, codacy)
Martin Quinson [Sun, 10 May 2020 13:02:46 +0000 (15:02 +0200)]
Please the checkers (sonar, codacy)

- reduce the scope of a variable
- Mark a constructor as explicit
- Blindly obey the given hints about javascript that I don't really master

3 years agodo not downcast activities to the wrong type just to get their name
Martin Quinson [Sun, 10 May 2020 12:41:20 +0000 (14:41 +0200)]
do not downcast activities to the wrong type just to get their name

- I use a protected method to keep my data private. Doing otherwise
  would trigger sonar to complain.
- The code is not particularly clear this way, but I fail to see how
  to do otherwise: I don't want the getter to become a virtual method.
- This was reported by UndefSan now that we have a test that deadlocks.

3 years agoBetter fix for FG#50
Martin Quinson [Sun, 10 May 2020 11:47:44 +0000 (13:47 +0200)]
Better fix for FG#50

- The previous solution was not allowing the suspended actor to be resumed properly
- Instead of going for a complex story where we create an activity on
  which to suspend the actor, simply unschedule it on suspend(), and
  explicitely reschedule it on resume()
- This is much easier since we don't have to save and restore the
  simcall of the suspended actor, even if the price to pay is the
  explicit simix_global->actors_to_run.push_back(this); in resume()
  of which I'm not a big fan.

Fixes https://framagit.org/simgrid/simgrid/-/issues/50

3 years agoplease codacy by not setting a variable we won't use
Martin Quinson [Sun, 10 May 2020 10:28:26 +0000 (12:28 +0200)]
please codacy by not setting a variable we won't use

3 years agosonar: ignore more useless warnings in the examples
Martin Quinson [Sun, 10 May 2020 10:09:42 +0000 (12:09 +0200)]
sonar: ignore more useless warnings in the examples

3 years agoFix MC on FreeBSD
Martin Quinson [Sun, 10 May 2020 09:22:18 +0000 (11:22 +0200)]
Fix MC on FreeBSD

3 years agoFix pip builds
Martin Quinson [Sun, 10 May 2020 08:55:18 +0000 (10:55 +0200)]
Fix pip builds

3 years agostick to our coding standards: fields must have a trailing _
Martin Quinson [Sun, 10 May 2020 08:31:26 +0000 (10:31 +0200)]
stick to our coding standards: fields must have a trailing _

3 years agosonar: ignore more crufty warnings about the examples
Martin Quinson [Sun, 10 May 2020 08:10:59 +0000 (10:10 +0200)]
sonar: ignore more crufty warnings about the examples

3 years agoThe examples must be readable. I'll shut off sonar on these issues
Martin Quinson [Sun, 10 May 2020 08:02:03 +0000 (10:02 +0200)]
The examples must be readable. I'll shut off sonar on these issues

3 years agoMC: obey to the rule of 5 to please sonar
Martin Quinson [Sun, 10 May 2020 07:58:45 +0000 (09:58 +0200)]
MC: obey to the rule of 5 to please sonar

3 years agoFix MC+SMPI builds
Martin Quinson [Sun, 10 May 2020 07:52:22 +0000 (09:52 +0200)]
Fix MC+SMPI builds

3 years agoEnsure that suspending an actor running later in the current scheduling round actuall...
Martin Quinson [Sat, 9 May 2020 23:56:20 +0000 (01:56 +0200)]
Ensure that suspending an actor running later in the current scheduling round actually works

Fixes https://framagit.org/simgrid/simgrid/-/issues/50

3 years agocosmetics
Martin Quinson [Sat, 9 May 2020 23:26:00 +0000 (01:26 +0200)]
cosmetics

3 years agoMC: Further renamings
Martin Quinson [Thu, 7 May 2020 17:41:21 +0000 (19:41 +0200)]
MC: Further renamings

3 years agotry to print pointer correctly on sunos as well
Augustin Degomme [Thu, 7 May 2020 08:54:10 +0000 (10:54 +0200)]
try to print pointer correctly on sunos as well

3 years agodoc: add units for message sizes, and try to make smpi/buffering more understandable
Augustin Degomme [Thu, 7 May 2020 07:20:43 +0000 (09:20 +0200)]
doc: add units for message sizes, and try to make smpi/buffering more understandable

3 years agoMC: actually remove the comm channel from RemoteClientMemory
Martin Quinson [Wed, 6 May 2020 23:38:58 +0000 (01:38 +0200)]
MC: actually remove the comm channel from RemoteClientMemory

It is now in remote::CheckerSide. This makes it symmetric with remote::ClientSide

There is still a lot to do to clean things up:
- the actual communication Checker->App is spread all over the place
- the ModelChecker singleton dupplicates the function of the mc::Session
- plus the other ugly things that I fail to see right now given the ambiant mess

3 years agoMC: rename remote/RemoteClient -> remote/RemoteClientMemory and remove networking...
Martin Quinson [Wed, 6 May 2020 23:21:19 +0000 (01:21 +0200)]
MC: rename remote/RemoteClient -> remote/RemoteClientMemory and remove networking from its responsability

3 years agoMC: move a function around + cosmetics
Martin Quinson [Wed, 6 May 2020 23:13:40 +0000 (01:13 +0200)]
MC: move a function around + cosmetics

3 years agoMC: inline a trivial function
Martin Quinson [Wed, 6 May 2020 22:59:21 +0000 (00:59 +0200)]
MC: inline a trivial function

3 years agoMC: rename remote/EventLoop into remote/CheckerSide
Martin Quinson [Wed, 6 May 2020 22:53:05 +0000 (00:53 +0200)]
MC: rename remote/EventLoop into remote/CheckerSide

3 years agoMC: rename remote/Client into remote/AppSide
Martin Quinson [Wed, 6 May 2020 22:46:50 +0000 (00:46 +0200)]
MC: rename remote/Client into remote/AppSide

3 years agoThe return type of the sg_actor_on_exit() callbacks is now 'void'
Martin Quinson [Wed, 6 May 2020 21:43:05 +0000 (23:43 +0200)]
The return type of the sg_actor_on_exit() callbacks is now 'void'

3 years agoactor-exiting: Align the C test with the C++ one
Martin Quinson [Wed, 6 May 2020 21:24:19 +0000 (23:24 +0200)]
actor-exiting: Align the C test with the C++ one

3 years agothe on_exit() of each actor is also executed when the simulation deadlocks
Martin Quinson [Wed, 6 May 2020 20:27:27 +0000 (22:27 +0200)]
the on_exit() of each actor is also executed when the simulation deadlocks

3 years agoExtra header needed by FreeBSD to know SIGCHILD
Martin Quinson [Wed, 6 May 2020 15:39:11 +0000 (17:39 +0200)]
Extra header needed by FreeBSD to know SIGCHILD

3 years agosplit a piece of src/mc/ModelChecker.cpp into src/mc/remote/EventLoop.cpp
Martin Quinson [Wed, 6 May 2020 14:49:06 +0000 (16:49 +0200)]
split a piece of src/mc/ModelChecker.cpp into src/mc/remote/EventLoop.cpp

3 years agoMC: tiny code simplifications
Martin Quinson [Wed, 6 May 2020 01:19:03 +0000 (03:19 +0200)]
MC: tiny code simplifications

3 years agofurther simplify the MC initialization
Martin Quinson [Tue, 5 May 2020 22:22:17 +0000 (00:22 +0200)]
further simplify the MC initialization

3 years agosimplify the MC initialization by using only one env variable
Martin Quinson [Tue, 5 May 2020 22:13:03 +0000 (00:13 +0200)]
simplify the MC initialization by using only one env variable

3 years agoRemove a useless call in MC initialization
Martin Quinson [Tue, 5 May 2020 21:53:15 +0000 (23:53 +0200)]
Remove a useless call in MC initialization

That's a very long time that we don't have two heap regions anymore.

3 years agoFix doc markup to not break the build process
Martin Quinson [Fri, 1 May 2020 13:01:55 +0000 (15:01 +0200)]
Fix doc markup to not break the build process

3 years agomake sure that the doc build failures get detected
Martin Quinson [Fri, 1 May 2020 13:01:05 +0000 (15:01 +0200)]
make sure that the doc build failures get detected

3 years agoUse const reference for std::string parameters.
Arnaud Giersch [Thu, 30 Apr 2020 09:28:58 +0000 (11:28 +0200)]
Use const reference for std::string parameters.