Augustin Degomme [Mon, 6 Oct 2014 12:28:00 +0000 (14:28 +0200)]
give correct pointer when calling delete function
Augustin Degomme [Mon, 6 Oct 2014 09:33:01 +0000 (11:33 +0200)]
duplicated lines
Augustin Degomme [Mon, 6 Oct 2014 08:40:29 +0000 (10:40 +0200)]
store the int in a long-enough char array
degomme [Sun, 5 Oct 2014 18:53:15 +0000 (20:53 +0200)]
cleanup, remove some useless functions
degomme [Sun, 5 Oct 2014 18:17:05 +0000 (20:17 +0200)]
Add MPI_Type*keyval and MPI_Type*attr functions
degomme [Fri, 3 Oct 2014 23:12:39 +0000 (01:12 +0200)]
Add MPI_Comm_*keyval and MPI_Comm*attr functions
These are just aliases for MPI*keyval and MPI*attr deprecated functions
Augustin Degomme [Fri, 3 Oct 2014 20:43:49 +0000 (22:43 +0200)]
activate some more tests
Augustin Degomme [Fri, 3 Oct 2014 20:05:17 +0000 (22:05 +0200)]
Fix compilation issue
Augustin Degomme [Fri, 3 Oct 2014 17:35:54 +0000 (19:35 +0200)]
Implement MPI_Keyval_create, MPI_Keyval_free, MPI_Attr_get, MPI_Attr_put, MPI_Attr_delete calls
Augustin Degomme [Fri, 3 Oct 2014 08:29:34 +0000 (10:29 +0200)]
provide new unimplemented signatures for RMA MPI calls
Augustin Degomme [Fri, 3 Oct 2014 08:29:06 +0000 (10:29 +0200)]
don't provide sync-gforge-doc* targets if doc is not enabled (cmake warning)
Augustin Degomme [Thu, 2 Oct 2014 12:57:31 +0000 (14:57 +0200)]
various fixes about replay and buffer usage
Augustin Degomme [Thu, 2 Oct 2014 12:49:38 +0000 (14:49 +0200)]
When display timing is set, also display global simulation time and application times
This allows to check if most of the time is spent in the application, or in Simgrid
Add a hint if more than 75% of the time is spent inside the application's code (to use replay or sampling)
Augustin Degomme [Thu, 2 Oct 2014 12:18:08 +0000 (14:18 +0200)]
Change way replay is handled, to allow cohabitation between replay and "classic" SMPI
Augustin Degomme [Tue, 30 Sep 2014 12:50:16 +0000 (14:50 +0200)]
this buffer was not meant to be shared
Augustin Degomme [Tue, 30 Sep 2014 09:37:50 +0000 (11:37 +0200)]
use correct free method for buffer
Augustin Degomme [Tue, 30 Sep 2014 09:28:39 +0000 (11:28 +0200)]
add MPI_Win_get_group, and activate some tests using *c2f and *f2c calls
Augustin Degomme [Mon, 29 Sep 2014 16:05:08 +0000 (18:05 +0200)]
avoid issues in fortran codes
Augustin Degomme [Mon, 29 Sep 2014 15:34:52 +0000 (17:34 +0200)]
Add forgotten MPI_Comm_f2c and MPI_Comm_c2f calls
Gabriel Corona [Thu, 2 Oct 2014 09:09:14 +0000 (11:09 +0200)]
[smpi] Leave the underlying structure of MPI_File opaque
Gabriel Corona [Thu, 2 Oct 2014 09:05:50 +0000 (11:05 +0200)]
[mc] Fix conversion from char 0 into char*
etortilopez [Wed, 1 Oct 2014 09:06:03 +0000 (11:06 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
etortilopez [Wed, 1 Oct 2014 09:05:29 +0000 (11:05 +0200)]
Fixes in adaptive algorithm
Augustin Degomme [Mon, 29 Sep 2014 14:25:28 +0000 (16:25 +0200)]
31e0f216b4 was sending some other executables to the wrong directory
Augustin Degomme [Mon, 29 Sep 2014 13:17:04 +0000 (15:17 +0200)]
have last algos use also temporary buffers
Augustin Degomme [Mon, 29 Sep 2014 12:50:23 +0000 (14:50 +0200)]
change name of some targets for mc, to avoid warnings by recent cmake
Augustin Degomme [Mon, 29 Sep 2014 12:22:33 +0000 (14:22 +0200)]
avoid the flag finline-functions with mc and clang, also
Augustin Degomme [Mon, 29 Sep 2014 12:01:07 +0000 (14:01 +0200)]
add some more calls to smpi temp buffers allocation functions
Augustin Degomme [Mon, 29 Sep 2014 08:58:58 +0000 (10:58 +0200)]
Disable the multiple replay test with MC.
It uses too much memory on ci slaves.
Augustin Degomme [Mon, 29 Sep 2014 08:22:23 +0000 (10:22 +0200)]
remove unwanted !
Augustin Degomme [Mon, 29 Sep 2014 08:17:08 +0000 (10:17 +0200)]
activate this flag only for gcc, as it now generates a warning for clang > 3.4
The flag is not used by clang, which used to just ignore it.
degomme [Sun, 28 Sep 2014 22:58:26 +0000 (00:58 +0200)]
intercept correctly calls with unitialized communicators
degomme [Sat, 27 Sep 2014 00:11:17 +0000 (02:11 +0200)]
Have replay always use shared buffers instead of allocating new ones, even inside collective ops.
Augustin Degomme [Fri, 26 Sep 2014 13:57:53 +0000 (15:57 +0200)]
for replay and collectives, only allocate buffers once (grow it if needed).
As we don't have shared malloc on all platforms, this should be more ci-friendly
Augustin Degomme [Fri, 26 Sep 2014 13:36:26 +0000 (15:36 +0200)]
fix bug still happening with dash
Augustin Degomme [Fri, 26 Sep 2014 12:57:35 +0000 (14:57 +0200)]
Fix replay files (alltoallv replay has changed since it was generated))
Augustin Degomme [Fri, 26 Sep 2014 12:00:39 +0000 (14:00 +0200)]
make deployment script generation posix friendly (remove bashisms, and try to stay efficient)
Augustin Degomme [Thu, 25 Sep 2014 15:20:28 +0000 (17:20 +0200)]
Add an example that shows how to replay multiple applications at the same time
Check README for more details
Augustin Degomme [Thu, 25 Sep 2014 15:16:07 +0000 (17:16 +0200)]
Add an option to have a sleep time before the start of a replay instance
Augustin Degomme [Thu, 25 Sep 2014 15:15:32 +0000 (17:15 +0200)]
small changes to make multiple replay easier
etortilopez [Wed, 24 Sep 2014 12:07:07 +0000 (14:07 +0200)]
Added adaptive algorithm to find optimal threshold over simulations
Augustin Degomme [Tue, 23 Sep 2014 13:33:41 +0000 (15:33 +0200)]
use barrier from the active selector for replay
Augustin Degomme [Tue, 23 Sep 2014 12:33:22 +0000 (14:33 +0200)]
same issue with java bindings without NDEBUG
Augustin Degomme [Tue, 23 Sep 2014 07:37:47 +0000 (09:37 +0200)]
use _XBT_GNUC_UNUSED instead of previous buggy fix.
Thanks agier for the report
Augustin Degomme [Tue, 23 Sep 2014 07:33:12 +0000 (09:33 +0200)]
Revert "Don't use variables only for asserts."
This reverts commit
c63217359371b823ac279159633e66bc0ea8bb6f.
Augustin Degomme [Mon, 22 Sep 2014 13:22:24 +0000 (15:22 +0200)]
Don't use variables only for asserts.
When enable_debug is turned to off, they become unused and induce warnings/errors
Augustin Degomme [Mon, 22 Sep 2014 13:17:05 +0000 (15:17 +0200)]
NDEBUG was not used on C++ files when enable_debug was set to 0
Augustin Degomme [Mon, 22 Sep 2014 09:20:43 +0000 (11:20 +0200)]
Fix failing tests when enable_debug is not activated.
Adds an alternative tesh file for logs
Augustin Degomme [Mon, 22 Sep 2014 08:43:42 +0000 (10:43 +0200)]
Fix Cmake warnings/errors since Cmake versions > 2.8.12
Augustin Degomme [Fri, 19 Sep 2014 14:29:15 +0000 (16:29 +0200)]
[xbt/surf] Change the costly heapremove+heapinsert used in share resource lazy algorithm.
Add a xbt_heap_update function, to set a new value for a element in the heap
Augustin Degomme [Fri, 19 Sep 2014 08:03:01 +0000 (10:03 +0200)]
fix reduce_scatter ompi
Augustin Degomme [Wed, 17 Sep 2014 21:11:56 +0000 (23:11 +0200)]
Win build does not support mmap, or shared_malloc
Augustin Degomme [Wed, 17 Sep 2014 16:32:05 +0000 (18:32 +0200)]
Always build Fortran bindings..
They are in C, they don't need Fortran compiler, and if we release the built library, we want them.
And also it fixes the build, broken since my last commit ..
Augustin Degomme [Wed, 17 Sep 2014 14:55:38 +0000 (16:55 +0200)]
Implement MPI_*_c2f MPI_*_f2c functions
Actually they were already implemented but with another name, make them public..
Augustin Degomme [Wed, 17 Sep 2014 11:57:10 +0000 (13:57 +0200)]
missing include
Augustin Degomme [Wed, 17 Sep 2014 08:56:34 +0000 (10:56 +0200)]
put back sleep time before actual send and recv.
Augustin Degomme [Tue, 16 Sep 2014 12:44:57 +0000 (14:44 +0200)]
doc update
Augustin Degomme [Tue, 16 Sep 2014 12:44:45 +0000 (14:44 +0200)]
don't set knomial factor for reduce, have it be computed at runtime
Augustin Degomme [Tue, 16 Sep 2014 12:44:12 +0000 (14:44 +0200)]
add one algo to the list
Gabriel Corona [Tue, 16 Sep 2014 07:44:29 +0000 (09:44 +0200)]
[mc] Add a (compile time) option for content addressage page store
With a simple hash, we expect collision to happen: when inserting a
new page in the store, each stored page with the same hash is compared
(memcmp-ed) with the current page. If a page already present is
inserted, the content of the stored page is always pulled in the
cache: when inserting n pages, into the page store at least 2×n pages
are pulled in the cache.
With this option, a collision-free fingerprint of each page is
computed. As there is no collision, we do not have to check the
content of the stored pages. MD4 is used as we do not need security
against malicious users and it is much faster than more sescure
cryptographic hashes.
Augustin Degomme [Mon, 15 Sep 2014 09:23:13 +0000 (11:23 +0200)]
Fix bug in addtests macros.
Variables are global in Cmake, and ARGR was used int two different macros, resulting in tests being executed will all factories activated..
In the end only Thread factory seems to have been tested in the last few months ...
Augustin Degomme [Fri, 12 Sep 2014 08:36:50 +0000 (10:36 +0200)]
Fix issue with precision in
394ea1fb (on 32 bits platforms mainly)
Augustin Degomme [Thu, 11 Sep 2014 16:14:59 +0000 (18:14 +0200)]
requalify tesh
Augustin Degomme [Thu, 11 Sep 2014 16:08:58 +0000 (18:08 +0200)]
Fix order of mailbox checking
Some messages were not assigned correctly. This is still a mess.
Augustin Degomme [Thu, 11 Sep 2014 15:01:04 +0000 (17:01 +0200)]
no \n in debug messages
Augustin Degomme [Thu, 11 Sep 2014 12:37:32 +0000 (14:37 +0200)]
fix build
Augustin Degomme [Thu, 11 Sep 2014 12:24:28 +0000 (14:24 +0200)]
enable by default asynchronous sends for small messages in mpich teshsuite.
Augustin Degomme [Thu, 11 Sep 2014 12:23:29 +0000 (14:23 +0200)]
remove useless flag in tests
Augustin Degomme [Thu, 11 Sep 2014 12:23:10 +0000 (14:23 +0200)]
test for replay - enabling buffer sharing by default when replaying
Only one algo for now, maybe more later
Augustin Degomme [Thu, 11 Sep 2014 12:16:26 +0000 (14:16 +0200)]
Fix bug in lmm_solve, which triggered incorrect die_impossible situation
Copyright alvin 2014
Augustin Degomme [Thu, 11 Sep 2014 08:58:19 +0000 (10:58 +0200)]
Fix bug in SMPI with permanent receive mode.
Receive can be posted with a size exceding the asynchronous threshold, while corresponding send was posted with a smaller size.
This is legal in MPI, but caused SMPI to put one request in the large mailbox and the other one in the small mailbox, thus preventing matching of messages, and causing deadlocks
Probing is used now, in order to try to match a message in the other mailbox before the actual operation.
Augustin Degomme [Thu, 11 Sep 2014 08:55:48 +0000 (10:55 +0200)]
update algo
Augustin Degomme [Thu, 11 Sep 2014 08:55:41 +0000 (10:55 +0200)]
forgotten include file
Augustin Degomme [Thu, 11 Sep 2014 12:31:10 +0000 (14:31 +0200)]
resolve conflict
Augustin Degomme [Thu, 11 Sep 2014 08:53:11 +0000 (10:53 +0200)]
change iprobe in order to allow probing on outgoing communications (has the receive already been posted)
Augustin Degomme [Fri, 5 Sep 2014 09:13:47 +0000 (11:13 +0200)]
Add a little hack to have replay + SMP collectives
The problem was that having replay active did make SMPI skip all buffer copies.
But in this function we actually need the data exchanged between processes.
So we temporary tell SimGrid it is not replaying, here.
Augustin Degomme [Thu, 4 Sep 2014 16:38:33 +0000 (18:38 +0200)]
leak --
Augustin Degomme [Thu, 4 Sep 2014 16:37:43 +0000 (18:37 +0200)]
don't use calloc for these buffers
Initializing them to 0 made them use physical memory, while letting them uninitialized, (and unused as in replay we may not need them) puts them in virtual memory
Augustin Degomme [Thu, 4 Sep 2014 15:47:08 +0000 (17:47 +0200)]
avoid warnings (and errors) without debug enabled
Augustin Degomme [Wed, 3 Sep 2014 08:45:20 +0000 (10:45 +0200)]
warning --
Augustin Degomme [Tue, 2 Sep 2014 14:05:35 +0000 (16:05 +0200)]
update replay tesh
Augustin Degomme [Tue, 2 Sep 2014 14:05:27 +0000 (16:05 +0200)]
have replay use correct algorithm selection logic. Some of them did use only default algos.
Gabriel Corona [Thu, 11 Sep 2014 10:10:56 +0000 (12:10 +0200)]
[smpi] Restore privatisation mapping smpi_execute()
smpi_execute() calls a the host_execution simcall which might generate
a process switch. After this, we might not have the correct SMPI
privatisation region: we have to rectore it. The correct privatisation
mapping is needed by some code between smpi_bench_end() and
smpi_bench_begin().
Gabriel Corona [Thu, 11 Sep 2014 08:16:56 +0000 (10:16 +0200)]
[smpi] Fix typo when fixing memory allocation (again)
Gabriel Corona [Thu, 11 Sep 2014 08:00:06 +0000 (10:00 +0200)]
[smpi] Fix typo when fixing memory allocation
Marion Guthmuller [Tue, 9 Sep 2014 12:49:28 +0000 (14:49 +0200)]
model-checker : disable smpi bench timer if MC enabled
Gabriel Corona [Fri, 5 Sep 2014 09:48:31 +0000 (11:48 +0200)]
[smpi] Change parallel arrays into array of structs
Gabriel Corona [Fri, 5 Sep 2014 09:32:21 +0000 (11:32 +0200)]
[smpi] Simplify code for SMPI privatisation
Gabriel Corona [Fri, 5 Sep 2014 09:26:44 +0000 (11:26 +0200)]
[smpi] Use SMPI namespace for some public variables/functions
Gabriel Corona [Tue, 2 Sep 2014 12:01:18 +0000 (14:01 +0200)]
Avoid tautological-compare
Clang complains about tautological compare: it seems an unsigned
integer is always non-negative.
Gabriel Corona [Tue, 2 Sep 2014 11:29:28 +0000 (13:29 +0200)]
[smpi] Allow zero-sized custom datatypes with MPI_Type_contiguous()
MPI_Type_contiguous(0, oldtype, newtype) is valid in MPI but SMPI does
not accept it as the resulting datatype is considered invalid: SMPI
does not accept datatypes with size of 0. Fix the datatype validation
function in order to accept this.
This type of datatype is used in bcastzerotype.
bcast-NTSL is fixed as well (division by zero).
Gabriel Corona [Fri, 29 Aug 2014 10:31:11 +0000 (12:31 +0200)]
Merge branch 'mc'
Gabriel Corona [Fri, 29 Aug 2014 10:25:27 +0000 (12:25 +0200)]
[mc] Fix smpi_process_index_of_smx_process()
The SMPI process ID is simply the SIMIX PID - 1. The previous solution
(getting the data field of the SIMIX process) was mostly correct but
the 'data' field was not initally set to the SMPI process data
structure (but was NULL).
Gabriel Corona [Fri, 29 Aug 2014 08:54:30 +0000 (10:54 +0200)]
Make the cast explicit in smpi_process_index_of_smx_process()
When getting the SMPI process data from a SIMIX process a cast is done
from void* to smpi_process_data_t. Make it explicit.
Gabriel Corona [Fri, 29 Aug 2014 08:52:14 +0000 (10:52 +0200)]
[mc] Initalize the SMPI options before creating the processes
This is necessary because the MC code handling the creation of
processes needs to be aware of the SMPI options. This look like a huge
mix of the different layers (SMPI, MC, SIMIX).
Augustin Degomme [Thu, 28 Aug 2014 13:26:15 +0000 (15:26 +0200)]
Add a xbt wrapper for simcall_mutex_trylock (asked in [#17878])
Augustin Degomme [Thu, 28 Aug 2014 13:02:39 +0000 (15:02 +0200)]
remove outdated paragraph in faq
Augustin Degomme [Thu, 28 Aug 2014 13:01:10 +0000 (15:01 +0200)]
add mention of valgrind and gdb in documentation of context factories
Augustin Degomme [Thu, 28 Aug 2014 12:39:02 +0000 (14:39 +0200)]
warning --
Augustin Degomme [Thu, 28 Aug 2014 12:33:45 +0000 (14:33 +0200)]
bring back network model updateActionsStateFull function. network/optim:Full option should work again
It was previously returning an unimplemented exception