Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agofurther snake_case in routing
Martin Quinson [Mon, 2 Apr 2018 21:16:46 +0000 (23:16 +0200)]
further snake_case in routing

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

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

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

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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

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

2 years 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

2 years 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

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

2 years 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.

2 years 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.

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

2 years 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.

2 years 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.

2 years 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.

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

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

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

2 years 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

2 years 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

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

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

2 years 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.

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

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

2 years 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

2 years 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

2 years 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.

2 years 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

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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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()->

2 years 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

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

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

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

2 years 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.

2 years 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__.

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

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

2 years 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.

2 years 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

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

2 years 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...

2 years 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 .

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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)

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

2 years 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).

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

2 years 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.

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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

2 years ago[SMPI] Datatype: Remove all encode_datatype calls
Christian Heinrich [Wed, 21 Mar 2018 14:53:05 +0000 (15:53 +0100)]
[SMPI] Datatype: Remove all encode_datatype calls

We now use simgrid::smpi::Datatype(dt) instead.

sed -i -r -e 's@encode_datatype\((\w+)\)@simgrid::smpi::Datatype::encode(\1)@' src/smpi/**/*.cpp

2 years ago[SMPI] Datatype: Make encode() a static member
Christian Heinrich [Wed, 21 Mar 2018 14:50:17 +0000 (15:50 +0100)]
[SMPI] Datatype: Make encode() a static member

MPI_DATATYPE_NULL may be passed to the encode function and we hence
need to check if the argument is null; if we just call
dt->encode(), we would always have to check before that call if dt is nullptr
This way, we just call Datatype::encode(dt)

2 years ago[SMPI] Remove class definition...
Christian Heinrich [Wed, 21 Mar 2018 13:38:40 +0000 (14:38 +0100)]
[SMPI] Remove class definition...

2 years ago[SMPI] Replay: Macro cosmetics
Christian Heinrich [Tue, 20 Mar 2018 21:07:18 +0000 (22:07 +0100)]
[SMPI] Replay: Macro cosmetics

2 years ago[REPLAY] Remove C-based Replay API
Christian Heinrich [Tue, 20 Mar 2018 16:31:30 +0000 (17:31 +0100)]
[REPLAY] Remove C-based Replay API

This is a huge commit, unfortunately, but it was not possible
to split it up easily without breaking the build.

This commit changes:

- Remove the 'const char* const* action' madness, replace by
  std::vector<string> (aliased as ReplayAction)
- Rename replay.c to replay.cpp
- Change CMake files
- Rewrite several macros to make them C++ compliant

2 years ago[SMPI] Replay: Move CHECK_ACTION_PARAMS macro to the top of the file
Christian Heinrich [Tue, 20 Mar 2018 13:26:27 +0000 (14:26 +0100)]
[SMPI] Replay: Move CHECK_ACTION_PARAMS macro to the top of the file