Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
6 years agoCorrectly get the exit status for smpi processes.
Arnaud Giersch [Mon, 5 Feb 2018 15:34:41 +0000 (16:34 +0100)]
Correctly get the exit status for smpi processes.

6 years agoSearch in map only once.
Arnaud Giersch [Mon, 5 Feb 2018 15:34:23 +0000 (16:34 +0100)]
Search in map only once.

6 years agoKill dead code.
Arnaud Giersch [Mon, 5 Feb 2018 15:18:08 +0000 (16:18 +0100)]
Kill dead code.

process_data is empty a this point.

6 years agoRevert "Revert "actually fix the memleak around smpi's process_data" and "try to...
Arnaud Giersch [Mon, 5 Feb 2018 15:15:21 +0000 (16:15 +0100)]
Revert "Revert "actually fix the memleak around smpi's process_data" and "try to plug a memleak""

This reverts commit c7c5def2870e604025be03b866967c0c5e293afe.

6 years agoRevert "Finally fix memleak."
Arnaud Giersch [Mon, 5 Feb 2018 15:15:19 +0000 (16:15 +0100)]
Revert "Finally fix memleak."

This reverts commit aad6442f8fd7d7610f49271010cb8a650f4772de.

6 years agoFinally fix memleak.
Arnaud Giersch [Sun, 4 Feb 2018 21:26:36 +0000 (22:26 +0100)]
Finally fix memleak.

6 years agoRevert "actually fix the memleak around smpi's process_data" and "try to plug a memleak"
Arnaud Giersch [Sun, 4 Feb 2018 14:50:54 +0000 (15:50 +0100)]
Revert "actually fix the memleak around smpi's process_data" and "try to plug a memleak"

This reverts commit 3c40b1bfc4f4925fa401d3b5d0c74a4b4824b3d5
and commit d53a2108a1ea38b2f952abb48c39730ccc91c2a8.

6 years agoinline a oneliner
Martin Quinson [Sat, 3 Feb 2018 21:36:23 +0000 (22:36 +0100)]
inline a oneliner

6 years agoplug another memleak
Martin Quinson [Sat, 3 Feb 2018 21:36:10 +0000 (22:36 +0100)]
plug another memleak

6 years agoactually fix the memleak around smpi's process_data
Martin Quinson [Sat, 3 Feb 2018 21:26:25 +0000 (22:26 +0100)]
actually fix the memleak around smpi's process_data

- Call Actor::onDestruction from the right location
- Have SMPI only destroy the process data of its own processes (not of MSG ones)
- Make sure that the process created with MSG_process_attach() have
  the right refcount since we now use a smart pointer on it: we don't
  want it to get freed too early.

6 years agoobey our coding style
Martin Quinson [Sat, 3 Feb 2018 21:25:37 +0000 (22:25 +0100)]
obey our coding style

6 years agotry to plug a memleak
Martin Quinson [Fri, 2 Feb 2018 21:52:51 +0000 (22:52 +0100)]
try to plug a memleak

6 years agoPick the best available clang-format version
Martin Quinson [Thu, 1 Feb 2018 22:02:18 +0000 (23:02 +0100)]
Pick the best available clang-format version

and also, update copyright info

6 years ago[misc, doc] clang-format pre-commit hook cleanup
Millian Poquet [Thu, 1 Feb 2018 17:02:52 +0000 (18:02 +0100)]
[misc, doc] clang-format pre-commit hook cleanup

The previous script only worked on (old) debian.
This version should work with:
- more versions of clang-format
- more distribs (tested on arch)

Furthermore, I did some cleanup on the script and its doc

