Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
9 years agoAdd mpich3 tests for MPI_Info calls.
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.

9 years agoAdd MPI_Info_* support.
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.

9 years ago[mc] Fix the previous stack-cleaning optimisation
Gabriel Corona [Mon, 3 Nov 2014 12:36:21 +0000 (13:36 +0100)]
[mc] Fix the previous stack-cleaning optimisation

9 years ago[mc] Do nto clean the main stack
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.

9 years ago[mc] Add stack-cleaning compiler wrappers
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.

9 years agoRemove some most simcall HEADERs
Martin Quinson [Mon, 3 Nov 2014 00:45:55 +0000 (01:45 +0100)]
Remove some most simcall HEADERs

9 years ago[popping] allow to omit the handler
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.

9 years agodocument my recent changes in simix
Martin Quinson [Sun, 2 Nov 2014 23:05:23 +0000 (00:05 +0100)]
document my recent changes in simix

9 years agorename smx_action_t to smx_synchro_t
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.

9 years agobetter handling of blocking simcalls in the generated popping
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.

9 years agosome more cosmetics in the popping generator
Martin Quinson [Sun, 2 Nov 2014 01:34:04 +0000 (02:34 +0100)]
some more cosmetics in the popping generator

9 years agoGenerate automatically the simcall_HANDLER_* prototypes
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

9 years agokill dead code
Martin Quinson [Sun, 2 Nov 2014 00:33:54 +0000 (01:33 +0100)]
kill dead code

9 years ago[popping] cosmetics in doc and generator
Martin Quinson [Sun, 2 Nov 2014 00:32:06 +0000 (01:32 +0100)]
[popping] cosmetics in doc and generator

9 years agorename all SIMIX_pre_* to simcall_HANDLER_*
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

9 years agoRename smx_user to libsmx (to mimick libc/smx)
Martin Quinson [Sun, 2 Nov 2014 00:03:04 +0000 (01:03 +0100)]
Rename smx_user to libsmx (to mimick libc/smx)

9 years agofinish the s/smurf/popping/ renaming
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 :)

9 years agoimprove a bit the documentation of popping, and align code with doc
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

9 years agomake smx_popping_bodies.c parsable by eclipse (kinda)
Martin Quinson [Sat, 1 Nov 2014 23:11:00 +0000 (00:11 +0100)]
make smx_popping_bodies.c parsable by eclipse (kinda)

9 years agocosmetics in the popping generator
Martin Quinson [Sat, 1 Nov 2014 23:02:41 +0000 (00:02 +0100)]
cosmetics in the popping generator

9 years agotypo
Martin Quinson [Sat, 1 Nov 2014 22:57:30 +0000 (23:57 +0100)]
typo

9 years agokill dead code
Martin Quinson [Sat, 1 Nov 2014 22:37:46 +0000 (23:37 +0100)]
kill dead code

9 years agofurther simplification of the popping in simix
Martin Quinson [Sat, 1 Nov 2014 22:28:24 +0000 (23:28 +0100)]
further simplification of the popping in simix

9 years agoRemove the 'TUTORIAL: New API' chunks
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.

9 years agorename a generated file involved in the kernel popping
Martin Quinson [Sat, 1 Nov 2014 21:14:30 +0000 (22:14 +0100)]
rename a generated file involved in the kernel popping

9 years agokill dead code
Martin Quinson [Sat, 1 Nov 2014 20:52:42 +0000 (21:52 +0100)]
kill dead code

9 years ago[mc] Split config code into mc_config.c
Gabriel Corona [Fri, 31 Oct 2014 15:09:04 +0000 (16:09 +0100)]
[mc] Split config code into mc_config.c

9 years ago[mc] Make MC_resolve_subtype() and MC_resolve_subtype() static functions of mc_dwarf.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.

9 years agosmall correction
degomme [Fri, 31 Oct 2014 10:36:40 +0000 (11:36 +0100)]
small correction

9 years agoprovide user-friendly errors when replay encounters a badly formatted line.
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

9 years agoSomehow .. we forgot to replay allgather.
degomme [Thu, 30 Oct 2014 16:58:20 +0000 (17:58 +0100)]
Somehow .. we forgot to replay allgather.

