Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
3 years agoDisplay leak origin in message, if -trace-call-location is used.
Augustin Degomme [Wed, 7 Apr 2021 08:29:07 +0000 (10:29 +0200)]
Display leak origin in message, if -trace-call-location is used.
+ downgrade messages to INFO.

3 years agohide references to current_handle inside *.cpp file, to avoid breaking if SMPI is...
Augustin Degomme [Wed, 7 Apr 2021 08:27:44 +0000 (10:27 +0200)]
hide references to current_handle inside *.cpp file, to avoid breaking if SMPI is not compiled

3 years agoappease 32 bits
Augustin Degomme [Tue, 6 Apr 2021 20:53:45 +0000 (22:53 +0200)]
appease 32 bits

3 years agoUse a Remote<> for remote smpi::Request.
Arnaud Giersch [Tue, 6 Apr 2021 20:42:00 +0000 (22:42 +0200)]
Use a Remote<> for remote smpi::Request.

3 years agoappease clang
Augustin Degomme [Tue, 6 Apr 2021 18:34:27 +0000 (20:34 +0200)]
appease clang

3 years agochange the way we display leak types, skipping demangling
Augustin Degomme [Tue, 6 Apr 2021 18:06:47 +0000 (20:06 +0200)]
change the way we display leak types, skipping demangling

3 years agotry to improve handling of comm_self a bit.
Augustin Degomme [Tue, 6 Apr 2021 18:05:22 +0000 (20:05 +0200)]
try to improve handling of comm_self a bit.

3 years agofix for potentially empty names
Augustin Degomme [Tue, 6 Apr 2021 16:42:02 +0000 (18:42 +0200)]
fix for potentially empty names

