Gabriel Corona [Thu, 6 Nov 2014 11:49:45 +0000 (12:49 +0100)]
[mc] Add MC_dump_stacks
Augustin Degomme [Thu, 6 Nov 2014 10:15:25 +0000 (11:15 +0100)]
forgot copyright info at some point ... shame
Augustin Degomme [Thu, 6 Nov 2014 10:07:42 +0000 (11:07 +0100)]
uncomment some calls to free
Augustin Degomme [Thu, 6 Nov 2014 10:07:01 +0000 (11:07 +0100)]
Add mpi_info support for rma calls
Augustin Degomme [Wed, 5 Nov 2014 12:02:46 +0000 (13:02 +0100)]
this test should now work with out-of-source builds
Augustin Degomme [Tue, 4 Nov 2014 14:07:12 +0000 (15:07 +0100)]
replace xbt_dynar_member by xbt_dynar_search_or_negative in this test.
There is a weird bug with xbt_dynar_member on some systems.
When an exception is raised, backtracking mechanism of libc6 can cause segfaults (and valgrind complains quite a lot, even on systems where it does not crash)
Is this related to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735090 ?
example obtained stack
Invalid read of size 4
at 0x476E383: backtrace (backtrace.c:141)
by 0x43DC03B: xbt_backtrace_current (backtrace_linux.c:84)
by 0x43DB200: xbt_dynar_search (dynar.c:474)
by 0x43DB31F: xbt_dynar_member (dynar.c:511)
by 0x80494A3: test_launcher (host_on_off_processes.c:35)
by 0x43C889E: smx_ctx_sysv_wrapper (smx_context_sysv.c:187)
by 0x46B2BDA: makecontext (makecontext.S:87)
As functionality is the same, using the exception-less version of xbt_dynar_member should avoid the problem, until we find out more about it
Gabriel Corona [Tue, 4 Nov 2014 11:09:07 +0000 (12:09 +0100)]
[mc] Fix FD checkpoint/restore
Marion Guthmuller [Tue, 4 Nov 2014 10:49:32 +0000 (11:49 +0100)]
model-checker : comment debug printf
Marion Guthmuller [Tue, 4 Nov 2014 10:39:56 +0000 (11:39 +0100)]
model-checker : save and restore file descriptors
Augustin Degomme [Tue, 4 Nov 2014 09:20:04 +0000 (10:20 +0100)]
deactivate test that actually needs MPI_Type_get_envelope
Augustin Degomme [Tue, 4 Nov 2014 08:51:04 +0000 (09:51 +0100)]
cleanup after martin's cleanup
Martin Quinson [Mon, 3 Nov 2014 19:57:26 +0000 (20:57 +0100)]
clean after augustin ;)
Martin Quinson [Mon, 3 Nov 2014 19:56:26 +0000 (20:56 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Mon, 3 Nov 2014 19:54:19 +0000 (20:54 +0100)]
fix the tesh of one last command
Thanks adsein for all your great work on these points.
Augustin Degomme [Mon, 3 Nov 2014 16:48:02 +0000 (17:48 +0100)]
changelog update
Augustin Degomme [Mon, 3 Nov 2014 16:47:06 +0000 (17:47 +0100)]
Add preliminary support for MPI_Pack, MPI_Pack_size, and MPI_Unpack.
Activate tests for these functions. Somes cases with too complex imbricated datatypes are not supported (yet).
Augustin Degomme [Mon, 3 Nov 2014 14:37:58 +0000 (15:37 +0100)]
fix compilation without mpich3 testsuite
Augustin Degomme [Mon, 3 Nov 2014 14:13:40 +0000 (15:13 +0100)]
update gitignore and changelog
Martin Quinson [Mon, 3 Nov 2014 15:26:01 +0000 (16:26 +0100)]
revalidate yet another tesh output
I also changed the outputs done by the program to ease the life of tesh.
Martin Quinson [Mon, 3 Nov 2014 14:03:56 +0000 (15:03 +0100)]
revalidate another tesh file
Martin Quinson [Mon, 3 Nov 2014 13:38:15 +0000 (14:38 +0100)]
revalidate a tesh output
Augustin Degomme [Mon, 3 Nov 2014 13:05:39 +0000 (14:05 +0100)]
Add mpich3 tests for MPI_Info calls.
As expected, the get_nthkey does not behave as expected, and it won't.
Augustin Degomme [Mon, 3 Nov 2014 13:04:13 +0000 (14:04 +0100)]
Add MPI_Info_* support.
This adds MPI_Info_create, MPI_Info_free, MPI_Info_get, MPI_Info_dup, MPI_Info_delete, MPI_Info_get_nkeys, MPI_Info_get_nthkey, MPI_Info_get_valuelen functions.
This is just basically a xbt dict wrapper.
We may have issues with the get_nthkey, as the xbt dict does not really keep the order.. but this mpi call is hum ... stupid? aniway.
Gabriel Corona [Mon, 3 Nov 2014 12:36:21 +0000 (13:36 +0100)]
[mc] Fix the previous stack-cleaning optimisation
Gabriel Corona [Mon, 3 Nov 2014 12:04:18 +0000 (13:04 +0100)]
[mc] Do nto clean the main stack
We only need to clean the stacks of the application processes.
Otherwise, we spend a *lot* of time cleaniong the stack in the MC code
which slows SimGridMC a lot and is useless anyway.
The way we check if we need to clean the stack is currently quite
haskish and could be improved.
Gabriel Corona [Tue, 7 Oct 2014 09:26:45 +0000 (11:26 +0200)]
[mc] Add stack-cleaning compiler wrappers
This compiler wrappers clear each satck frame before using it in order
to avoid issues with unitialized variables in SimGridMC state
comparison.
Compiling with those compiler is much slower.
Martin Quinson [Mon, 3 Nov 2014 00:45:55 +0000 (01:45 +0100)]
Remove some most simcall HEADERs
Martin Quinson [Sun, 2 Nov 2014 23:42:58 +0000 (00:42 +0100)]
[popping] allow to omit the handler
simcalls handlers are good to get extra arguments from the simcall
(such as the issuer) or to check the parameters, but when there is no
such thing to do, they just load the picture for nothing.
Martin Quinson [Sun, 2 Nov 2014 23:05:23 +0000 (00:05 +0100)]
document my recent changes in simix
Martin Quinson [Sun, 2 Nov 2014 22:58:33 +0000 (23:58 +0100)]
rename smx_action_t to smx_synchro_t
This is an old idea, that I want to implement since at least 3 years.
It removes an ambiguity with surf_action_t, and makes it explicit that
these things are a way to synchronize the processes with their
environment.
Martin Quinson [Sun, 2 Nov 2014 17:57:44 +0000 (18:57 +0100)]
better handling of blocking simcalls in the generated popping
Blocking simcalls were marked as simcalls returning void. Being
explicit helps in that obscure part of the code.
Martin Quinson [Sun, 2 Nov 2014 01:34:04 +0000 (02:34 +0100)]
some more cosmetics in the popping generator
Martin Quinson [Sun, 2 Nov 2014 01:23:31 +0000 (02:23 +0100)]
Generate automatically the simcall_HANDLER_* prototypes
- Writing this code manually was burdensome
- This allows to check that the definition in simcall.in actually
match the handler prototype (safer as we are casting wildly)
- This allows to detect (and destroy) some now unused simcalls
Martin Quinson [Sun, 2 Nov 2014 00:33:54 +0000 (01:33 +0100)]
kill dead code
Martin Quinson [Sun, 2 Nov 2014 00:32:06 +0000 (01:32 +0100)]
[popping] cosmetics in doc and generator
Martin Quinson [Sun, 2 Nov 2014 00:18:26 +0000 (01:18 +0100)]
rename all SIMIX_pre_* to simcall_HANDLER_*
This is consistant with simcall_BODY_*, and more explicit
Martin Quinson [Sun, 2 Nov 2014 00:03:04 +0000 (01:03 +0100)]
Rename smx_user to libsmx (to mimick libc/smx)
Martin Quinson [Sat, 1 Nov 2014 23:39:08 +0000 (00:39 +0100)]
finish the s/smurf/popping/ renaming
Actually, that strange dance is called Popping in English and Smurf
only in French :)
Martin Quinson [Sat, 1 Nov 2014 23:30:34 +0000 (00:30 +0100)]
improve a bit the documentation of popping, and align code with doc
Martin Quinson [Sat, 1 Nov 2014 23:11:00 +0000 (00:11 +0100)]
make smx_popping_bodies.c parsable by eclipse (kinda)
Martin Quinson [Sat, 1 Nov 2014 23:02:41 +0000 (00:02 +0100)]
cosmetics in the popping generator
Martin Quinson [Sat, 1 Nov 2014 22:57:30 +0000 (23:57 +0100)]
typo
Martin Quinson [Sat, 1 Nov 2014 22:37:46 +0000 (23:37 +0100)]
kill dead code
Martin Quinson [Sat, 1 Nov 2014 22:28:24 +0000 (23:28 +0100)]
further simplification of the popping in simix
Martin Quinson [Sat, 1 Nov 2014 21:25:06 +0000 (22:25 +0100)]
Remove the 'TUTORIAL: New API' chunks
This loads the code, and I'm not sure that it is of any help,
actually. Adding a new API is rather uncommon, and the existing ones
are clean enough to serve as an example, nowadays.
Martin Quinson [Sat, 1 Nov 2014 21:14:30 +0000 (22:14 +0100)]
rename a generated file involved in the kernel popping
Martin Quinson [Sat, 1 Nov 2014 20:52:42 +0000 (21:52 +0100)]
kill dead code
Gabriel Corona [Fri, 31 Oct 2014 15:09:04 +0000 (16:09 +0100)]
[mc] Split config code into mc_config.c
Gabriel Corona [Fri, 31 Oct 2014 12:37:45 +0000 (13:37 +0100)]
[mc] Make MC_resolve_subtype() and MC_resolve_subtype() static functions of mc_dwarf.c
Those functions belong to the mc_dwarf.c layer and are only used there
anyway. Move them here, mark them as static in order to reduce the
number of exported symbols and reduce the cross-layers dependencies.
degomme [Fri, 31 Oct 2014 10:36:40 +0000 (11:36 +0100)]
small correction
degomme [Fri, 31 Oct 2014 10:28:09 +0000 (11:28 +0100)]
provide user-friendly errors when replay encounters a badly formatted line.
Avoids segfaults in this case
degomme [Thu, 30 Oct 2014 16:58:20 +0000 (17:58 +0100)]
Somehow .. we forgot to replay allgather.
degomme [Thu, 30 Oct 2014 16:58:00 +0000 (17:58 +0100)]
root should be optional for gather replay (as it is everywhere else)
degomme [Thu, 30 Oct 2014 15:23:10 +0000 (16:23 +0100)]
Add tracing for RMA calls
degomme [Thu, 30 Oct 2014 14:56:48 +0000 (15:56 +0100)]
previous commit was a mistake. Handle the case more gracefully.
Augustin Degomme [Thu, 30 Oct 2014 13:48:55 +0000 (14:48 +0100)]
don't push null request back in the dynar
Augustin Degomme [Wed, 29 Oct 2014 16:17:44 +0000 (17:17 +0100)]
we should not set error flag when wait or test is called with a null request.
This is explicitly allowed by the standard.
Augustin Degomme [Wed, 29 Oct 2014 15:48:24 +0000 (16:48 +0100)]
avoid code duplication that lead to out-of-date fortran mpi_init_thread
Gabriel Corona [Thu, 30 Oct 2014 11:30:33 +0000 (12:30 +0100)]
[mc] Document/simplify MC_request_is_enabled()
Gabriel Corona [Thu, 30 Oct 2014 09:59:26 +0000 (10:59 +0100)]
[mc] Simplify mc_update_comm_pattern
Gabriel Corona [Tue, 28 Oct 2014 15:40:31 +0000 (16:40 +0100)]
[mc] DRY with mc_update_comm_pattern() (broken)
Gabriel Corona [Tue, 28 Oct 2014 15:30:06 +0000 (16:30 +0100)]
[mc] DRY by adding get_call_type()
Gabriel Corona [Tue, 28 Oct 2014 13:53:07 +0000 (14:53 +0100)]
[mc] Try to DRY in MC main loops
degomme [Wed, 29 Oct 2014 14:08:13 +0000 (15:08 +0100)]
add a (unused) fortran datatype for compilation of recent bigdft
degomme [Wed, 29 Oct 2014 10:17:08 +0000 (11:17 +0100)]
somehow we forgot MPI_REAL datatype C-fortran compatibility
etortilopez [Wed, 22 Oct 2014 13:46:28 +0000 (15:46 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
etortilopez [Wed, 22 Oct 2014 13:46:20 +0000 (15:46 +0200)]
using walltimer in adaptive algorithm
Augustin Degomme [Tue, 21 Oct 2014 12:27:28 +0000 (14:27 +0200)]
doc update
Augustin Degomme [Tue, 21 Oct 2014 12:21:15 +0000 (14:21 +0200)]
Apply patch suggested by fabien Chaix. This avoids issues with reqq being deleted in replay waitall
This also removes the MPI barrier in replay finalize, which was not needed anymore
Augustin Degomme [Fri, 17 Oct 2014 13:07:21 +0000 (15:07 +0200)]
Loooong due Changelog update
Augustin Degomme [Fri, 17 Oct 2014 11:29:08 +0000 (13:29 +0200)]
Add option to configure the factors used for IB model
Gabriel Corona [Fri, 17 Oct 2014 12:50:21 +0000 (14:50 +0200)]
[smpi+mc] When restoring a snapshot, always remap the SMPI privatisation segment
After restoring the global variables in a snapshot, the global
variable containing the currently active SMPI privatization segment is
overwritten. As a consequence, the segment SMPI thinks active might be
inconsistent with the currently active segment (which the kernels
knows about).
In this case, we want to remap the segment regardless of what SMPI
thinks.
We might be more clever to avoid unecessary segment switch if the
segment which is really mapped is the same as the one we want.
Augustin Degomme [Thu, 16 Oct 2014 14:02:09 +0000 (16:02 +0200)]
really fix dist
Augustin Degomme [Thu, 16 Oct 2014 13:55:09 +0000 (15:55 +0200)]
fix dist
Augustin Degomme [Thu, 16 Oct 2014 13:50:09 +0000 (15:50 +0200)]
Change verbosity of debug messages
Augustin Degomme [Thu, 16 Oct 2014 11:35:26 +0000 (13:35 +0200)]
Add a new Infiniband network model, based on the works of Jerome Vienne.
This computes penalties on communications to account for the slowdowns experimented on real systems, and modeled by jerome
check http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf for details
known issue: doesn't work yet with permanent receive mode, as some surf actions are not released properly
Augustin Degomme [Tue, 14 Oct 2014 12:24:22 +0000 (14:24 +0200)]
Add a safe version of lmm_get_var_from_cnst to avoid looping forever when iterating on a dynar we reorder dynamically
Gabriel Corona [Thu, 16 Oct 2014 12:59:46 +0000 (14:59 +0200)]
Remove irrelevant API documentation
Martin Quinson [Wed, 15 Oct 2014 15:26:29 +0000 (17:26 +0200)]
disable clang on travis
Martin Quinson [Wed, 15 Oct 2014 15:16:46 +0000 (17:16 +0200)]
don't test if we cant build
Martin Quinson [Wed, 15 Oct 2014 15:13:58 +0000 (17:13 +0200)]
because we need noise on IRC
Martin Quinson [Wed, 15 Oct 2014 15:00:53 +0000 (17:00 +0200)]
add a little link to travis status from the README
Martin Quinson [Wed, 15 Oct 2014 14:58:40 +0000 (16:58 +0200)]
sharing config between travis and jenkins seems non-trivial
Martin Quinson [Wed, 15 Oct 2014 14:16:20 +0000 (16:16 +0200)]
tell travis which config to test
Martin Quinson [Wed, 15 Oct 2014 14:08:56 +0000 (16:08 +0200)]
we need doxygen, and I fail to see who's creating the VERSION file
Martin Quinson [Wed, 15 Oct 2014 14:00:12 +0000 (16:00 +0200)]
try to use the jenkins on travis too
Martin Quinson [Wed, 15 Oct 2014 13:55:21 +0000 (15:55 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 15 Oct 2014 13:55:11 +0000 (15:55 +0200)]
I'm not sure of why flexml generated a different flex file, but the content seems ok too
Martin Quinson [Wed, 15 Oct 2014 13:43:33 +0000 (15:43 +0200)]
test if I can write a little travis config file
etortilopez [Mon, 13 Oct 2014 14:10:22 +0000 (16:10 +0200)]
better estimate of window for adaptive algorithm
Lucas Mello Schnorr [Mon, 13 Oct 2014 10:59:24 +0000 (07:59 -0300)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Lucas Mello Schnorr [Mon, 13 Oct 2014 10:59:05 +0000 (07:59 -0300)]
PJ_value_get assumes value exists, this is not the case here so fix it
Hard-coded colors:
- see comments in the code
Gabriel Corona [Mon, 13 Oct 2014 09:55:31 +0000 (11:55 +0200)]
[mmalloc] Expand the junkarea
In some cases (Fortran + Clang compilation) this is needed. We nee to
fix this more cleanly.
Gabriel Corona [Mon, 13 Oct 2014 09:37:45 +0000 (11:37 +0200)]
[mc] Add support for DW_OP_regN locaitions from DW_AT_frame_base
Fix DWARF based introspecion support when compiling with LLVM.
Gabriel Corona [Mon, 13 Oct 2014 09:13:15 +0000 (11:13 +0200)]
[mc] Prepare support for register location in DWARF location expression evaluation code
This is needed in order to support this:
DW_AT_frame_base : 1 byte block: 56 (DW_OP_reg6 (rbp))
Gabriel Corona [Mon, 13 Oct 2014 08:08:36 +0000 (10:08 +0200)]
[mmalloc] Fix junkarea handling in free
The call free(junkarea) was broken and was trying to delegate to
mmalloc instead of using junkarea.
Because of this libsimgrid broken when compiling with LLVM with
mmalloc support.
Martin Quinson [Sat, 11 Oct 2014 22:17:13 +0000 (00:17 +0200)]
try to simplify the way simcalls are generated
Martin Quinson [Sat, 11 Oct 2014 21:02:09 +0000 (23:02 +0200)]
kill dead code
Martin Quinson [Sat, 11 Oct 2014 20:59:04 +0000 (22:59 +0200)]
ask swig to please doxygen. Tools will drive me nuts
Martin Quinson [Sat, 11 Oct 2014 20:54:27 +0000 (22:54 +0200)]
ignore more cruft