9 years agoroot should be optional for gather replay (as it is everywhere else)
degomme [Thu, 30 Oct 2014 16:58:00 +0000 (17:58 +0100)]
root should be optional for gather replay (as it is everywhere else)

9 years agoAdd tracing for RMA calls
degomme [Thu, 30 Oct 2014 15:23:10 +0000 (16:23 +0100)]
Add tracing for RMA calls

9 years agoprevious commit was a mistake. Handle the case more gracefully.
degomme [Thu, 30 Oct 2014 14:56:48 +0000 (15:56 +0100)]
previous commit was a mistake. Handle the case more gracefully.

9 years agodon't push null request back in the dynar
Augustin Degomme [Thu, 30 Oct 2014 13:48:55 +0000 (14:48 +0100)]
don't push null request back in the dynar

9 years agowe should not set error flag when wait or test is called with a null request.
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.

9 years agoavoid code duplication that lead to out-of-date fortran mpi_init_thread
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

9 years ago[mc] Document/simplify MC_request_is_enabled()
Gabriel Corona [Thu, 30 Oct 2014 11:30:33 +0000 (12:30 +0100)]
[mc] Document/simplify MC_request_is_enabled()

9 years ago[mc] Simplify mc_update_comm_pattern
Gabriel Corona [Thu, 30 Oct 2014 09:59:26 +0000 (10:59 +0100)]
[mc] Simplify mc_update_comm_pattern

9 years ago[mc] DRY with mc_update_comm_pattern() (broken)
Gabriel Corona [Tue, 28 Oct 2014 15:40:31 +0000 (16:40 +0100)]
[mc] DRY with mc_update_comm_pattern() (broken)

9 years ago[mc] DRY by adding get_call_type()
Gabriel Corona [Tue, 28 Oct 2014 15:30:06 +0000 (16:30 +0100)]
[mc] DRY by adding get_call_type()

9 years ago[mc] Try to DRY in MC main loops
Gabriel Corona [Tue, 28 Oct 2014 13:53:07 +0000 (14:53 +0100)]
[mc] Try to DRY in MC main loops

9 years agoadd a (unused) fortran datatype for compilation of recent bigdft
degomme [Wed, 29 Oct 2014 14:08:13 +0000 (15:08 +0100)]
add a (unused) fortran datatype for compilation of recent bigdft

9 years agosomehow we forgot MPI_REAL datatype C-fortran compatibility
degomme [Wed, 29 Oct 2014 10:17:08 +0000 (11:17 +0100)]
somehow we forgot MPI_REAL datatype C-fortran compatibility

9 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
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

9 years agousing walltimer in adaptive algorithm
etortilopez [Wed, 22 Oct 2014 13:46:20 +0000 (15:46 +0200)]
using walltimer in adaptive algorithm

9 years agodoc update
Augustin Degomme [Tue, 21 Oct 2014 12:27:28 +0000 (14:27 +0200)]
doc update

9 years agoApply patch suggested by fabien Chaix. This avoids issues with reqq being deleted...
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

9 years agoLoooong due Changelog update
Augustin Degomme [Fri, 17 Oct 2014 13:07:21 +0000 (15:07 +0200)]
Loooong due Changelog update

9 years agoAdd option to configure the factors used for IB model
Augustin Degomme [Fri, 17 Oct 2014 11:29:08 +0000 (13:29 +0200)]
Add option to configure the factors used for IB model

9 years ago[smpi+mc] When restoring a snapshot, always remap the SMPI privatisation segment
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.

9 years agoreally fix dist
Augustin Degomme [Thu, 16 Oct 2014 14:02:09 +0000 (16:02 +0200)]
really fix dist

9 years agofix dist
Augustin Degomme [Thu, 16 Oct 2014 13:55:09 +0000 (15:55 +0200)]
fix dist

9 years agoChange verbosity of debug messages
Augustin Degomme [Thu, 16 Oct 2014 13:50:09 +0000 (15:50 +0200)]
Change verbosity of debug messages

