X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bdaaac614d1bb0ee8e034fa76862068d57e362ee..693f30b46244c152cd79cdf3ad35d4a79b866c9c:/examples/msg/pmm/msg_pmm.c diff --git a/examples/msg/pmm/msg_pmm.c b/examples/msg/pmm/msg_pmm.c index 0cdf4d930f..6ff6d1ac7a 100644 --- a/examples/msg/pmm/msg_pmm.c +++ b/examples/msg/pmm/msg_pmm.c @@ -8,15 +8,27 @@ #include "msg/msg.h" #include "xbt/matrix.h" #include "xbt/log.h" + +// #define BENCH_THIS_CODE /* Will only work from within the source tree as we require xbt/xbt_os_time.h, that is not public yet) */ +#ifdef BENCH_THIS_CODE #include "xbt/xbt_os_time.h" +#endif + +/** @addtogroup MSG_examples + * + * - pmm/msg_pmm.c: Parallel Matrix Multiplication is a little + * application. This is something that most MPI developper have + * written during their class, here implemented using MSG instead + * of MPI. + */ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_pmm, "Messages specific for this msg example"); /* This example should always be executed using a deployment of * GRID_SIZE * GRID_SIZE nodes. */ -#define GRID_SIZE 3 /* Modify to adjust the grid's size */ -#define NODE_MATRIX_SIZE 300 /* Ammount of work done by each node*/ +#define GRID_SIZE 3 /* Modify to adjust the grid's size */ +#define NODE_MATRIX_SIZE 300 /* Ammount of work done by each node*/ #define GRID_NUM_NODES GRID_SIZE * GRID_SIZE #define MATRIX_SIZE NODE_MATRIX_SIZE * GRID_SIZE @@ -244,23 +256,28 @@ static void task_cleanup(void *arg){ */ int main(int argc, char *argv[]) { +#ifdef BENCH_THIS_CODE xbt_os_timer_t timer = xbt_os_timer_new(); +#endif - MSG_global_init(&argc, argv); + MSG_init(&argc, argv); char **options = &argv[1]; const char* platform_file = options[0]; const char* application_file = options[1]; - MSG_set_channel_number(0); MSG_create_environment(platform_file); MSG_function_register("node", node); MSG_launch_application(application_file); +#ifdef BENCH_THIS_CODE xbt_os_timer_start(timer); +#endif MSG_error_t res = MSG_main(); +#ifdef BENCH_THIS_CODE xbt_os_timer_stop(timer); +#endif XBT_CRITICAL("Simulated time: %g", MSG_get_clock()); MSG_clean();