Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
19 months agotry to handle getopt internal global variable
degomme [Tue, 3 Apr 2018 12:53:11 +0000 (14:53 +0200)]
try to handle getopt internal global variable
add a wrapper that will set the value at each call to get the one from the correct process
This will probably not work for BSD implementations (they have optreset as well that might be needed).

19 months agos4u: test what happens when we kill a newborn actor (seems to work)
Martin Quinson [Tue, 3 Apr 2018 11:45:39 +0000 (13:45 +0200)]
s4u: test what happens when we kill a newborn actor (seems to work)

19 months agofix some issues arising when killing new-born actors (see #260)
Martin Quinson [Tue, 3 Apr 2018 11:40:22 +0000 (13:40 +0200)]
fix some issues arising when killing new-born actors (see #260)

19 months agosonar: make inheritance public
Martin Quinson [Tue, 3 Apr 2018 11:17:29 +0000 (13:17 +0200)]
sonar: make inheritance public

19 months agoDragonflyZone: do not save the whole ClusterCreationArgs structure
Martin Quinson [Tue, 3 Apr 2018 08:18:58 +0000 (10:18 +0200)]
DragonflyZone: do not save the whole ClusterCreationArgs structure

19 months agosnake_case routing
Martin Quinson [Tue, 3 Apr 2018 07:22:39 +0000 (09:22 +0200)]
snake_case routing

19 months agofurther snake_case in routing
Martin Quinson [Mon, 2 Apr 2018 21:16:46 +0000 (23:16 +0200)]
further snake_case in routing

19 months agosnake_case routing::NetPoint
Martin Quinson [Mon, 2 Apr 2018 21:10:16 +0000 (23:10 +0200)]
snake_case routing::NetPoint

19 months agosnake_case in resource::Resource
Martin Quinson [Mon, 2 Apr 2018 21:06:30 +0000 (23:06 +0200)]
snake_case in resource::Resource

19 months agoconvert getCname to get_cname
Martin Quinson [Mon, 2 Apr 2018 19:10:21 +0000 (21:10 +0200)]
convert getCname to get_cname

19 months agofinish snake-casing resource::Model
Martin Quinson [Mon, 2 Apr 2018 09:41:50 +0000 (11:41 +0200)]
finish snake-casing resource::Model

19 months agoresource:: extract action_heap into its own class
Martin Quinson [Sun, 1 Apr 2018 20:45:44 +0000 (22:45 +0200)]
resource:: extract action_heap into its own class

19 months agoinline a useless function
Martin Quinson [Sun, 1 Apr 2018 09:07:13 +0000 (11:07 +0200)]
inline a useless function

19 months agoCosmetics and snake_casing in Action and Model
Martin Quinson [Sun, 1 Apr 2018 08:00:04 +0000 (10:00 +0200)]
Cosmetics and snake_casing in Action and Model

19 months agomake Model::update_algo a constant field, set at initialization only
Martin Quinson [Sat, 31 Mar 2018 20:48:24 +0000 (22:48 +0200)]
make Model::update_algo a constant field, set at initialization only

19 months agoreindent to please clang
Martin Quinson [Sat, 31 Mar 2018 18:22:22 +0000 (20:22 +0200)]
reindent to please clang

19 months agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sat, 31 Mar 2018 17:58:00 +0000 (19:58 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

19 months agofix build ?
Augustin Degomme [Sat, 31 Mar 2018 17:30:30 +0000 (19:30 +0200)]
fix build ?

19 months agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sat, 31 Mar 2018 17:27:07 +0000 (19:27 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

19 months agodeprecate a function to snake_case it
Martin Quinson [Sat, 31 Mar 2018 17:23:38 +0000 (19:23 +0200)]
deprecate a function to snake_case it

19 months agoCosmetics in HostImpl
Martin Quinson [Sat, 31 Mar 2018 17:17:53 +0000 (19:17 +0200)]
Cosmetics in HostImpl

19 months agoDisable privatization for smpi_replay.
Arnaud Giersch [Fri, 30 Mar 2018 07:56:54 +0000 (09:56 +0200)]
Disable privatization for smpi_replay.

It does't seem to be mandatory, and the tests are broken with mmap privatization
because the global 'previous_send' is not correctly initialized for all processes.

19 months agosmpirun: really disable privatization with -no-privatize.
Arnaud Giersch [Fri, 30 Mar 2018 12:23:32 +0000 (14:23 +0200)]
smpirun: really disable privatization with -no-privatize.

19 months agoMove debug message.
Arnaud Giersch [Sat, 31 Mar 2018 15:17:12 +0000 (17:17 +0200)]
Move debug message.

19 months agoDisable privatization when not run through smpi_main().
Arnaud Giersch [Sat, 31 Mar 2018 15:16:08 +0000 (17:16 +0200)]
Disable privatization when not run through smpi_main().

SMPI_switch_data_segment is not initialized, and mmap privatization
is crashing when trying to call it.

19 months agoUse enum class for smpi privatization strategies.
Arnaud Giersch [Fri, 30 Mar 2018 20:16:44 +0000 (22:16 +0200)]
Use enum class for smpi privatization strategies.

19 months agoAnother fix in regexp.
Arnaud Giersch [Fri, 30 Mar 2018 11:24:50 +0000 (13:24 +0200)]
Another fix in regexp.

An hyphen '-' cannot be escaped in bracket expressions, it should be put first
(or last). Anyway, it is not allowed for Fortan identifier, so simply remove it.

Also unescape underscores.

19 months agocosmetics in cpu_ti
Martin Quinson [Sat, 31 Mar 2018 15:52:26 +0000 (17:52 +0200)]
cosmetics in cpu_ti

19 months agohave the maxmin system create by itself what it needs for selective update
Martin Quinson [Sat, 31 Mar 2018 14:37:23 +0000 (16:37 +0200)]
have the maxmin system create by itself what it needs for selective update

Earlier, the modified_set was created externally by some models (but
not all). This lead to the interesting situation where we were asking
for selective update with the boolean field, but not getting this
because the modified_set was not existing.

Now that we get it when we ask for it, we detect that:
- the lmm_usage tests cannot activate selective_update because they
  don't have real actions, so they cannot track them to see which were
  modified.
- Storage is having selective updates, but with full algorithm (thus
  the change to Action::~Action() so that we deal when selective is on
  but not Lazy). No idea of whether this is the wanted behavior.

19 months agolmm::System: rename some fields, and initialize them at declaration, not in ctor
Martin Quinson [Sat, 31 Mar 2018 07:32:36 +0000 (09:32 +0200)]
lmm::System: rename some fields, and initialize them at declaration, not in ctor

19 months agoCpuCas01: set updateAlgo as initializer
Martin Quinson [Fri, 30 Mar 2018 23:13:57 +0000 (01:13 +0200)]
CpuCas01: set updateAlgo as initializer

My goal here is to make updateAlgo a constant in each Model object.

19 months agocleanup the declaration and handling of the cpu/optim option
Martin Quinson [Fri, 30 Mar 2018 23:00:17 +0000 (01:00 +0200)]
cleanup the declaration and handling of the cpu/optim option

19 months agoconfig::Flag: allow to pass a map of the valid values
Martin Quinson [Fri, 30 Mar 2018 22:56:58 +0000 (00:56 +0200)]
config::Flag: allow to pass a map of the valid values

19 months agoreduce the visibility of xbt/config.hpp file to the cpp that really need it
Martin Quinson [Fri, 30 Mar 2018 22:46:01 +0000 (00:46 +0200)]
reduce the visibility of xbt/config.hpp file to the cpp that really need it

19 months agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Fri, 30 Mar 2018 22:15:57 +0000 (00:15 +0200)]
Merge branch 'master' of github.com:simgrid/simgrid

19 months agocosmetics
Martin Quinson [Fri, 30 Mar 2018 22:14:51 +0000 (00:14 +0200)]
cosmetics

19 months agoMerge pull request #259 from simgrid/configfix
Martin Quinson [Fri, 30 Mar 2018 22:13:35 +0000 (00:13 +0200)]
Merge pull request #259 from simgrid/configfix

config: fix declareFlag template

19 months agoconfig: fix declareFlag template
Gabriel Corona [Fri, 30 Mar 2018 21:59:02 +0000 (23:59 +0200)]
config: fix declareFlag template

19 months agochange a fixme into an assert
Martin Quinson [Fri, 30 Mar 2018 18:44:58 +0000 (20:44 +0200)]
change a fixme into an assert

19 months agovarious sonar fixes
Martin Quinson [Fri, 30 Mar 2018 17:47:00 +0000 (19:47 +0200)]
various sonar fixes

- namespaces cannot be uppercased
- classes with a virtual method should have a virtual destructor
- add the missing explicit keyworlds
- each identifier on its line

19 months agofix regexp. again.
degomme [Fri, 30 Mar 2018 11:08:21 +0000 (13:08 +0200)]
fix regexp. again.

19 months agofix regexp
degomme [Fri, 30 Mar 2018 09:45:00 +0000 (11:45 +0200)]
fix regexp

19 months agoMove variable definition in cpp file.
Arnaud Giersch [Thu, 29 Mar 2018 19:38:58 +0000 (21:38 +0200)]
Move variable definition in cpp file.

19 months agoFix comment.
Arnaud Giersch [Thu, 29 Mar 2018 12:04:00 +0000 (14:04 +0200)]
Fix comment.

19 months agoFix memory leak.
Arnaud Giersch [Thu, 29 Mar 2018 10:04:06 +0000 (12:04 +0200)]
Fix memory leak.

19 months agodon't link_set after link_add to not erase the -shared flag
Martin Quinson [Fri, 30 Mar 2018 06:36:29 +0000 (08:36 +0200)]
don't link_set after link_add to not erase the -shared flag

19 months agobe verbose when the SMPI_PRETEND_CC trick is activated
Martin Quinson [Fri, 30 Mar 2018 06:05:11 +0000 (08:05 +0200)]
be verbose when the SMPI_PRETEND_CC trick is activated

19 months agosmpicc: don't add -shared when SMPI_PRETEND_CC is on
Martin Quinson [Thu, 29 Mar 2018 21:31:16 +0000 (23:31 +0200)]
smpicc: don't add -shared when SMPI_PRETEND_CC is on

all mpi programs are compiled in the -shared binary model so that we
can load them with dlopen afterward. But shared binaries cannot be run
by themselves, which is a problem to ./configure that wants to ensure
that mpicc is a real compiler (not a cross-compiler) by executing some
stupid code of its own.

Before the introduction of dlopen as a privatization mechanism, we
used to prevent the binary doing weird things when SMPI_PRETEND_CC was
defined. Now, we extend this mecanism for our compiler wrapers to play
safe in this case.

19 months agoadd gnu+11 flags to smpicxx as this seems needed
degomme [Thu, 29 Mar 2018 13:53:27 +0000 (15:53 +0200)]
add gnu+11 flags to smpicxx as this seems needed

19 months agoUse C++ style casts.
Arnaud Giersch [Wed, 28 Mar 2018 20:58:31 +0000 (22:58 +0200)]
Use C++ style casts.

19 months agoIt won't compile without C++ anyway.
Arnaud Giersch [Wed, 28 Mar 2018 20:45:57 +0000 (22:45 +0200)]
It won't compile without C++ anyway.

19 months agoVariables are already declared in surf_interface.hpp.
Arnaud Giersch [Wed, 28 Mar 2018 20:25:25 +0000 (22:25 +0200)]
Variables are already declared in surf_interface.hpp.

19 months agoFile surf.hpp is C++ only. Remove SG_BEGIN/END_DECL.
Arnaud Giersch [Wed, 28 Mar 2018 20:22:12 +0000 (22:22 +0200)]
File surf.hpp is C++ only.  Remove SG_BEGIN/END_DECL.

19 months agoFunction surf_get_clock() is already declared in surf.hpp.
Arnaud Giersch [Wed, 28 Mar 2018 20:21:27 +0000 (22:21 +0200)]
Function surf_get_clock() is already declared in surf.hpp.

19 months agoprefer this_actor:: to Actor::self()->
Martin Quinson [Wed, 28 Mar 2018 20:39:44 +0000 (22:39 +0200)]
prefer this_actor:: to Actor::self()->

19 months agobetter approximation of a typed #define
Martin Quinson [Wed, 28 Mar 2018 20:00:40 +0000 (22:00 +0200)]
better approximation of a typed #define

19 months agoforgot to rename this one
Martin Quinson [Wed, 28 Mar 2018 08:14:47 +0000 (10:14 +0200)]
forgot to rename this one

19 months ago[SMPI] Replay: Fix datatype initialization
Christian Heinrich [Wed, 28 Mar 2018 19:53:50 +0000 (21:53 +0200)]
[SMPI] Replay: Fix datatype initialization

19 months ago[SMPI] Fix branch conditions
Christian Heinrich [Wed, 28 Mar 2018 19:35:58 +0000 (21:35 +0200)]
[SMPI] Fix branch conditions

19 months agoCompile and link smpi_replay with smpicxx.
Arnaud Giersch [Wed, 28 Mar 2018 18:13:11 +0000 (20:13 +0200)]
Compile and link smpi_replay with smpicxx.

19 months agoUse standard __func__ instead of __FUNCTION__.
Arnaud Giersch [Wed, 28 Mar 2018 17:27:00 +0000 (19:27 +0200)]
Use standard __func__ instead of __FUNCTION__.

19 months agoFix format.
Arnaud Giersch [Wed, 28 Mar 2018 17:24:42 +0000 (19:24 +0200)]
Fix format.

19 months ago#include <string>
Arnaud Giersch [Wed, 28 Mar 2018 17:20:31 +0000 (19:20 +0200)]
#include <string>

19 months agoRemove std::move.
Arnaud Giersch [Wed, 28 Mar 2018 15:57:55 +0000 (17:57 +0200)]
Remove std::move.

According to clang:
src/xbt/xbt_replay.cpp:123:38: error: moving a temporary object prevents copy elision
      [-Werror,-Wpessimizing-move]
      simgrid::xbt::ReplayAction evt(std::move(simgrid::xbt::get_action(argv[0])));
                                     ^
src/xbt/xbt_replay.cpp:123:38: note: remove std::move call here
      simgrid::xbt::ReplayAction evt(std::move(simgrid::xbt::get_action(argv[0])));
                                     ^~~~~~~~~~                                 ~
1 error generated.

19 months agoMerge branch 'master' of ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid
Arnaud Giersch [Wed, 28 Mar 2018 15:51:19 +0000 (17:51 +0200)]
Merge branch 'master' of ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid

19 months agoKill unused typedef.
Arnaud Giersch [Wed, 28 Mar 2018 15:50:49 +0000 (17:50 +0200)]
Kill unused typedef.

19 months ago[SMPI] Datatype: Make the dt id a std::string
Christian Heinrich [Wed, 28 Mar 2018 15:30:26 +0000 (17:30 +0200)]
[SMPI] Datatype: Make the dt id a std::string

Currently, the Datatype::encode() function returns a
const char*. Using a temporary object as returned from
std::to_string() would return a temporary memory address via
.c_str() and hence cannot be used.

Once encode has been moved to std::string, this could potentially
be an int again...

19 months ago[SMPI] Prohibit execution of negative flops
Christian Heinrich [Wed, 28 Mar 2018 11:37:59 +0000 (13:37 +0200)]
[SMPI] Prohibit execution of negative flops

This was often caused by smpi/host-speed:-1 because
in some cases, flops = duration * host-speed

I replaced one smpi/host-speed:-1 with smpi/simulate-computation:0
due to a brief conversation with Augustin Degomme today:

14:22 < degomme> host-speed -1 c'est une convention qu'on utilisait
14:22 < degomme> c'est synonyme de simulate_computation=0
14:22 < degomme> ou un truc du genre
14:22 < degomme> quand l'option n'existait pas .

19 months ago[SMPI] Rename (recv|send)_sum -> (recv|send)_size_sum
Christian Heinrich [Tue, 27 Mar 2018 21:51:58 +0000 (23:51 +0200)]
[SMPI] Rename (recv|send)_sum -> (recv|send)_size_sum

19 months ago[SMPI] Replay: C++-ify AllToAllV action
Christian Heinrich [Tue, 27 Mar 2018 21:49:54 +0000 (23:49 +0200)]
[SMPI] Replay: C++-ify AllToAllV action

19 months ago[SMPI] Replay: C++-ify reduceScatter action & change tesh
Christian Heinrich [Tue, 27 Mar 2018 21:34:50 +0000 (23:34 +0200)]
[SMPI] Replay: C++-ify reduceScatter action & change tesh

These modifications also required to adapt the tesh:
Before, the computation value in comp_size was stored in an
integer, which was too small:

-2147483648 2905064291.000000
   ^^^^^    ^^^^^^^^^^^^^^^^^
    int          double (actual value from trace)

This means that all the test results were wrong and had
to be corrected.

19 months ago[SMPI] Replay: C++-ify scatterV action
Christian Heinrich [Tue, 27 Mar 2018 21:19:04 +0000 (23:19 +0200)]
[SMPI] Replay: C++-ify scatterV action

19 months ago[SMPI] Replay: C++-ify scatter actions
Christian Heinrich [Tue, 27 Mar 2018 19:02:32 +0000 (21:02 +0200)]
[SMPI] Replay: C++-ify scatter actions

19 months ago[SMPI] Replay: C++-ify gatherV and allGatherV actions
Christian Heinrich [Tue, 27 Mar 2018 18:49:25 +0000 (20:49 +0200)]
[SMPI] Replay: C++-ify gatherV and allGatherV actions

19 months ago[SMPI] Replay: Add name parameter to parser
Christian Heinrich [Tue, 27 Mar 2018 18:09:03 +0000 (20:09 +0200)]
[SMPI] Replay: Add name parameter to parser

19 months ago[SMPI] Replay: C++-ify (all)gather action
Christian Heinrich [Tue, 27 Mar 2018 17:19:31 +0000 (19:19 +0200)]
[SMPI] Replay: C++-ify (all)gather action

19 months ago[SMPI] Replay: C++-ify AllReduce & AllToAll actions
Christian Heinrich [Tue, 27 Mar 2018 16:59:44 +0000 (18:59 +0200)]
[SMPI] Replay: C++-ify AllReduce & AllToAll actions

19 months ago[SMPI] Replay: C++-ify (All)Reduce Action
Christian Heinrich [Tue, 27 Mar 2018 16:19:32 +0000 (18:19 +0200)]
[SMPI] Replay: C++-ify (All)Reduce Action

19 months ago[SMPI] Replay: Use correct buffer (recvbuffer)
Christian Heinrich [Tue, 27 Mar 2018 14:07:24 +0000 (16:07 +0200)]
[SMPI] Replay: Use correct buffer (recvbuffer)

19 months ago[SMPI] Replay: C++-ify bcast action
Christian Heinrich [Tue, 27 Mar 2018 13:56:06 +0000 (15:56 +0200)]
[SMPI] Replay: C++-ify bcast action

19 months ago[SMPI] Replay: Cleanup WaitAction a bit
Christian Heinrich [Tue, 27 Mar 2018 13:08:13 +0000 (15:08 +0200)]
[SMPI] Replay: Cleanup WaitAction a bit

19 months ago[SMPI] Replay: C++-ify barrier action
Christian Heinrich [Tue, 27 Mar 2018 13:06:55 +0000 (15:06 +0200)]
[SMPI] Replay: C++-ify barrier action

19 months ago[SMPI] Replay: C++-ify WaitAll Action
Christian Heinrich [Tue, 27 Mar 2018 13:01:39 +0000 (15:01 +0200)]
[SMPI] Replay: C++-ify WaitAll Action

19 months ago[SMPI] Replay: C++-ify Communicator-Actions
Christian Heinrich [Tue, 27 Mar 2018 12:12:04 +0000 (14:12 +0200)]
[SMPI] Replay: C++-ify Communicator-Actions

19 months ago[SMPI] Replay: C++-ify InitAction
Christian Heinrich [Tue, 27 Mar 2018 09:27:02 +0000 (11:27 +0200)]
[SMPI] Replay: C++-ify InitAction

19 months ago[SMPI] Replay: Cleanup WaitAction a bit
Christian Heinrich [Tue, 27 Mar 2018 09:24:28 +0000 (11:24 +0200)]
[SMPI] Replay: Cleanup WaitAction a bit

19 months ago[SMPI] Replay: Remove action_* functions
Christian Heinrich [Tue, 27 Mar 2018 08:55:51 +0000 (10:55 +0200)]
[SMPI] Replay: Remove action_* functions

Since we moved to std::function for the callbacks, it's much more
convenient to just use a lambda-function. The lambda itself is required
as we need to create a new object every time that action is executed
(and not one object that is shared between executions).

19 months ago[SMPI] Replay: C++-ify TestAction.
Christian Heinrich [Tue, 27 Mar 2018 08:54:03 +0000 (10:54 +0200)]
[SMPI] Replay: C++-ify TestAction.

19 months ago[SMPI] Replay: Remove static communicator_size variable
Christian Heinrich [Tue, 27 Mar 2018 08:51:57 +0000 (10:51 +0200)]
[SMPI] Replay: Remove static communicator_size variable

- This variable was unused, as all of the actions use something like
  MPI_COMM_WORLD->size() to obtain the size.

19 months ago[SMPI] Replay: Cosmetics
Christian Heinrich [Mon, 26 Mar 2018 17:57:28 +0000 (19:57 +0200)]
[SMPI] Replay: Cosmetics

19 months ago[SMPI] Replay: Make start_time a local variable
Christian Heinrich [Mon, 26 Mar 2018 17:56:36 +0000 (19:56 +0200)]
[SMPI] Replay: Make start_time a local variable

19 months ago[SMPI] Replay: C++-ify compute action
Christian Heinrich [Mon, 26 Mar 2018 16:53:00 +0000 (18:53 +0200)]
[SMPI] Replay: C++-ify compute action

19 months ago[SMPI] Replay: Use std::function for i/send, i/recv actions
Christian Heinrich [Mon, 26 Mar 2018 16:47:43 +0000 (18:47 +0200)]
[SMPI] Replay: Use std::function for i/send, i/recv actions

19 months ago[SMPI] Replay: Use std::bind / std::function for the wait action
Christian Heinrich [Mon, 26 Mar 2018 15:33:31 +0000 (17:33 +0200)]
[SMPI] Replay: Use std::bind / std::function for the wait action

19 months ago[SMPI] Replay: Move callbacks to std::function
Christian Heinrich [Mon, 26 Mar 2018 14:31:17 +0000 (16:31 +0200)]
[SMPI] Replay: Move callbacks to std::function

19 months ago[SMPI] Replay: C++-ify (I)Recv, (I)Send
Christian Heinrich [Mon, 26 Mar 2018 13:40:14 +0000 (15:40 +0200)]
[SMPI] Replay: C++-ify (I)Recv, (I)Send

19 months ago[SMPI] Replay: Classify the actions, start with Wait
Christian Heinrich [Mon, 26 Mar 2018 13:37:09 +0000 (15:37 +0200)]
[SMPI] Replay: Classify the actions, start with Wait

19 months ago[SMPI] Cosmetics: Remove 3 blank lines from smpi_global.cpp
Christian Heinrich [Wed, 21 Mar 2018 16:17:51 +0000 (17:17 +0100)]
[SMPI] Cosmetics: Remove 3 blank lines from smpi_global.cpp

19 months ago[SMPI] Deployment: Move function signatures to std::string
Christian Heinrich [Wed, 21 Mar 2018 15:50:36 +0000 (16:50 +0100)]
[SMPI] Deployment: Move function signatures to std::string

Except for the SMPI_app_instance_register, as it is part of the (C-)API.

19 months ago[SMPI] Remove all references to decode_datatype
Christian Heinrich [Wed, 21 Mar 2018 15:07:12 +0000 (16:07 +0100)]
[SMPI] Remove all references to decode_datatype

This is now calling simgrid::smpi::Datatype::decode(std::string) (I moved
the argument from char* to std::string)

sed -i -r -e 's@decode_datatype\((.*?)\)@simgrid::smpi::Datatype::decode(\1)@' src/smpi/internals/smpi_replay.cpp