9 years agoAdd a new Infiniband network model, based on the works of Jerome Vienne.
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

9 years agoAdd a safe version of lmm_get_var_from_cnst to avoid looping forever when iterating...
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

9 years agoRemove irrelevant API documentation
Gabriel Corona [Thu, 16 Oct 2014 12:59:46 +0000 (14:59 +0200)]
Remove irrelevant API documentation

9 years agodisable clang on travis
Martin Quinson [Wed, 15 Oct 2014 15:26:29 +0000 (17:26 +0200)]
disable clang on travis

9 years agodon't test if we cant build
Martin Quinson [Wed, 15 Oct 2014 15:16:46 +0000 (17:16 +0200)]
don't test if we cant build

9 years agobecause we need noise on IRC
Martin Quinson [Wed, 15 Oct 2014 15:13:58 +0000 (17:13 +0200)]
because we need noise on IRC

9 years agoadd a little link to travis status from the README
Martin Quinson [Wed, 15 Oct 2014 15:00:53 +0000 (17:00 +0200)]
add a little link to travis status from the README

9 years agosharing config between travis and jenkins seems non-trivial
Martin Quinson [Wed, 15 Oct 2014 14:58:40 +0000 (16:58 +0200)]
sharing config between travis and jenkins seems non-trivial

9 years agotell travis which config to test
Martin Quinson [Wed, 15 Oct 2014 14:16:20 +0000 (16:16 +0200)]
tell travis which config to test

9 years agowe need doxygen, and I fail to see who's creating the VERSION file
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

9 years agotry to use the jenkins on travis too
Martin Quinson [Wed, 15 Oct 2014 14:00:12 +0000 (16:00 +0200)]
try to use the jenkins on travis too

9 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 15 Oct 2014 13:55:21 +0000 (15:55 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

9 years agoI'm not sure of why flexml generated a different flex file, but the content seems...
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

9 years agotest if I can write a little travis config file
Martin Quinson [Wed, 15 Oct 2014 13:43:33 +0000 (15:43 +0200)]
test if I can write a little travis config file

9 years agobetter estimate of window for adaptive algorithm
etortilopez [Mon, 13 Oct 2014 14:10:22 +0000 (16:10 +0200)]
better estimate of window for adaptive algorithm

9 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
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

9 years agoPJ_value_get assumes value exists, this is not the case here so fix it
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

9 years ago[mmalloc] Expand the junkarea
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.

9 years ago[mc] Add support for DW_OP_regN locaitions from DW_AT_frame_base
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.

9 years ago[mc] Prepare support for register location in DWARF location expression evaluation...
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))

9 years ago[mmalloc] Fix junkarea handling in free
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.

