#include "mc/mc.h"
#include "surf/surf.h"
#include "simix/smx_private.h"
+#include "simgrid/sg_config.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_kernel, smpi,
/* With smpiff, the following weak symbols are replaced by those in libf2c */
int __attribute__((weak)) xargc;
char** __attribute__((weak)) xargv;
+void __attribute__((weak)) user_main__(){
+ xbt_die("Should not be in this smpi_simulated_main");
+ return;
+}
int __attribute__((weak)) smpi_simulated_main__(int argc, char** argv) {
- xbt_die("Should not be in this smpi_simulated_main");
- return 1;
+ smpi_process_init(&argc, &argv);
+ user_main__();
+ //xbt_die("Should not be in this smpi_simulated_main");
+ return 0;
}
int __attribute__((weak)) main(int argc, char** argv) {
}
/* Connect log categories. See xbt/log.c */
- XBT_LOG_CONNECT(smpi); /* Keep this line as soon as possible in this function: xbt_log_appender_file.c depends on it
- DO NOT connect this in XBT or so, or it will be useless to xbt_log_appender_file.c */
+ XBT_LOG_CONNECT(smpi); /* Keep this line as soon as possible in this
+ function: xbt_log_appender_file.c depends on it
+ DO NOT connect this in XBT or so, or it will be
+ useless to xbt_log_appender_file.c */
+#ifdef HAVE_TRACING
+ XBT_LOG_CONNECT(instr_smpi);
+#endif
XBT_LOG_CONNECT(smpi_base);
XBT_LOG_CONNECT(smpi_bench);
XBT_LOG_CONNECT(smpi_coll);
#ifdef HAVE_TRACING
TRACE_global_init(&argc, argv);
+
+ TRACE_add_start_function(TRACE_smpi_alloc);
+ TRACE_add_end_function(TRACE_smpi_release);
#endif
SIMIX_global_init(&argc, argv);
else
SIMIX_run();
- if (surf_cfg_get_int("smpi/display_timing"))
+ if (sg_cfg_get_int("smpi/display_timing"))
XBT_INFO("Simulation time: %g seconds.", SIMIX_get_clock());
smpi_global_destroy();