Arnaud Giersch [Thu, 5 Dec 2019 09:32:33 +0000 (10:32 +0100)]
Missing include.
Augustin Degomme [Thu, 5 Dec 2019 06:41:46 +0000 (07:41 +0100)]
fix build with MC + no SMPI
Martin Quinson [Wed, 4 Dec 2019 23:57:10 +0000 (00:57 +0100)]
Merge branch 'doc' into 'master'
Fix link in Mutex doc
See merge request simgrid/simgrid!25
Augustin Degomme [Wed, 4 Dec 2019 21:47:01 +0000 (22:47 +0100)]
remove debug stuff added by mistake...
Augustin Degomme [Wed, 4 Dec 2019 21:18:23 +0000 (22:18 +0100)]
...
Augustin Degomme [Wed, 4 Dec 2019 21:09:25 +0000 (22:09 +0100)]
manifest update
Augustin Degomme [Wed, 4 Dec 2019 21:04:00 +0000 (22:04 +0100)]
need to initialize here also for osx and co.
Augustin Degomme [Wed, 4 Dec 2019 20:16:28 +0000 (21:16 +0100)]
Somehow OSX "lost" aligned_alloc recently ?
But it's quite useless here anyway, so don't bother.
Augustin Degomme [Wed, 4 Dec 2019 20:05:52 +0000 (21:05 +0100)]
help mc initialize smpi options.
Augustin Degomme [Wed, 4 Dec 2019 18:04:51 +0000 (19:04 +0100)]
fix MC build
Augustin Degomme [Wed, 4 Dec 2019 17:56:51 +0000 (18:56 +0100)]
leak--
Augustin Degomme [Wed, 4 Dec 2019 17:56:46 +0000 (18:56 +0100)]
requalify tesh as one message changed category
Augustin Degomme [Wed, 4 Dec 2019 17:55:45 +0000 (18:55 +0100)]
Move SMPI config to smpi_config.cpp file.
Store values for most used values, which can be used millions of times.
In some tests I saw up to 5% of the time spent reading them.
Julien EMMANUEL [Wed, 4 Dec 2019 16:26:17 +0000 (17:26 +0100)]
Fix link in Mutex doc
Augustin Degomme [Mon, 2 Dec 2019 15:05:21 +0000 (16:05 +0100)]
Fix issue with copy avoidance, which was merely working by accident in most cases.
That was causing HPL to loop.
Augustin Degomme [Thu, 28 Nov 2019 11:40:55 +0000 (12:40 +0100)]
more precise OS description for OpenIndiana.
Augustin Degomme [Mon, 2 Dec 2019 12:39:45 +0000 (13:39 +0100)]
Merge branch 'master' into 'master'
Master
See merge request simgrid/simgrid!23
Fabien Chaix [Mon, 2 Dec 2019 12:18:44 +0000 (14:18 +0200)]
Clean up and use of vector for cleaner allocation
Augustin Degomme [Sun, 1 Dec 2019 21:22:27 +0000 (22:22 +0100)]
oops, this bit wasn't meant to be reverted.
Augustin Degomme [Sun, 1 Dec 2019 17:22:40 +0000 (18:22 +0100)]
rename this macro.
It's actually useful outside of sampi, to disable malloc override when it conflicts with other codes and is not needed.
Fors instance FFTW uses FFTW(malloc(x)) to actually call fftw_malloc, and our macro was then breaking compilation.
Augustin Degomme [Sun, 1 Dec 2019 14:28:28 +0000 (15:28 +0100)]
partial revert of
e16e0233
These parenthesis are useful for use in macros, such as in HPL
Fabien Chaix [Fri, 29 Nov 2019 12:53:37 +0000 (14:53 +0200)]
Avoid allocation inside lmm_solve
Fabien Chaix [Fri, 29 Nov 2019 12:52:35 +0000 (14:52 +0200)]
Add missing constant definitions for Fortran
Frederic Suter [Fri, 29 Nov 2019 11:09:19 +0000 (12:09 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Fri, 29 Nov 2019 10:18:28 +0000 (11:18 +0100)]
maestro_process -> maestro_
Frederic Suter [Fri, 29 Nov 2019 09:56:44 +0000 (10:56 +0100)]
make SIMIX_wake_processes a method of simix_global
Augustin Degomme [Fri, 29 Nov 2019 00:10:50 +0000 (01:10 +0100)]
1 a.m. lazy commit. Plenty of new libs appeared on our radar on fedora after an update (elfutils ?)...
They have multiple ro segments, and their debuginfos are missing.
Augustin Degomme [Thu, 28 Nov 2019 22:29:23 +0000 (23:29 +0100)]
2-8 is matched as a version number and stripped from libname
Frederic Suter [Thu, 28 Nov 2019 17:29:11 +0000 (18:29 +0100)]
cosmetics
Frederic Suter [Thu, 28 Nov 2019 16:48:31 +0000 (17:48 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 28 Nov 2019 16:47:58 +0000 (17:47 +0100)]
Improve self (less SIMIX more kernel)
Martin Quinson [Thu, 28 Nov 2019 16:29:08 +0000 (17:29 +0100)]
MC: also ignore a library that has multiple read-only segments on fedora
Frederic Suter [Thu, 28 Nov 2019 14:43:43 +0000 (15:43 +0100)]
depreacate SIMIX_process_on_exit
Arnaud Giersch [Thu, 28 Nov 2019 14:29:11 +0000 (15:29 +0100)]
Add norelro to link flags (see FG #35).
Arnaud Giersch [Wed, 27 Nov 2019 08:46:51 +0000 (09:46 +0100)]
Fix doubled semicolons.
Frederic Suter [Thu, 28 Nov 2019 14:24:07 +0000 (15:24 +0100)]
cosmetics (less SIMIX, more kernel)
Frederic Suter [Thu, 28 Nov 2019 12:38:46 +0000 (13:38 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 28 Nov 2019 12:35:19 +0000 (13:35 +0100)]
e_smx_state_t is now kernel::activity::State
Augustin Degomme [Thu, 28 Nov 2019 09:32:19 +0000 (10:32 +0100)]
Add a test for mpi_cart_sub based on the bug report by Jonathan Borne.
Augustin Degomme [Thu, 28 Nov 2019 09:31:33 +0000 (10:31 +0100)]
replace ticks by version of python in project description when python is used for simgrid.
Augustin Degomme [Thu, 28 Nov 2019 09:28:39 +0000 (10:28 +0100)]
enhance shared tests to validate comms are skipped
Augustin Degomme [Thu, 28 Nov 2019 08:06:30 +0000 (09:06 +0100)]
Try to have a real mpi_cart_sub
Frederic Suter [Wed, 27 Nov 2019 12:55:37 +0000 (13:55 +0100)]
use by_name_or_null for links too
Frederic Suter [Wed, 27 Nov 2019 12:36:51 +0000 (13:36 +0100)]
fix asserts
Frederic Suter [Wed, 27 Nov 2019 12:16:59 +0000 (13:16 +0100)]
don't know why this was still a struct
Augustin Degomme [Tue, 26 Nov 2019 11:39:51 +0000 (12:39 +0100)]
Avoid copying data if it comes from/to a shared buffer, even internally.
Mainly useful for MPI_IN_PLACE collectives.
Augustin Degomme [Tue, 26 Nov 2019 00:31:37 +0000 (01:31 +0100)]
Ignore copies in plain shared_mallocs.
Arnaud Giersch [Sun, 24 Nov 2019 22:25:55 +0000 (23:25 +0100)]
Lame attempt to fix freebsd builds.
/usr/local/bin/ld: /usr/local/llvm-devel/lib/libomp.so: undefined reference to `kmp_set_thread_affinity_mask_initial'
Arnaud Giersch [Sun, 24 Nov 2019 21:23:30 +0000 (22:23 +0100)]
A single lookup is enough.
Arnaud Giersch [Fri, 22 Nov 2019 21:05:13 +0000 (22:05 +0100)]
Parentheses around macro parameters.
Arnaud Giersch [Fri, 22 Nov 2019 15:43:09 +0000 (16:43 +0100)]
Initialize allocated memory.
Arnaud Giersch [Fri, 22 Nov 2019 15:19:32 +0000 (16:19 +0100)]
Memory leak--
Arnaud Giersch [Thu, 21 Nov 2019 09:38:04 +0000 (10:38 +0100)]
Unused stuff.
Martin Quinson [Sat, 23 Nov 2019 17:15:08 +0000 (18:15 +0100)]
smpi colls: use C++ containers instead of nul-terminted C vectors
Martin Quinson [Sat, 23 Nov 2019 15:23:56 +0000 (16:23 +0100)]
cosmetics
Augustin Degomme [Fri, 22 Nov 2019 14:10:07 +0000 (15:10 +0100)]
don't forget that calloc assigns 0 to the buffer
Augustin Degomme [Fri, 22 Nov 2019 13:00:21 +0000 (14:00 +0100)]
cosmetics : I activated -pedantic for a quick pass
I decided to ignore errors related to printf %p which wants a void*-casted pointer
main changes are the removal of spurious ; in the code, and some forbidden dynamically sized arrays.
Augustin Degomme [Fri, 22 Nov 2019 11:07:18 +0000 (12:07 +0100)]
fix use after delete.
Augustin Degomme [Fri, 22 Nov 2019 11:07:05 +0000 (12:07 +0100)]
add calloc_intercept to avoid mistmatches.
Martin Quinson [Fri, 22 Nov 2019 06:35:12 +0000 (07:35 +0100)]
Merge remote-tracking branch 'framagit/master'
Martin Quinson [Fri, 22 Nov 2019 06:01:19 +0000 (07:01 +0100)]
expend more macros in MPI collectives
Augustin Degomme [Thu, 21 Nov 2019 18:09:54 +0000 (19:09 +0100)]
use catch2 way of doing this
Augustin Degomme [Thu, 21 Nov 2019 16:16:00 +0000 (17:16 +0100)]
Add tolerance for floating point precision comparisons.
Fails on 32bits if equality is used.
Augustin Degomme [Thu, 21 Nov 2019 14:55:29 +0000 (15:55 +0100)]
A change in cmake 3.16 makes this syntax necessary.
Let's see if old cmakes (and osx) allow this.
ref https://gitlab.kitware.com/cmake/cmake/issues/19747
Augustin Degomme [Thu, 21 Nov 2019 13:34:45 +0000 (14:34 +0100)]
Actually free the memory in these cases, should fix leaks and crashes on 32 bits.
Augustin Degomme [Thu, 21 Nov 2019 13:33:57 +0000 (14:33 +0100)]
include smpi helpers definitions in smpi.h, to define smpi_shared_free again.
Arnaud Giersch [Wed, 20 Nov 2019 21:51:59 +0000 (22:51 +0100)]
Kill now unused macros.
Arnaud Giersch [Wed, 20 Nov 2019 14:23:34 +0000 (15:23 +0100)]
Define simgrid::xbt::InitializationError (please Sonar).
Arnaud Giersch [Wed, 20 Nov 2019 13:49:26 +0000 (14:49 +0100)]
Cleanup around simgrid::ParseError.
Arnaud Giersch [Mon, 11 Nov 2019 13:47:24 +0000 (14:47 +0100)]
Update .mailmap.
Martin Quinson [Wed, 20 Nov 2019 13:09:40 +0000 (14:09 +0100)]
rnd: cosmetics to ease the implem
Martin Quinson [Wed, 20 Nov 2019 12:18:21 +0000 (13:18 +0100)]
Merge branch 'xbt_random' into 'master'
Choice between ad-hoc and standard distributions implementations
See merge request simgrid/simgrid!21
Yann Duplouy [Wed, 20 Nov 2019 10:37:44 +0000 (11:37 +0100)]
Reverting the change to xbt_uniform_int
Yann Duplouy [Wed, 20 Nov 2019 10:29:59 +0000 (11:29 +0100)]
Adding unit tests for the standard library distributions
Yann Duplouy [Wed, 20 Nov 2019 10:25:35 +0000 (11:25 +0100)]
Updating tests results for dht-chord (due to change to uniform int)
Yann Duplouy [Wed, 20 Nov 2019 10:25:16 +0000 (11:25 +0100)]
Modifying how uniform integer are generated
Yann Duplouy [Wed, 20 Nov 2019 09:52:42 +0000 (10:52 +0100)]
Introducing choice between the standard library and ad-hoc SimGrid distribution implementations.
Augustin Degomme [Tue, 19 Nov 2019 12:56:26 +0000 (13:56 +0100)]
add option "smpi/auto-shared-malloc-thresh"
This applies smpi_shared_malloc automatically to all allocations above a certain size.
Test based on the sample-shared one: malloc >= 8bytes is indeed shared, without using macros.
todo: calloc and co.
Martin Quinson [Tue, 19 Nov 2019 00:33:19 +0000 (01:33 +0100)]
plug a memleak on parse error :)
The most important fix ever!
Martin Quinson [Tue, 19 Nov 2019 00:27:14 +0000 (01:27 +0100)]
document recent changes
Martin Quinson [Tue, 19 Nov 2019 00:15:21 +0000 (01:15 +0100)]
Inventive hack to get flex raising exceptions on parse error
The core of this (over 2500 lines) patch reads as follows:
- fprintf(stderr, "%s\n", flexml_err_msg);
+ surf_parse_error(flexml_err_msg);
But the code we want to change is generated by Flex, so ... I have to
augment the perl script that rewrite some parts of the Flex result for
that purpose. Because yes, we do have such a perl script.
At the end, we need to regenerate the flex parser with the latest
version of Flex to apply this patch, resulting in that jumbo patch.
Martin Quinson [Mon, 18 Nov 2019 23:41:09 +0000 (00:41 +0100)]
also throw an exception when asked to parse an inexisting file
Martin Quinson [Mon, 18 Nov 2019 23:32:21 +0000 (00:32 +0100)]
smpi: expend a bunch of macros so that the functions' prototypes become accessible to my IDE
Martin Quinson [Mon, 18 Nov 2019 14:57:30 +0000 (15:57 +0100)]
Change smpi::Colls static class into a namespace of functions
Martin Quinson [Tue, 19 Nov 2019 00:13:06 +0000 (01:13 +0100)]
Merge branch 'xbt_random' into 'master'
A module for RNG calls
See merge request simgrid/simgrid!20
Frederic Suter [Mon, 18 Nov 2019 18:45:36 +0000 (19:45 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Mon, 18 Nov 2019 16:35:39 +0000 (17:35 +0100)]
power is speed
Yann Duplouy [Mon, 18 Nov 2019 12:58:45 +0000 (13:58 +0100)]
Assertion to force maximum value to be greater or equal to minimum in uniform int
Augustin Degomme [Mon, 18 Nov 2019 10:39:57 +0000 (11:39 +0100)]
fix fortran + ARM 64 bits.
I would like to get rid of these lists of architectures, and rely on cmake sizeof_voidp ... but this would mean relying on internal_config from smpi.h, and this is bad practice in simgrid :p Any idea ? Feel free to change it.
Anyway I changed the one in a cpp file that handles 99% of the cases, le .h is there for some ugly corner cases... This should not trigger too many errors in case of a new 64bits architecture popping.
Martin Quinson [Mon, 18 Nov 2019 05:55:28 +0000 (06:55 +0100)]
Energy plugins now throws std::logic_error when not properly inited before use
Martin Quinson [Mon, 18 Nov 2019 05:25:09 +0000 (06:25 +0100)]
parsing: less asserts, more exception raising
Martin Quinson [Mon, 18 Nov 2019 05:13:09 +0000 (06:13 +0100)]
handle flexer errors within the parsing module
Raise the exception ourselves instead of leaking an error code that
must be converted into an exception by our caller.
Martin Quinson [Mon, 18 Nov 2019 05:05:08 +0000 (06:05 +0100)]
Parse errors now raise a simgrid::ParseError that you may want to catch
Frederic Suter [Sun, 17 Nov 2019 23:49:28 +0000 (00:49 +0100)]
a bit of cleanup, could go further but not now
Martin Quinson [Sun, 17 Nov 2019 23:03:36 +0000 (00:03 +0100)]
reduce code dupplication
Martin Quinson [Sat, 16 Nov 2019 01:57:58 +0000 (02:57 +0100)]
smpi: many classes died tonight, but that will save kitten on the long term.
smpi::Coll was a class with 11 static methods (one per MPI function
that has several implementations: allgather, allgatherv, etc) and
nothing else.
That class was derivated for each implementation of a given MPI
function, and the resulting class was overloading only one of the
methods while the others were ignored. There was well over 100 such
child classes.
The overloaded methods were static in their class, and always used as
a function (the class was never instanciated).
All this was written with some macros to reduce the burden.
Instead, we now use regular functions in the smpi namespace.
Martin Quinson [Thu, 14 Nov 2019 17:15:48 +0000 (18:15 +0100)]
fix ns3 builds
Martin Quinson [Thu, 14 Nov 2019 09:39:20 +0000 (10:39 +0100)]
deprecate MSG_set_function, that seems useless since we cannot bypass the parser nowadays
Frederic Suter [Thu, 14 Nov 2019 10:00:12 +0000 (11:00 +0100)]
store kernel-level objects in EngineImpl
Frederic Suter [Wed, 13 Nov 2019 12:22:12 +0000 (13:22 +0100)]
make piface_ private and have get_iface() everywhere