Christian Heinrich [Mon, 5 Feb 2018 13:53:47 +0000 (14:53 +0100)]
[DVFS] Remove MSG from DVFS plugin and make it more flexible
The option plugin/dvfs/governor is now available and can be set on a per-host basis
Christian Heinrich [Mon, 5 Feb 2018 13:51:49 +0000 (14:51 +0100)]
[DVFS] Rephrase debug statements
Christian Heinrich [Sun, 28 Jan 2018 15:10:21 +0000 (16:10 +0100)]
[PLUGINS] Initial commit for the Dvfs plugin (frequency governors)
Christian Heinrich [Sun, 28 Jan 2018 15:12:11 +0000 (16:12 +0100)]
[SMPI] Fix issues with daemons by using isDaemon()
Christian Heinrich [Sun, 28 Jan 2018 15:11:45 +0000 (16:11 +0100)]
[S4U API] Expose the isDaemon() function to the API
Christian Heinrich [Sun, 28 Jan 2018 15:12:52 +0000 (16:12 +0100)]
[SMPI] Clarify in debug message that SMPI processes are meant, not SIMIX.
Christian Heinrich [Thu, 25 Jan 2018 19:32:03 +0000 (20:32 +0100)]
[CHANGELOG] Added brief description on the privatization changes
Arnaud Giersch [Thu, 25 Jan 2018 11:31:43 +0000 (12:31 +0100)]
Cosmetics: get rid of stringstream.
Arnaud Giersch [Wed, 24 Jan 2018 20:45:19 +0000 (21:45 +0100)]
Fix comment.
Arnaud Giersch [Thu, 18 Jan 2018 09:21:13 +0000 (10:21 +0100)]
Disable unused copy constructors (and please cppcheck).
Arnaud Giersch [Mon, 5 Feb 2018 15:34:41 +0000 (16:34 +0100)]
Correctly get the exit status for smpi processes.
Arnaud Giersch [Mon, 5 Feb 2018 15:34:23 +0000 (16:34 +0100)]
Search in map only once.
Arnaud Giersch [Mon, 5 Feb 2018 15:18:08 +0000 (16:18 +0100)]
Kill dead code.
process_data is empty a this point.
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.
Arnaud Giersch [Mon, 5 Feb 2018 15:15:19 +0000 (16:15 +0100)]
Revert "Finally fix memleak."
This reverts commit
aad6442f8fd7d7610f49271010cb8a650f4772de.
Arnaud Giersch [Sun, 4 Feb 2018 21:26:36 +0000 (22:26 +0100)]
Finally fix 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.
Martin Quinson [Sat, 3 Feb 2018 21:36:23 +0000 (22:36 +0100)]
inline a oneliner
Martin Quinson [Sat, 3 Feb 2018 21:36:10 +0000 (22:36 +0100)]
plug another memleak
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.
Martin Quinson [Sat, 3 Feb 2018 21:25:37 +0000 (22:25 +0100)]
obey our coding style
Martin Quinson [Fri, 2 Feb 2018 21:52:51 +0000 (22:52 +0100)]
try to plug a memleak
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
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
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' {} \;
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' {} \;
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' {} \;
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' {} \;
Millian Poquet [Thu, 1 Feb 2018 10:24:01 +0000 (11:24 +0100)]
[misc] gitignore: ignore qtcreator main file
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
Martin Quinson [Wed, 31 Jan 2018 21:40:09 +0000 (22:40 +0100)]
ignore a new test
Martin Quinson [Wed, 31 Jan 2018 21:16:07 +0000 (22:16 +0100)]
Factorize how we load NS3 libraries
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
Martin Quinson [Wed, 31 Jan 2018 11:48:36 +0000 (12:48 +0100)]
reduce the shotgun design pattern in the detection of 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
Martin Quinson [Tue, 30 Jan 2018 20:58:57 +0000 (21:58 +0100)]
cmake: more verbose msg about which NS3 is chosen
Martin Quinson [Mon, 29 Jan 2018 09:49:04 +0000 (10:49 +0100)]
fix formatting issues (%u for unsigned)
Martin Quinson [Sun, 28 Jan 2018 22:41:31 +0000 (23:41 +0100)]
fix make dist
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
Martin Quinson [Sun, 28 Jan 2018 22:22:16 +0000 (23:22 +0100)]
ns3: remove test on a platform that does not exist anymore
Martin Quinson [Sat, 27 Jan 2018 14:51:32 +0000 (15:51 +0100)]
ns3: no segfault anymore, but a deadlock when using clusters
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
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.
Martin Quinson [Sat, 27 Jan 2018 05:28:59 +0000 (06:28 +0100)]
more informative outputs while searching for 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)
Martin Quinson [Thu, 25 Jan 2018 19:14:37 +0000 (20:14 +0100)]
get ns3 to compile (but still fails)
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
Martin Quinson [Thu, 25 Jan 2018 17:09:59 +0000 (18:09 +0100)]
Survive to when libunwind does not exist (hello again windows)
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.
Frederic Suter [Thu, 25 Jan 2018 12:18:42 +0000 (13:18 +0100)]
please sonar
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.
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.
Augustin Degomme [Thu, 25 Jan 2018 00:21:23 +0000 (01:21 +0100)]
add another message useful for debugging here
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...
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.
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)