6 years ago[#!] #! ./tesh -> #!/usr/bin/env tesh
Millian Poquet [Thu, 1 Feb 2018 12:48:56 +0000 (13:48 +0100)]
[#!] #! ./tesh -> #!/usr/bin/env tesh

find . \
    -type f \
    -not -iwholename '*.git*' \
    -exec sed -i -e 'sW#!\s*\./teshW#!/usr/bin/env teshWg' {} \;

6 years ago[#!] #! tesh -> #!/usr/bin/env tesh
Millian Poquet [Thu, 1 Feb 2018 12:45:27 +0000 (13:45 +0100)]
[#!] #! tesh -> #!/usr/bin/env tesh

find . \
    -type f \
    -not -iwholename '*.git*' \
    -exec sed -i -e 'sW#!\s*teshW#!/usr/bin/env teshWg' {} \;

6 years ago[#!] #!/bin/bash -> #!/usr/bin/env bash
Millian Poquet [Thu, 1 Feb 2018 10:46:09 +0000 (11:46 +0100)]
[#!] #!/bin/bash -> #!/usr/bin/env bash

find . \
    -type f \
    -not -iwholename '*.git*' \
    -exec sed -i -e 'sW#!\s*/bin/bashW#!/usr/bin/env bashWg' {} \;

6 years ago[#!] #!/bin/sh -> #!/usr/bin/env sh
Millian Poquet [Thu, 1 Feb 2018 10:44:04 +0000 (11:44 +0100)]
[#!] #!/bin/sh -> #!/usr/bin/env sh

find . \
    -type f \
    -not -iwholename '*.git*' \
    -exec sed -i -e 'sW#!\s*/bin/shW#!/usr/bin/env shWg' {} \;

6 years ago[misc] gitignore: ignore qtcreator main file
Millian Poquet [Thu, 1 Feb 2018 10:24:01 +0000 (11:24 +0100)]
[misc] gitignore: ignore qtcreator main file

6 years agodirectly store the ns3Node, don't rely on a num ID to find it later on
Martin Quinson [Wed, 31 Jan 2018 23:03:29 +0000 (00:03 +0100)]
directly store the ns3Node, don't rely on a num ID to find it later on

6 years agoignore a new test
Martin Quinson [Wed, 31 Jan 2018 21:40:09 +0000 (22:40 +0100)]
ignore a new test

6 years agoFactorize how we load NS3 libraries
Martin Quinson [Wed, 31 Jan 2018 21:16:07 +0000 (22:16 +0100)]
Factorize how we load NS3 libraries

6 years agotry to ensure that link_energy plugin is inited in a timely manner
Martin Quinson [Wed, 31 Jan 2018 21:14:36 +0000 (22:14 +0100)]
try to ensure that link_energy plugin is inited in a timely manner

6 years agoreduce the shotgun design pattern in the detection of NS3
Martin Quinson [Wed, 31 Jan 2018 11:48:36 +0000 (12:48 +0100)]
reduce the shotgun design pattern in the detection of NS3

6 years agomake an interesting error message when mixing link_energy and NS3
Martin Quinson [Tue, 30 Jan 2018 21:12:33 +0000 (22:12 +0100)]
make an interesting error message when mixing link_energy and NS3

6 years agocmake: more verbose msg about which NS3 is chosen
Martin Quinson [Tue, 30 Jan 2018 20:58:57 +0000 (21:58 +0100)]
cmake: more verbose msg about which NS3 is chosen

6 years agofix formatting issues (%u for unsigned)
Martin Quinson [Mon, 29 Jan 2018 09:49:04 +0000 (10:49 +0100)]
fix formatting issues (%u for unsigned)

6 years agofix make dist
Martin Quinson [Sun, 28 Jan 2018 22:41:31 +0000 (23:41 +0100)]
fix make dist

6 years agons3: much more debug info, and restore the SetCloseCallbacks that is actually needed
Martin Quinson [Sun, 28 Jan 2018 22:23:03 +0000 (23:23 +0100)]
ns3: much more debug info, and restore the SetCloseCallbacks that is actually needed

6 years agons3: remove test on a platform that does not exist anymore
Martin Quinson [Sun, 28 Jan 2018 22:22:16 +0000 (23:22 +0100)]
ns3: remove test on a platform that does not exist anymore

6 years agons3: no segfault anymore, but a deadlock when using clusters
Martin Quinson [Sat, 27 Jan 2018 14:51:32 +0000 (15:51 +0100)]
ns3: no segfault anymore, but a deadlock when using clusters

6 years agofix the creation of links in NS3
Martin Quinson [Sat, 27 Jan 2018 10:11:09 +0000 (11:11 +0100)]
fix the creation of links in NS3

Cluster are still broken, sorry

6 years agoRewrite how we search for libunwind (hopefully correctly this time)
Martin Quinson [Sat, 27 Jan 2018 06:49:08 +0000 (07:49 +0100)]
Rewrite how we search for libunwind (hopefully correctly this time)

This time, I used the canonical approach: Instead of passing the
absolute path to the libraries to the linker, I use link_directory()
and -lname as I should.

I hope that this version will work for both java on all our
target architectures, and also for stampede.

If so, we should maybe contribute it to libunwind and/or cmake projects.

6 years agomore informative outputs while searching for libunwind
Martin Quinson [Sat, 27 Jan 2018 05:28:59 +0000 (06:28 +0100)]
more informative outputs while searching for libunwind

6 years agoRevert "sanitize our way to find and load libunwind"
Martin Quinson [Sat, 27 Jan 2018 04:44:13 +0000 (05:44 +0100)]
Revert "sanitize our way to find and load libunwind"

This reverts commit 2a8f06bcb45d972f49b0661754fac0d51772f02f.

It was doing more harm (to java, to centos, etc) than good (possibly
to stampede, not even sure)

6 years agoget ns3 to compile (but still fails)
Martin Quinson [Thu, 25 Jan 2018 19:14:37 +0000 (20:14 +0100)]
get ns3 to compile (but still fails)

6 years agocmake: fix a typo that does not break as it should on my machine
Martin Quinson [Thu, 25 Jan 2018 18:19:29 +0000 (19:19 +0100)]
cmake: fix a typo that does not break as it should on my machine

Gosh I hate unsafe scripting languages

6 years agoSurvive to when libunwind does not exist (hello again windows)
Martin Quinson [Thu, 25 Jan 2018 17:09:59 +0000 (18:09 +0100)]
Survive to when libunwind does not exist (hello again windows)

6 years agosanitize our way to find and load libunwind
Martin Quinson [Thu, 25 Jan 2018 17:00:00 +0000 (18:00 +0100)]
sanitize our way to find and load libunwind

The previous way of doing so was working OK on most machines, but not
on some weirdly configured supercomputers.

6 years agoplease sonar
Frederic Suter [Thu, 25 Jan 2018 12:18:42 +0000 (13:18 +0100)]
please sonar

6 years agoimprove a comment
Martin Quinson [Thu, 25 Jan 2018 05:55:39 +0000 (06:55 +0100)]
improve a comment

Shorten this a bit, and do not dupplicate things that we can find with
a git blame.

6 years agoTry new fix for rget_testall.
Augustin Degomme [Thu, 25 Jan 2018 00:39:33 +0000 (01:39 +0100)]
Try new fix for rget_testall.

The test seems buggy, as the initialization part on one process may not be started when the other one reaches the second part, due to the way the locks are done.

Add a barrier to separate initialization from computation.

6 years agoadd another message useful for debugging here
Augustin Degomme [Thu, 25 Jan 2018 00:21:23 +0000 (01:21 +0100)]
add another message useful for debugging here

6 years agoRevert "[TESTS] SMPI/MPICH3: Fix failing rma test"
Christian Heinrich [Wed, 24 Jan 2018 23:37:09 +0000 (00:37 +0100)]
Revert "[TESTS] SMPI/MPICH3: Fix failing rma test"

This reverts commit 1630b8c2917fce5760c0065b240764cda0a70eb4.

We decided to rather have a failing test than a test with
some logic disabled...

6 years ago[TESTS] SMPI/MPICH3: Fix failing rma test
Christian Heinrich [Wed, 24 Jan 2018 22:14:42 +0000 (23:14 +0100)]
[TESTS] SMPI/MPICH3: Fix failing rma test

This test only occurs with compile time optimizations on. See inline
comment for more details.

6 years ago[SMPI] Deprecate smpi_process_index() in v322 instead of v321
Christian Heinrich [Wed, 24 Jan 2018 15:19:06 +0000 (16:19 +0100)]
[SMPI] Deprecate smpi_process_index() in v322 instead of v321

6 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 24 Jan 2018 16:22:18 +0000 (17:22 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

6 years ago[SMPI] smpi_win.cpp: Finish first local comms, as the DEBUG statement said.
Christian Heinrich [Wed, 24 Jan 2018 13:36:23 +0000 (14:36 +0100)]
[SMPI] smpi_win.cpp: Finish first local comms, as the DEBUG statement said.

There was a confusion between rank and rank_

6 years ago[SMPI] smpi_win.cpp: Split debug message into two
Christian Heinrich [Wed, 24 Jan 2018 13:31:48 +0000 (14:31 +0100)]
[SMPI] smpi_win.cpp: Split debug message into two

6 years ago[SMPI] Fix wrong usage of request->src() and dst() with ranks
Christian Heinrich [Wed, 24 Jan 2018 13:28:11 +0000 (14:28 +0100)]
[SMPI] Fix wrong usage of request->src() and dst() with ranks

We need to use the process id instead of the local rank, so
let's do that.

6 years ago[SMPI] smpi_win.cpp: Convert target_rank for other communicators
Christian Heinrich [Wed, 24 Jan 2018 13:26:39 +0000 (14:26 +0100)]
[SMPI] smpi_win.cpp: Convert target_rank for other communicators

I'm not sure that comm_ and recv_win->comm_ are the same, so I convert them.

6 years ago[SMPI] Cosmetics: This fixes only '='-alignment issues for readability
Christian Heinrich [Mon, 22 Jan 2018 23:48:41 +0000 (00:48 +0100)]
[SMPI] Cosmetics: This fixes only '='-alignment issues for readability

6 years ago[SMPI] Cosmetics: This fixes among others some really nasty indentation for smpi_win.cpp
Christian Heinrich [Mon, 22 Jan 2018 23:44:17 +0000 (00:44 +0100)]
[SMPI] Cosmetics: This fixes among others some really nasty indentation for smpi_win.cpp

6 years ago[SMPI] Fix wrong src/dst calculation
Christian Heinrich [Mon, 22 Jan 2018 23:40:58 +0000 (00:40 +0100)]
[SMPI] Fix wrong src/dst calculation

In smpi_win.cpp, one needs to be very careful about which group / comm
is currently used: In some functions, a subset of the current comm
is passed which means one has to convert the ranks from that subgroup to
the ranks of the communicator's group.

6 years ago[SMPI] Fix wrong smpi::Request instantiation for RMA's.
Christian Heinrich [Mon, 22 Jan 2018 23:35:14 +0000 (00:35 +0100)]
[SMPI] Fix wrong smpi::Request instantiation for RMA's.

This converts the rank correctly to the pid

6 years ago[SMPI] Added stupid comment to smpi_group.cpp
Christian Heinrich [Mon, 22 Jan 2018 23:33:57 +0000 (00:33 +0100)]
[SMPI] Added stupid comment to smpi_group.cpp

With all the different class members around, like
actor_to_rank_, rank_to_actor_, ..., I didn't realize that
this value was passed in as a param. Hope this comment will
save someone a few moments in the future.

6 years ago[SMPI] Fix errors on SUSE: ActorPtr cannot be printed, use process_.get()
Christian Heinrich [Thu, 18 Jan 2018 16:02:33 +0000 (17:02 +0100)]
[SMPI] Fix errors on SUSE: ActorPtr cannot be printed, use process_.get()

6 years ago[SMPI] Replace Actor::self() with smpi::Process's process_
Christian Heinrich [Thu, 18 Jan 2018 16:02:05 +0000 (17:02 +0100)]
[SMPI] Replace Actor::self() with smpi::Process's process_

6 years ago[SMPI] C++ify smpi::Process mailboxnames
Christian Heinrich [Wed, 17 Jan 2018 22:51:49 +0000 (23:51 +0100)]
[SMPI] C++ify smpi::Process mailboxnames

6 years ago[SMPI] Cosmetics in smpi_process.cpp: Correct indentation
Christian Heinrich [Wed, 17 Jan 2018 22:27:49 +0000 (23:27 +0100)]
[SMPI] Cosmetics in smpi_process.cpp: Correct indentation

The whole file was indented correctly except for this function...

6 years ago[SMPI] smpi_process: Move instance_id_ from char* to std::string
Christian Heinrich [Wed, 17 Jan 2018 22:25:06 +0000 (23:25 +0100)]
[SMPI] smpi_process: Move instance_id_ from char* to std::string

6 years ago[SMPI] Remove comment
Christian Heinrich [Wed, 17 Jan 2018 22:21:07 +0000 (23:21 +0100)]
[SMPI] Remove comment

6 years ago[SMPI] Remove index_ and index() from smpi::Process
Christian Heinrich [Wed, 17 Jan 2018 20:38:10 +0000 (21:38 +0100)]
[SMPI] Remove index_ and index() from smpi::Process

6 years ago[SMPI] Rename parameters from index to process_id in helper function
Christian Heinrich [Wed, 17 Jan 2018 20:36:52 +0000 (21:36 +0100)]
[SMPI] Rename parameters from index to process_id in helper function

6 years ago[SMPI] smpi_process.cpp: Replace 'index' with 'Actor::getPid'
Christian Heinrich [Wed, 17 Jan 2018 20:20:30 +0000 (21:20 +0100)]
[SMPI] smpi_process.cpp: Replace 'index' with 'Actor::getPid'

6 years ago[SIMIX] Remove SMPI-specific segment_index notion from the Actor class
Christian Heinrich [Wed, 17 Jan 2018 20:16:05 +0000 (21:16 +0100)]
[SIMIX] Remove SMPI-specific segment_index notion from the Actor class

Privatization is now done via the process id and attached to the SMPI process.

6 years ago[SMPI/CHANGELOG] Deprecate smpi_process_index()
Christian Heinrich [Wed, 17 Jan 2018 20:03:38 +0000 (21:03 +0100)]
[SMPI/CHANGELOG] Deprecate smpi_process_index()

6 years ago[SMPI] smpi.h: Remove smpi_process_index() usage in macros
Christian Heinrich [Wed, 17 Jan 2018 20:02:50 +0000 (21:02 +0100)]
[SMPI] smpi.h: Remove smpi_process_index() usage in macros

6 years ago[SMPI] Search/Replace of smpi_process()->index() in src/smpi/
Christian Heinrich [Wed, 17 Jan 2018 19:20:19 +0000 (20:20 +0100)]
[SMPI] Search/Replace of smpi_process()->index() in src/smpi/

Via
sed -i -r -e 's@smpi_process\(\)\->index\(\)@simgrid::s4u::Actor::self\(\)\->getPid\(\)@' src/smpi/**/*.cpp

6 years ago[SMPI] smpi_replay.cpp: Cosmetics as proposed by clang-format
Christian Heinrich [Wed, 17 Jan 2018 18:58:47 +0000 (19:58 +0100)]
[SMPI] smpi_replay.cpp: Cosmetics as proposed by clang-format

6 years ago[SMPI] Rename variables from 'rank' to 'my_proc_id' in smpi_replay.cpp
Christian Heinrich [Wed, 17 Jan 2018 18:58:11 +0000 (19:58 +0100)]
[SMPI] Rename variables from 'rank' to 'my_proc_id' in smpi_replay.cpp

6 years ago[SMPI] smpi_replay.cpp: Replace smpi_process()->index() calls
Christian Heinrich [Wed, 17 Jan 2018 18:53:19 +0000 (19:53 +0100)]
[SMPI] smpi_replay.cpp: Replace smpi_process()->index() calls

6 years ago[CHANGELOG] Update changelog with SMPI's index + trace file changes
Christian Heinrich [Wed, 17 Jan 2018 18:14:13 +0000 (19:14 +0100)]
[CHANGELOG] Update changelog with SMPI's index + trace file changes

6 years ago[SMPI] Cosmetics for smpi_pmpi_win.cpp as suggested by clang-format
Christian Heinrich [Wed, 17 Jan 2018 18:27:49 +0000 (19:27 +0100)]
[SMPI] Cosmetics for smpi_pmpi_win.cpp as suggested by clang-format

6 years ago[SMPI] Rename variable 'rank' to 'my_proc_id'
Christian Heinrich [Wed, 17 Jan 2018 18:26:57 +0000 (19:26 +0100)]
[SMPI] Rename variable 'rank' to 'my_proc_id'

Because it's not the rank.

6 years ago[SMPI] (LAST PATCH) Fix SMPI replay & smpi-replay tesh
Christian Heinrich [Wed, 17 Jan 2018 18:11:43 +0000 (19:11 +0100)]
[SMPI] (LAST PATCH) Fix SMPI replay & smpi-replay tesh

This patch is the last and SMPI should build and run correctly.

6 years ago[SMPI] (THIRD PATCH) Replace invalid uses of 'comm->rank()'
Christian Heinrich [Wed, 17 Jan 2018 18:07:38 +0000 (19:07 +0100)]
[SMPI] (THIRD PATCH) Replace invalid uses of 'comm->rank()'

This patch may not build or may have failing tests. It's part of a series and
contains logical changes.

6 years ago[SMPI] (SECOND PATCH) Fix destinations/origins for tracing *TIData objects
Christian Heinrich [Wed, 17 Jan 2018 17:45:27 +0000 (18:45 +0100)]
[SMPI] (SECOND PATCH) Fix destinations/origins for tracing *TIData objects

This patch will either not build or will have failing tests, as it belongs
to a series of patches.

6 years ago[SMPI] (FIRST PATCH) Remove 'getPid() - 1' arithmetic from SMPI.
Christian Heinrich [Wed, 17 Jan 2018 17:30:35 +0000 (18:30 +0100)]
[SMPI] (FIRST PATCH) Remove 'getPid() - 1' arithmetic from SMPI.

THIS COMMIT WILL NOT BUILD PROPERLY OR HAS FAILING TESTS. I decided to split up
a huge commit into several logical chunks in order to make things easier to read.

The 'getPid() - 1' expressions were the (temporary) replacement for smpi_process()->index() but it's better
to remove it completely: This is often confused for being an MPI rank
although it is not (ranks depend on the communicator in use).
Also, process id 0 is exclusively the maestro so we should not artificially
pretend we start counting from 0 when we're clearly not. So now we don't have to
say that 'process with id 1 has index 0'.

This patch substitutes almost exclusively 'getPid() - 1' computations with
just 'getPid()'. There are a few other replacements, especially in the smpi_win.cpp,
where former commits introduced logically wrong usage of 'comm_->rank()'.

The next few commits after this should also deal with a similar problematic.'

6 years ago[TESH] Replace 'smpi_process_index()' with call to 'MPI_Comm_rank()'
Christian Heinrich [Wed, 17 Jan 2018 15:59:43 +0000 (16:59 +0100)]
[TESH] Replace 'smpi_process_index()' with call to 'MPI_Comm_rank()'

6 years ago[SMPI] Remove outdated comment
Christian Heinrich [Tue, 16 Jan 2018 10:12:20 +0000 (11:12 +0100)]
[SMPI] Remove outdated comment

6 years ago[SMPI] Cosmetics of smpi_pmpi_request.cpp as suggested by clang-format
Christian Heinrich [Tue, 16 Jan 2018 10:28:39 +0000 (11:28 +0100)]
[SMPI] Cosmetics of smpi_pmpi_request.cpp as suggested by clang-format

6 years ago[SMPI] Replace index() in smpi_pmpi_requests.cpp
Christian Heinrich [Mon, 15 Jan 2018 23:44:53 +0000 (00:44 +0100)]
[SMPI] Replace index() in smpi_pmpi_requests.cpp

6 years ago[SMPI] Replace index() in smpi_requests.cpp
Christian Heinrich [Mon, 15 Jan 2018 23:28:44 +0000 (00:28 +0100)]
[SMPI] Replace index() in smpi_requests.cpp

6 years ago[SMPI] Remove index() from smpi_pmpi_win.cpp
Christian Heinrich [Mon, 15 Jan 2018 23:24:29 +0000 (00:24 +0100)]
[SMPI] Remove index() from smpi_pmpi_win.cpp

6 years ago[SMPI] Remove index() from smpi_win.cpp + cosmetics
Christian Heinrich [Mon, 15 Jan 2018 23:16:30 +0000 (00:16 +0100)]
[SMPI] Remove index() from smpi_win.cpp + cosmetics

Replace these calls with comm_->rank() instead.

The cosmetics were rather unwanted but it's just indentation.

6 years ago[SMPI] Win::~Win(): Use class member rank_ instead of a local var
Christian Heinrich [Mon, 15 Jan 2018 23:09:09 +0000 (00:09 +0100)]
[SMPI] Win::~Win(): Use class member rank_ instead of a local var

6 years ago[SMPI] Remove usage of index() in smpi_pmpi_coll.cpp
Christian Heinrich [Mon, 15 Jan 2018 22:56:54 +0000 (23:56 +0100)]
[SMPI] Remove usage of index() in smpi_pmpi_coll.cpp

We can just use comm->rank() instead. Note that usage of the index()
function was also incorrect: This would not have worked when the
communicator is not MPI_COMM_WORLD as the index() function always returned
Actor.pid-1 (as set in the Process::init() function)

6 years ago[SMPI] Make Comm::rank() use Actors
Christian Heinrich [Mon, 15 Jan 2018 22:51:32 +0000 (23:51 +0100)]
[SMPI] Make Comm::rank() use Actors

6 years ago[SMPI] Use actor.iface() instead of Actor::byId(actor.pid)
Christian Heinrich [Mon, 15 Jan 2018 15:21:49 +0000 (16:21 +0100)]
[SMPI] Use actor.iface() instead of Actor::byId(actor.pid)

6 years ago[SMPI] Move the pid calls to helper function that has more checks
Christian Heinrich [Mon, 15 Jan 2018 14:28:25 +0000 (15:28 +0100)]
[SMPI] Move the pid calls to helper function that has more checks

6 years ago[SMPI] Fix smpi-replay-multiple test
Christian Heinrich [Fri, 12 Jan 2018 13:46:02 +0000 (14:46 +0100)]
[SMPI] Fix smpi-replay-multiple test

I moved the SMPI_init() to the right location and
changed the tesh.

6 years ago[EXAMPLES] Update smpi_msg_masterslave -- move the SMPI_init()
Christian Heinrich [Thu, 11 Jan 2018 23:23:51 +0000 (00:23 +0100)]
[EXAMPLES] Update smpi_msg_masterslave -- move the SMPI_init()

The reason we moved this was that the processes were all set up before the hook
that sets up the smpi::Processes was even set up.

6 years ago[SMPI] Update smpi_deployment_register_process for actors
Christian Heinrich [Thu, 11 Jan 2018 23:22:01 +0000 (00:22 +0100)]
[SMPI] Update smpi_deployment_register_process for actors

6 years ago[SMPI] Rename 'index' to 'my_proc_id' in smpi::Process::init()
Christian Heinrich [Wed, 17 Jan 2018 14:37:51 +0000 (15:37 +0100)]
[SMPI] Rename 'index' to 'my_proc_id' in smpi::Process::init()

6 years ago[SMPI] Move process_data to map<Actor, smpi::Process>
Christian Heinrich [Thu, 11 Jan 2018 23:17:43 +0000 (00:17 +0100)]
[SMPI] Move process_data to map<Actor, smpi::Process>

6 years ago[SMPI] Remove index notion from smpi::Group
Christian Heinrich [Thu, 11 Jan 2018 23:11:26 +0000 (00:11 +0100)]
[SMPI] Remove index notion from smpi::Group

This is a huge commit and removes the index() function from
smpi::Group and replaces it with an actor() function.

The index was basically just Actor::getPid()-1 and doesn't need
to be saved. It was also often used for the privatization segment
(to know where it was stored) but that is no longer required.

6 years ago[SMPI] Program against s4u::Actor and not smx_actor_t
Christian Heinrich [Thu, 11 Jan 2018 16:19:47 +0000 (17:19 +0100)]
[SMPI] Program against s4u::Actor and not smx_actor_t

6 years ago[SMPI] Move SMPI_init() call to other location
Christian Heinrich [Thu, 11 Jan 2018 21:25:40 +0000 (22:25 +0100)]
[SMPI] Move SMPI_init() call to other location

6 years ago[SMPI] Next step for dynamic privatization
Christian Heinrich [Wed, 6 Dec 2017 13:24:07 +0000 (14:24 +0100)]
[SMPI] Next step for dynamic privatization

This commit breaks the following tests:
The following tests FAILED:
        181 - smpi-msg-masterslave-thread (Failed)
        182 - smpi-msg-masterslave-ucontext (Failed)
        183 - smpi-msg-masterslave-raw (Failed)

To fix this, many more changes will be required. This will be done in
the next commit. This commit is just there to make sure changes
remain easily understandable (by having small, easy-to-read commits).

I changed the following:

- Remove variable index_to_process_data
- Make process_data a map instead of an array.
- Remove the "index" variable for SMPI instances (no longer needed)

And cleanup the mess that comes with these changes (delete/free, ...)