9 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Adrien Lebre [Sun, 12 Oct 2014 16:00:07 +0000 (18:00 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

9 years agoStill looking for the pending bug :( (turning on/off a node during a migration is...
Adrien Lebre [Sun, 12 Oct 2014 15:59:53 +0000 (17:59 +0200)]
Still looking for the pending bug :( (turning on/off a node during a migration is still not robust :() - adrien

9 years agoFix getName issue - Adrien
Adrien Lebre [Sun, 12 Oct 2014 15:49:57 +0000 (17:49 +0200)]
Fix getName issue - Adrien

9 years agotry to simplify the way simcalls are generated
Martin Quinson [Sat, 11 Oct 2014 22:17:13 +0000 (00:17 +0200)]
try to simplify the way simcalls are generated

9 years agokill dead code
Martin Quinson [Sat, 11 Oct 2014 21:02:09 +0000 (23:02 +0200)]
kill dead code

9 years agoask swig to please doxygen. Tools will drive me nuts
Martin Quinson [Sat, 11 Oct 2014 20:59:04 +0000 (22:59 +0200)]
ask swig to please doxygen. Tools will drive me nuts

9 years agoignore more cruft
Martin Quinson [Sat, 11 Oct 2014 20:54:27 +0000 (22:54 +0200)]
ignore more cruft

9 years agorename SIMIX_simcall_{pre,post} to SIMIX_simcall_{enter,exit}
Martin Quinson [Sat, 11 Oct 2014 20:47:30 +0000 (22:47 +0200)]
rename SIMIX_simcall_{pre,post} to SIMIX_simcall_{enter,exit}

9 years agoensure that the generated files are autonomous and not included within another file
Martin Quinson [Sat, 11 Oct 2014 20:04:34 +0000 (22:04 +0200)]
ensure that the generated files are autonomous and not included within another file

9 years agoplease doxygen keep calm
Martin Quinson [Sat, 11 Oct 2014 20:02:34 +0000 (22:02 +0200)]
please doxygen keep calm

9 years agothat file was seriously outdated
Martin Quinson [Thu, 9 Oct 2014 23:15:32 +0000 (01:15 +0200)]
that file was seriously outdated

9 years agomake my previous commit also compile under MC (sorry)
Martin Quinson [Thu, 9 Oct 2014 23:08:53 +0000 (01:08 +0200)]
make my previous commit also compile under MC (sorry)

9 years agoour usage of doxygen is improvable
Martin Quinson [Thu, 9 Oct 2014 22:54:02 +0000 (00:54 +0200)]
our usage of doxygen is improvable

9 years agouse an automatic table of contents instead of a manual one
Martin Quinson [Thu, 9 Oct 2014 22:34:10 +0000 (00:34 +0200)]
use an automatic table of contents instead of a manual one

9 years agoMake it much easier to follow control flow through simix
Martin Quinson [Thu, 9 Oct 2014 22:30:45 +0000 (00:30 +0200)]
Make it much easier to follow control flow through simix

One of the main difficulty in navigating the source code when debuging
was to find your way from MSG to SURF, through SIMIX. The simcall
mechanism really breaks the flow.

The solution is to add a dummy call to the simcall body, such as:
    if (0) SIMIX_pre_host_off(&self->simcall, host);

With the "if (0)", it will be cut at compilation and have no impact on
the code behavior. But you can go to that function in eclipse, press
F3 and you are within the kernel now. No need to grep your way around.

9 years agook eclipse, change your config file yourself, you're big enough
Martin Quinson [Thu, 9 Oct 2014 22:27:41 +0000 (00:27 +0200)]
ok eclipse, change your config file yourself, you're big enough

9 years agoignore more cruft
Martin Quinson [Thu, 9 Oct 2014 22:27:13 +0000 (00:27 +0200)]
ignore more cruft

9 years agotry to have valid chunks in generated files to please eclipse
Martin Quinson [Thu, 9 Oct 2014 21:29:50 +0000 (23:29 +0200)]
try to have valid chunks in generated files to please eclipse

9 years agoAllow to recreate VMs in a better way (I guess)
Martin Quinson [Thu, 9 Oct 2014 21:07:29 +0000 (23:07 +0200)]
Allow to recreate VMs in a better way (I guess)

Instead of removing the VM from the host_lib (and potentially create
issues at the routing level), test whether it exists in the VM layer
before whining that we cannot redo it.

9 years agoRemove VMs from the lib of existing hosts so that they can be recreated
Martin Quinson [Thu, 9 Oct 2014 19:59:19 +0000 (21:59 +0200)]
Remove VMs from the lib of existing hosts so that they can be recreated

9 years agoadd parenthesis to shut up a useless warning
Martin Quinson [Thu, 9 Oct 2014 19:26:07 +0000 (21:26 +0200)]
add parenthesis to shut up a useless warning

9 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Adrien Lebre [Thu, 9 Oct 2014 16:31:29 +0000 (18:31 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

9 years agoone more test for the migration - adrien
Adrien Lebre [Thu, 9 Oct 2014 16:31:26 +0000 (18:31 +0200)]
one more test for the migration - adrien

9 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 9 Oct 2014 15:59:08 +0000 (17:59 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

Conflicts:
src/bindings/java/smx_context_java.c

9 years agofix msg_host_is_avai... in msg_host_is_on - adrien
Adrien Lebre [Thu, 9 Oct 2014 15:49:41 +0000 (17:49 +0200)]
fix msg_host_is_avai... in msg_host_is_on - adrien