Christian Heinrich [Wed, 24 Jan 2018 15:19:06 +0000 (16:19 +0100)]
[SMPI] Deprecate smpi_process_index() in v322 instead of v321
Martin Quinson [Wed, 24 Jan 2018 16:22:18 +0000 (17:22 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
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_
Christian Heinrich [Wed, 24 Jan 2018 13:31:48 +0000 (14:31 +0100)]
[SMPI] smpi_win.cpp: Split debug message into two
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.
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.
Christian Heinrich [Mon, 22 Jan 2018 23:48:41 +0000 (00:48 +0100)]
[SMPI] Cosmetics: This fixes only '='-alignment issues for readability
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
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.
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
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.
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()
Christian Heinrich [Thu, 18 Jan 2018 16:02:05 +0000 (17:02 +0100)]
[SMPI] Replace Actor::self() with smpi::Process's process_
Christian Heinrich [Wed, 17 Jan 2018 22:51:49 +0000 (23:51 +0100)]
[SMPI] C++ify smpi::Process mailboxnames
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...
Christian Heinrich [Wed, 17 Jan 2018 22:25:06 +0000 (23:25 +0100)]
[SMPI] smpi_process: Move instance_id_ from char* to std::string
Christian Heinrich [Wed, 17 Jan 2018 22:21:07 +0000 (23:21 +0100)]
[SMPI] Remove comment
Christian Heinrich [Wed, 17 Jan 2018 20:38:10 +0000 (21:38 +0100)]
[SMPI] Remove index_ and index() from smpi::Process
Christian Heinrich [Wed, 17 Jan 2018 20:36:52 +0000 (21:36 +0100)]
[SMPI] Rename parameters from index to process_id in helper function
Christian Heinrich [Wed, 17 Jan 2018 20:20:30 +0000 (21:20 +0100)]
[SMPI] smpi_process.cpp: Replace 'index' with 'Actor::getPid'
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.
Christian Heinrich [Wed, 17 Jan 2018 20:03:38 +0000 (21:03 +0100)]
[SMPI/CHANGELOG] Deprecate smpi_process_index()
Christian Heinrich [Wed, 17 Jan 2018 20:02:50 +0000 (21:02 +0100)]
[SMPI] smpi.h: Remove smpi_process_index() usage in macros
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
Christian Heinrich [Wed, 17 Jan 2018 18:58:47 +0000 (19:58 +0100)]
[SMPI] smpi_replay.cpp: Cosmetics as proposed by clang-format
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
Christian Heinrich [Wed, 17 Jan 2018 18:53:19 +0000 (19:53 +0100)]
[SMPI] smpi_replay.cpp: Replace smpi_process()->index() calls
Christian Heinrich [Wed, 17 Jan 2018 18:14:13 +0000 (19:14 +0100)]
[CHANGELOG] Update changelog with SMPI's index + trace file changes
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
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.
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.
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.
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.
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.'
Christian Heinrich [Wed, 17 Jan 2018 15:59:43 +0000 (16:59 +0100)]
[TESH] Replace 'smpi_process_index()' with call to 'MPI_Comm_rank()'
Christian Heinrich [Tue, 16 Jan 2018 10:12:20 +0000 (11:12 +0100)]
[SMPI] Remove outdated comment
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
Christian Heinrich [Mon, 15 Jan 2018 23:44:53 +0000 (00:44 +0100)]
[SMPI] Replace index() in smpi_pmpi_requests.cpp
Christian Heinrich [Mon, 15 Jan 2018 23:28:44 +0000 (00:28 +0100)]
[SMPI] Replace index() in smpi_requests.cpp
Christian Heinrich [Mon, 15 Jan 2018 23:24:29 +0000 (00:24 +0100)]
[SMPI] Remove index() from smpi_pmpi_win.cpp
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.
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
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)
Christian Heinrich [Mon, 15 Jan 2018 22:51:32 +0000 (23:51 +0100)]
[SMPI] Make Comm::rank() use Actors
Christian Heinrich [Mon, 15 Jan 2018 15:21:49 +0000 (16:21 +0100)]
[SMPI] Use actor.iface() instead of Actor::byId(actor.pid)
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
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.
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.
Christian Heinrich [Thu, 11 Jan 2018 23:22:01 +0000 (00:22 +0100)]
[SMPI] Update smpi_deployment_register_process for actors
Christian Heinrich [Wed, 17 Jan 2018 14:37:51 +0000 (15:37 +0100)]
[SMPI] Rename 'index' to 'my_proc_id' in smpi::Process::init()
Christian Heinrich [Thu, 11 Jan 2018 23:17:43 +0000 (00:17 +0100)]
[SMPI] Move process_data to map<Actor, smpi::Process>
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.
Christian Heinrich [Thu, 11 Jan 2018 16:19:47 +0000 (17:19 +0100)]
[SMPI] Program against s4u::Actor and not smx_actor_t
Christian Heinrich [Thu, 11 Jan 2018 21:25:40 +0000 (22:25 +0100)]
[SMPI] Move SMPI_init() call to other location
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, ...)
Christian Heinrich [Mon, 22 Jan 2018 23:39:16 +0000 (00:39 +0100)]
[SMPI] Added XBT_DEBUG statements to smpi_win.cpp
They can help a lot to figure out what goes wrong and where...
Martin Quinson [Wed, 24 Jan 2018 12:18:03 +0000 (13:18 +0100)]
move that declaration to the right location
Frederic Suter [Wed, 24 Jan 2018 09:30:15 +0000 (10:30 +0100)]
distinguish shutdown and destroy in Java VMs
Frederic Suter [Tue, 23 Jan 2018 14:14:54 +0000 (15:14 +0100)]
Make MSG fade away (part 2)
move more function to sg_host_* and add the MSG macros
fix dumb 32-bit tests too
Frederic Suter [Tue, 23 Jan 2018 11:24:37 +0000 (12:24 +0100)]
Making MSG fade away (part 1)
most of the MSG_host functions already have a sg_host equivalent.
Don't duplicate the code or multiply the layer and use #define in
include/simgrid/host.h to guarantee backward compatibility
Frederic Suter [Tue, 23 Jan 2018 09:56:29 +0000 (10:56 +0100)]
please clang
Frederic Suter [Tue, 23 Jan 2018 08:45:19 +0000 (09:45 +0100)]
messing around MSG
Frederic Suter [Mon, 22 Jan 2018 10:39:38 +0000 (11:39 +0100)]
get rid of vm->isMigrating()
There already was an equivalent in the live migration plugin. This
method was only used internally to detect if a VM was destroyed while
it was migrating. This is now useless.
Frederic Suter [Mon, 22 Jan 2018 10:09:30 +0000 (11:09 +0100)]
Close #105
When a VM is shutdown, a signal is triggered which is captured in the VM
live migration plugin. If the VM was currently migrating, it kills the
RX and TX actors and the actor that was used to call sg_vm_migrate in
an asynchronous way. Smart pointers on these three actors are stored
in a new extension of the VM which is created when started a migration.
A test for this feature has been added in
teshsuite/s4u/cloud-interrupt-migration which corresponds to the
scenario described in the issue
Arnaud Giersch [Wed, 17 Jan 2018 17:08:38 +0000 (18:08 +0100)]
Keep deprecated functions for three versions as usual.
Arnaud Giersch [Wed, 17 Jan 2018 16:42:23 +0000 (17:42 +0100)]
Define XBT_ATTRIB_DEPRECATED_v322 for next deprecated features.
Christian Heinrich [Wed, 17 Jan 2018 00:39:17 +0000 (01:39 +0100)]
[TESH] Use platfdir and bindir for coll-alltoall test
Christian Heinrich [Wed, 17 Jan 2018 00:38:50 +0000 (01:38 +0100)]
[CMAKE] Copy also hostfile_coll for smpi tests
Christian Heinrich [Tue, 16 Jan 2018 18:02:04 +0000 (19:02 +0100)]
[SMPI] Added 2 FIXME's for PMPI_Is_thread_main()
Christian Heinrich [Mon, 15 Jan 2018 22:49:35 +0000 (23:49 +0100)]
[SMPI] Change comment in smpi_global.cpp
Christian Heinrich [Tue, 16 Jan 2018 12:11:55 +0000 (13:11 +0100)]
[SIMIX] Fix comment grammar
Martin Quinson [Wed, 17 Jan 2018 11:19:55 +0000 (12:19 +0100)]
improve doc of how to release
Martin Quinson [Wed, 17 Jan 2018 11:19:30 +0000 (12:19 +0100)]
fix sg_host_get_current_consumption() to do the same as C++
Christian Heinrich [Fri, 12 Jan 2018 13:48:11 +0000 (14:48 +0100)]
[SIMIX] Fix the ActorImpl signal
The signal was fired too early, so I moved it to
another position.
Christian Heinrich [Mon, 15 Jan 2018 14:15:21 +0000 (15:15 +0100)]
[TESH] Update pt2pt-dsend.tesh file with bindir, platfdir, ...
Christian Heinrich [Mon, 15 Jan 2018 14:14:39 +0000 (15:14 +0100)]
[TESH] Fix smpi-trace tesh file
This just fixes the ./smpi_trace path: It should be
using the variable as well.
Christian Heinrich [Mon, 15 Jan 2018 14:06:07 +0000 (15:06 +0100)]
[SMPI] Move even more redundant code to helper function
Christian Heinrich [Mon, 15 Jan 2018 14:05:17 +0000 (15:05 +0100)]
[SMPI] Added FIXME comment...
Christian Heinrich [Mon, 15 Jan 2018 13:58:12 +0000 (14:58 +0100)]
[SMPI] Pass the request as pointer and fix tracing
Christian Heinrich [Mon, 15 Jan 2018 13:43:42 +0000 (14:43 +0100)]
[SMPI] PMPI_Waitany/all: Move redundant code to helper function
Christian Heinrich [Mon, 15 Jan 2018 13:32:49 +0000 (14:32 +0100)]
[SMPI] Remove local variables
Christian Heinrich [Mon, 15 Jan 2018 13:13:30 +0000 (14:13 +0100)]
[SMPI] Remove now unused datastructure in PMPI_Waitall
This is the same as two commits ago, just for another function.
Christian Heinrich [Mon, 15 Jan 2018 13:11:49 +0000 (14:11 +0100)]
[SMPI] Don't use local structure in PMPI_Waitall
This is the same thing as two commits ago, but for
another function.
Christian Heinrich [Mon, 15 Jan 2018 12:49:00 +0000 (13:49 +0100)]
[SMPI] Remove now unused datastructure in PMPI_Waitany
The previous commit made changes that rendered the
structure savedvalstype unused. This commit
removes it completely.
Christian Heinrich [Mon, 15 Jan 2018 12:47:45 +0000 (13:47 +0100)]
[SMPI] Don't use local structure in PMPI_Waitany
The datastructure savedvalstype serves no real purpose
and can be removed.
Christian Heinrich [Mon, 15 Jan 2018 12:10:53 +0000 (13:10 +0100)]
[TESTS] Use platfdir, srcdir and bindir for more smpi tests
Arnaud Giersch [Sat, 13 Jan 2018 09:50:05 +0000 (10:50 +0100)]
Fix lua build.
Arnaud Giersch [Tue, 9 Jan 2018 15:01:51 +0000 (16:01 +0100)]
Update .mailmap file.
Christian Heinrich [Thu, 11 Jan 2018 15:19:07 +0000 (16:19 +0100)]
[S4U] Add onCreation signal to the actor API
Christian Heinrich [Thu, 11 Jan 2018 23:22:42 +0000 (00:22 +0100)]
[TESH] Use platfdir variable in coll-alltoall/clusters.tesh
Christian Heinrich [Thu, 11 Jan 2018 23:03:20 +0000 (00:03 +0100)]
[SMPI] Replace SIMIX_process_from_PID with S4U equivalent
Frederic Suter [Fri, 12 Jan 2018 09:18:55 +0000 (10:18 +0100)]
use enum class for cluster topology
Frederic Suter [Fri, 12 Jan 2018 09:05:37 +0000 (10:05 +0100)]
one more class in platform creation
Frederic Suter [Fri, 12 Jan 2018 08:29:46 +0000 (09:29 +0100)]
kill dead code
Frederic Suter [Fri, 12 Jan 2018 08:19:35 +0000 (09:19 +0100)]
please Sonar
Christian Heinrich [Tue, 19 Dec 2017 14:28:45 +0000 (15:28 +0100)]
[SMPI] Spelling.
Christian Heinrich [Tue, 19 Dec 2017 14:20:28 +0000 (15:20 +0100)]
[SMPI] Declare loop variable within the loop.
Compilers will get this.
Christian Heinrich [Fri, 15 Dec 2017 13:47:55 +0000 (14:47 +0100)]
[SMPI] Remove local variable sz in smpi_group.cpp
We already tested before if size_ != group2->size() -- and since
sz = group2->size(), we have here size_ == sz. So just use size_.
Christian Heinrich [Thu, 7 Dec 2017 09:26:12 +0000 (10:26 +0100)]
[SMPI] Rename variable bar -> barrier
bar sounds more like foo/bar
Christian Heinrich [Thu, 7 Dec 2017 09:24:37 +0000 (10:24 +0100)]
[SMPI] Use variable instead of 3 calls to the same function