Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Added MPI_CHAR to predefined reduce operations (not in the standard, but convenient...
[simgrid.git] / src / smpi / smpi_global.c
index 9a277df..6c9f390 100644 (file)
@@ -1,7 +1,14 @@
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+  * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include <stdint.h>
 
 #include "private.h"
 #include "smpi_mpi_dt_private.h"
+#include "mc/mc.h"
 
 XBT_LOG_NEW_CATEGORY(smpi, "All SMPI categories");
 
@@ -176,8 +183,16 @@ int main(int argc, char **argv)
                    "Minimal computation time (in seconds) not discarded.",
                    xbt_cfgelm_double, &default_threshold, 1, 1, NULL, NULL);
 
+#ifdef HAVE_TRACING
+  TRACE_global_init (&argc, argv);
+#endif
+
   SIMIX_global_init(&argc, argv);
 
+#ifdef HAVE_TRACING
+  TRACE_smpi_start ();
+#endif
+
   // parse the platform file: get the host list
   SIMIX_create_environment(argv[1]);
 
@@ -191,7 +206,12 @@ int main(int argc, char **argv)
   fflush(stderr);
   SIMIX_init();
 
-  while (SIMIX_solve(NULL, NULL) != -1.0);
+#ifdef HAVE_MC
+  if (_surf_do_model_check)
+    MC_modelcheck(1);
+  else
+#endif
+    while (SIMIX_solve(NULL, NULL) != -1.0);
 
   if (xbt_cfg_get_int(_surf_cfg_set, "smpi/display_timing"))
     INFO1("simulation time %g", SIMIX_get_clock());
@@ -200,6 +220,10 @@ int main(int argc, char **argv)
 
   SIMIX_message_sizes_output("toto.txt");
 
+#ifdef HAVE_TRACING
+  TRACE_smpi_end ();
+#endif
+
   SIMIX_clean();
   return 0;
 }