3 years agoAdd the option to print origin of a failing handle.
Augustin Degomme [Tue, 6 Apr 2021 15:43:28 +0000 (17:43 +0200)]
Add the option to print origin of a failing handle.
This uses trace-call-location flag for smpicc, store the value at handle creation, and tries to return the most relevant one on a crash (that's actually a pain and will have to be checked)

3 years agoadd a name() to all F2C objects.
Augustin Degomme [Tue, 6 Apr 2021 15:39:50 +0000 (17:39 +0200)]
add a name() to all F2C objects.
This avoids demangling need for leak check (and should fix tests, as freebsd has a broken demangler on our ci system).

3 years agooops
Augustin Degomme [Tue, 6 Apr 2021 15:22:36 +0000 (17:22 +0200)]
oops

3 years agosame for win, get_info needs a copy.
Augustin Degomme [Tue, 6 Apr 2021 15:13:51 +0000 (17:13 +0200)]
same for win, get_info needs a copy.

3 years agoremove unwanted s4u include in all smpi files
Augustin Degomme [Tue, 6 Apr 2021 15:08:47 +0000 (17:08 +0200)]
remove unwanted s4u include in all smpi files

3 years agoget_info calls actually must return a copy.
Augustin Degomme [Tue, 6 Apr 2021 15:06:50 +0000 (17:06 +0200)]
get_info calls actually must return a copy.

3 years agogeneralize mark_as_deleted call
Augustin Degomme [Tue, 6 Apr 2021 15:06:17 +0000 (17:06 +0200)]
generalize mark_as_deleted call

3 years agoDon't add handles to the lookup for the sake of just removing them immediately...
Augustin Degomme [Mon, 5 Apr 2021 21:57:12 +0000 (23:57 +0200)]
Don't add handles to the lookup for the sake of just removing them immediately...
if they're not there .. well they are not.

3 years agoadd two fortran declarations
Augustin Degomme [Mon, 5 Apr 2021 21:55:13 +0000 (23:55 +0200)]
add two fortran declarations

3 years agoAdd message to help improve backtrace
Augustin Degomme [Mon, 5 Apr 2021 12:33:30 +0000 (14:33 +0200)]
Add message to help improve backtrace

3 years ago\t removed
Augustin Degomme [Mon, 5 Apr 2021 10:28:27 +0000 (12:28 +0200)]
\t removed

3 years agoprint backtrace when we exit due to an MPI failure
Augustin Degomme [Mon, 5 Apr 2021 10:28:18 +0000 (12:28 +0200)]
print backtrace when we exit due to an MPI failure

3 years agofactor on_creation signal trigger in Host::seal()
SUTER Frederic [Tue, 6 Apr 2021 17:51:34 +0000 (19:51 +0200)]
factor on_creation signal trigger in Host::seal()

3 years agoprefer create_host than creating the creation args
SUTER Frederic [Tue, 6 Apr 2021 16:53:42 +0000 (18:53 +0200)]
prefer create_host than creating the creation args

3 years agocleanups
SUTER Frederic [Tue, 6 Apr 2021 16:15:23 +0000 (18:15 +0200)]
cleanups

3 years agosimplify kernel part of disk. It's really shallow now
SUTER Frederic [Tue, 6 Apr 2021 12:23:08 +0000 (14:23 +0200)]
simplify kernel part of disk. It's really shallow now

3 years agocosmetics
SUTER Frederic [Tue, 6 Apr 2021 11:56:22 +0000 (13:56 +0200)]
cosmetics

3 years agoMatch Io and Exec creation
SUTER Frederic [Tue, 6 Apr 2021 10:32:18 +0000 (12:32 +0200)]
Match Io and Exec creation

3 years agoSave one assert and do not use shring policy to determine if WifiLink
SUTER Frederic [Tue, 6 Apr 2021 07:53:01 +0000 (09:53 +0200)]
Save one assert and do not use shring policy to determine if WifiLink

3 years agocosmetics
SUTER Frederic [Tue, 6 Apr 2021 07:45:11 +0000 (09:45 +0200)]
cosmetics

3 years agoSingle way to create links in NetZone
Bruno Donassolo [Tue, 6 Apr 2021 09:30:04 +0000 (11:30 +0200)]
Single way to create links in NetZone

With the refactoring, we don't need 2 methods in NetZoneImpl to create
new links.
The link type (wifi or wired) is determined by the NetZone type
(WifiZone).

3 years agoSimplify NetZone's hierarchy
Bruno Donassolo [Tue, 6 Apr 2021 08:52:21 +0000 (10:52 +0200)]
Simplify NetZone's hierarchy

A NetZone is RoutingMode::base by default. When we add a child to it, it
becomes RoutingMode::recursive.

3 years agoOne method to set netzone's relationship
Bruno Donassolo [Tue, 6 Apr 2021 08:27:02 +0000 (10:27 +0200)]
One method to set netzone's relationship

A netzone is child of its parent, set_parent() is enough to determine
the relationship parent/child of netzones.

3 years agoCopy models from parent netzone
Bruno Donassolo [Tue, 6 Apr 2021 08:01:21 +0000 (10:01 +0200)]
Copy models from parent netzone

Allows user creating new netzones without explicitly setting models

3 years agoMinor fix in doc
Bruno Donassolo [Tue, 6 Apr 2021 07:55:01 +0000 (09:55 +0200)]
Minor fix in doc

3 years ago[appveyor] Stick to the stable branch of pybind11.
Arnaud Giersch [Sun, 4 Apr 2021 21:55:42 +0000 (23:55 +0200)]
[appveyor] Stick to the stable branch of pybind11.

3 years agoMissing space (?).
Arnaud Giersch [Sat, 3 Apr 2021 19:50:47 +0000 (21:50 +0200)]
Missing space (?).

3 years agochecks for PMPI_Type_create_subarray
Augustin Degomme [Sun, 4 Apr 2021 17:14:21 +0000 (19:14 +0200)]
checks for PMPI_Type_create_subarray

3 years agocheck for alloc mem
Augustin Degomme [Sun, 4 Apr 2021 17:13:53 +0000 (19:13 +0200)]
check for alloc mem

3 years agocheck illegal in_place for gather/scatter
Augustin Degomme [Sun, 4 Apr 2021 15:11:27 +0000 (17:11 +0200)]
check illegal in_place for gather/scatter
also stop calling pid rank, it's confusing.

3 years agocheck ranks for probes/iprobes
Augustin Degomme [Sun, 4 Apr 2021 15:11:09 +0000 (17:11 +0200)]
check ranks for probes/iprobes

3 years agoincrease rank checking for RMA comms
Augustin Degomme [Sun, 4 Apr 2021 15:10:53 +0000 (17:10 +0200)]
increase rank checking for RMA comms

3 years agothis test is invalid with 1 process. Align with mpich and use 8.
Augustin Degomme [Sat, 3 Apr 2021 23:05:38 +0000 (01:05 +0200)]
this test is invalid with 1 process. Align with mpich and use 8.

3 years agogroup inputs validation
Augustin Degomme [Sat, 3 Apr 2021 23:05:01 +0000 (01:05 +0200)]
group inputs validation

3 years agoset keyval to invalid after free
Augustin Degomme [Sat, 3 Apr 2021 23:04:12 +0000 (01:04 +0200)]
set keyval to invalid after free

3 years agoMPI_Abort : try to kill other processes from the communicator.
Augustin Degomme [Sat, 3 Apr 2021 13:49:56 +0000 (15:49 +0200)]
MPI_Abort : try to kill other processes from the communicator.
No idea if this helps

3 years agoKeyvals : handle MPI_KEYVAL_INVALID
Augustin Degomme [Sat, 3 Apr 2021 13:48:18 +0000 (15:48 +0200)]
Keyvals : handle MPI_KEYVAL_INVALID

3 years agoErrhandler : inputs + cleanup
Augustin Degomme [Sat, 3 Apr 2021 13:47:51 +0000 (15:47 +0200)]
Errhandler : inputs + cleanup

3 years agooops.
Augustin Degomme [Sat, 3 Apr 2021 12:52:03 +0000 (14:52 +0200)]
oops.

3 years agoAbort : check input, and remove fixme... Actual implementations do the same
Augustin Degomme [Sat, 3 Apr 2021 12:51:49 +0000 (14:51 +0200)]
Abort : check input, and remove fixme... Actual implementations do the same

3 years agoInit : dont just crash with asserts, return errors (they will crash if errhandler...
Augustin Degomme [Sat, 3 Apr 2021 12:51:22 +0000 (14:51 +0200)]
Init : dont just crash with asserts, return errors (they will crash if errhandler is configured to)

3 years agocomm, input validation
Augustin Degomme [Sat, 3 Apr 2021 12:49:58 +0000 (14:49 +0200)]
comm, input validation

3 years agouse MPI_COMM_WORLD errhandler if MPI_COMM_NULL is given
Augustin Degomme [Sat, 3 Apr 2021 12:48:13 +0000 (14:48 +0200)]
use MPI_COMM_WORLD errhandler if MPI_COMM_NULL is given

3 years agoFix null dereference.
Arnaud Giersch [Sat, 3 Apr 2021 13:40:26 +0000 (15:40 +0200)]
Fix null dereference.

3 years agoSort the list of leaks before print.
Arnaud Giersch [Sat, 3 Apr 2021 13:11:46 +0000 (15:11 +0200)]
Sort the list of leaks before print.

3 years agoavoid allocating comm_self if not needed
Augustin Degomme [Sat, 3 Apr 2021 08:30:12 +0000 (10:30 +0200)]
avoid allocating comm_self if not needed

3 years agoTell when we have more leaked handles to display
Martin Quinson [Sat, 3 Apr 2021 07:42:34 +0000 (09:42 +0200)]
Tell when we have more leaked handles to display

3 years agoDisplay the leaked handles in the tests (using no_loc to hide pointers)
Martin Quinson [Sat, 3 Apr 2021 07:39:52 +0000 (09:39 +0200)]
Display the leaked handles in the tests (using no_loc to hide pointers)

3 years agoCosmetics in an error message
Martin Quinson [Sat, 3 Apr 2021 07:09:12 +0000 (09:09 +0200)]
Cosmetics in an error message

To ease the grepping of this message in a child project ;)

3 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Sat, 3 Apr 2021 07:05:37 +0000 (09:05 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

3 years agovalidate that MPI_Op can be applied at entrance of MPI call, instead of xbt_dying...
Augustin Degomme [Sat, 3 Apr 2021 00:40:40 +0000 (02:40 +0200)]
validate that MPI_Op can be applied at entrance of MPI call, instead of xbt_dying deep inside SMPI.
For RMA comms, somehow derived datatypes also are allowed. and it's too late for me to add this, so keep the previous checks for now.

3 years agoPack_size is meant to return the upper bound of the size.
Augustin Degomme [Fri, 2 Apr 2021 22:19:17 +0000 (00:19 +0200)]
Pack_size is meant to return the upper bound of the size.
Thanks agier

3 years agoA bool is OK in boolean context.
Arnaud Giersch [Fri, 2 Apr 2021 21:03:11 +0000 (23:03 +0200)]
A bool is OK in boolean context.

3 years agoCosmetics.
Arnaud Giersch [Fri, 2 Apr 2021 20:45:36 +0000 (22:45 +0200)]
Cosmetics.

3 years agochange way WIFI are create + make sharing_policy optional
SUTER Frederic [Fri, 2 Apr 2021 21:38:48 +0000 (23:38 +0200)]
change way WIFI are create + make sharing_policy optional

3 years agoreindent
SUTER Frederic [Fri, 2 Apr 2021 16:59:12 +0000 (18:59 +0200)]
reindent

3 years agomore simplifications
SUTER Frederic [Fri, 2 Apr 2021 16:18:09 +0000 (18:18 +0200)]
more simplifications

3 years agoFix count for SMPI leak report.
Arnaud Giersch [Fri, 2 Apr 2021 20:31:04 +0000 (22:31 +0200)]
Fix count for SMPI leak report.

3 years agoFunction doesn't exist.
Arnaud Giersch [Fri, 2 Apr 2021 19:44:36 +0000 (21:44 +0200)]
Function doesn't exist.

3 years ago[mc] Enable finalize_app() in SafetyChecker.
Arnaud Giersch [Fri, 2 Apr 2021 14:35:31 +0000 (16:35 +0200)]
[mc] Enable finalize_app() in SafetyChecker.

Update mc-coll-allreduce-with-leaks.tesh accordingly.

3 years ago[sonar] Const in s4u::Disk.
Arnaud Giersch [Fri, 2 Apr 2021 12:46:22 +0000 (14:46 +0200)]
[sonar] Const in s4u::Disk.

3 years agoupdate test with latest version from mpich.
Augustin Degomme [Fri, 2 Apr 2021 18:01:29 +0000 (20:01 +0200)]
update test with latest version from mpich.
d5e44448d0 was a misguided fix, as MPI_SUM is forbidden on MPI_BYTE... And I can't remember what the issue with ubsan was, so let's see

3 years agoMPI_BYTE has some specific requirements, and doesn't allow most operations on it
Augustin Degomme [Fri, 2 Apr 2021 17:29:20 +0000 (19:29 +0200)]
MPI_BYTE has some specific requirements, and doesn't allow most operations on it

3 years agoreport the proper size on the receiver side, when its buffer was allocated too largely.
Augustin Degomme [Fri, 2 Apr 2021 15:32:00 +0000 (17:32 +0200)]
report the proper size on the receiver side, when its buffer was allocated too largely.
I'm sure it used to be done properly ...

3 years agoselect proper errhandler when MPI_COMM_WORLD is duplicated
Augustin Degomme [Fri, 2 Apr 2021 15:31:12 +0000 (17:31 +0200)]
select proper errhandler when MPI_COMM_WORLD is duplicated

3 years agorecv should return MPI_ERR_TRUNCATE
Augustin Degomme [Fri, 2 Apr 2021 15:30:51 +0000 (17:30 +0200)]
recv should return MPI_ERR_TRUNCATE
we crash properly when needed, but don't return it properly if errhandler is meant not to crash

3 years agofail when trying to attach a buffer if one is already attached
Augustin Degomme [Fri, 2 Apr 2021 15:28:48 +0000 (17:28 +0200)]
fail when trying to attach a buffer if one is already attached

3 years agowhen the standard said "return" here, it was not meant as return value.
Augustin Degomme [Fri, 2 Apr 2021 15:27:45 +0000 (17:27 +0200)]
when the standard said "return" here, it was not meant as return value.

3 years agowe need to check comm is not null before trying for the rank, duh..
Augustin Degomme [Fri, 2 Apr 2021 09:34:18 +0000 (11:34 +0200)]
we need to check comm is not null before trying for the rank, duh..

3 years agothis tests actually does not conform to the standard and crashed now, but it's OK...
Augustin Degomme [Fri, 2 Apr 2021 09:23:53 +0000 (11:23 +0200)]
this tests actually does not conform to the standard and crashed now, but it's OK to say we are strict here.

3 years agoAdd a deleted flag to keep track of invalid but not actually deleted handles
Augustin Degomme [Fri, 2 Apr 2021 09:23:03 +0000 (11:23 +0200)]
Add a deleted flag to keep track of invalid but not actually deleted handles
We can then crash if someone tries to use it later on.
just do it for Comm for now, will extend later.

3 years agofix size of allocated buffer
Augustin Degomme [Fri, 2 Apr 2021 09:20:03 +0000 (11:20 +0200)]
fix size of allocated buffer

3 years agoImplement MPI_Comm_test_inter.
Augustin Degomme [Fri, 2 Apr 2021 09:19:47 +0000 (11:19 +0200)]
Implement MPI_Comm_test_inter.
Answer is no, as we don't support intercommunicators.

3 years agoadd more Fortran definitions
Augustin Degomme [Fri, 2 Apr 2021 09:19:08 +0000 (11:19 +0200)]
add more Fortran definitions

3 years agoSeal NetZone
Bruno Donassolo [Fri, 2 Apr 2021 17:26:31 +0000 (19:26 +0200)]
Seal NetZone

We need to be able to seal the netzone too.
Sealing a netzone, seals its children and hosts.

Add protection to avoid sealing twice.

3 years agoConstify list of links parameter
Bruno Donassolo [Fri, 2 Apr 2021 16:41:04 +0000 (18:41 +0200)]
Constify list of links parameter

3 years agoSimplified methods to add routes
Bruno Donassolo [Fri, 2 Apr 2021 15:21:23 +0000 (17:21 +0200)]
Simplified methods to add routes

Avoid using LinkImpl in s4u interface.
Add method that raises and exception if netpoint isn't found

Allows the implementation of a platform like small_platform.xml without
using "internal" structures.

3 years agosimplify constant model a bit
SUTER Frederic [Fri, 2 Apr 2021 15:41:11 +0000 (17:41 +0200)]
simplify constant model a bit

3 years agosnake casing IB
SUTER Frederic [Fri, 2 Apr 2021 15:22:01 +0000 (17:22 +0200)]
snake casing IB

3 years agosmall simplifications and cleanups
SUTER Frederic [Fri, 2 Apr 2021 09:28:14 +0000 (11:28 +0200)]
small simplifications and cleanups

3 years agosimplification
SUTER Frederic [Fri, 2 Apr 2021 08:35:42 +0000 (10:35 +0200)]
simplification

3 years agoFix error handling.
Bruno Donassolo [Fri, 2 Apr 2021 10:01:09 +0000 (12:01 +0200)]
Fix error handling.

Raise std::invalid_argument exception instead of dying.

Thanks for the review ;)

3 years agoAvoid a local variable only used by xbt_assert.
Arnaud Giersch [Fri, 2 Apr 2021 08:50:23 +0000 (10:50 +0200)]
Avoid a local variable only used by xbt_assert.

3 years agoChange "if(...) xbt_die(...)" to "xbt_assert(...)".
Arnaud Giersch [Wed, 31 Mar 2021 09:58:57 +0000 (11:58 +0200)]
Change "if(...) xbt_die(...)" to "xbt_assert(...)".

Some of them could certainly be improved to report the error to the user code,
for example with a proper exception, but it's another work.

3 years agoNever disable xbt_assert anymore.
Arnaud Giersch [Fri, 2 Apr 2021 08:25:39 +0000 (10:25 +0200)]
Never disable xbt_assert anymore.

3 years agoMake mc::Api::get_actor_name return a const&.
Arnaud Giersch [Fri, 2 Apr 2021 07:55:05 +0000 (09:55 +0200)]
Make mc::Api::get_actor_name return a const&.

Sometimes avoids unnecessary copies.

3 years agoEmpty is when len == 0!.
Arnaud Giersch [Fri, 2 Apr 2021 08:04:30 +0000 (10:04 +0200)]
Empty is when len == 0!.

3 years agoImprove debug messages (code is still not functional).
Arnaud Giersch [Thu, 1 Apr 2021 21:07:28 +0000 (23:07 +0200)]
Improve debug messages (code is still not functional).

3 years agoFIXME++
Arnaud Giersch [Thu, 1 Apr 2021 21:05:27 +0000 (23:05 +0200)]
FIXME++

3 years agoFix segfault with debug message.
Arnaud Giersch [Thu, 1 Apr 2021 20:49:03 +0000 (22:49 +0200)]
Fix segfault with debug message.

3 years agoRender mc::Api::get_actor_name() public.
Arnaud Giersch [Thu, 1 Apr 2021 20:48:09 +0000 (22:48 +0200)]
Render mc::Api::get_actor_name() public.

3 years agoZero-initialize struct to avoid valgrind warnings.
Arnaud Giersch [Thu, 1 Apr 2021 20:22:15 +0000 (22:22 +0200)]
Zero-initialize struct to avoid valgrind warnings.

Use memset, since there is no warranty that the padding bits are set to zero
with an empty initilizer-list {}