Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups and simplifications to our build system
[simgrid.git] / src / surf / surf_interface.cpp
index 6de2b62..db8618d 100644 (file)
@@ -99,9 +99,7 @@ xbt_dict_t watched_hosts_lib;
 surf_callback(void, void) surfExitCallbacks;
 
 s_surf_model_description_t surf_plugin_description[] = {
-    {"Energy",
-     "Cpu energy consumption.",
-     sg_energy_plugin_init},
+    {"Energy", "Cpu energy consumption.", sg_energy_plugin_init},
      {NULL, NULL,  NULL}      /* this array must be NULL terminated */
 };
 
@@ -117,6 +115,9 @@ s_surf_model_description_t surf_network_model_description[] = {
   {"SMPI",
    "Realistic network model specifically tailored for HPC settings (accurate modeling of slow start with correction factors on three intervals: < 1KiB, < 64 KiB, >= 64 KiB)",
    surf_network_model_init_SMPI},
+  {"IB",
+   "Realistic network model specifically tailored for HPC settings, with Infiniband contention model",
+   surf_network_model_init_IB},
   {"CM02",
    "Legacy network analytic model (Very similar to LV08, but without corrective factors. The timings of small messages are thus poorly modeled).",
    surf_network_model_init_CM02},
@@ -421,10 +422,8 @@ void surf_init(int *argc, char **argv)
   if (!history)
     history = tmgr_history_new();
 
-#ifdef HAVE_TRACING
   TRACE_add_start_function(TRACE_surf_alloc);
   TRACE_add_end_function(TRACE_surf_release);
-#endif
 
   sg_config_init(argc, argv);
 
@@ -437,10 +436,8 @@ void surf_exit(void)
   unsigned int iter;
   ModelPtr model = NULL;
 
-#ifdef HAVE_TRACING
   TRACE_end();                  /* Just in case it was not called by the upper
                                  * layer (or there is no upper layer) */
-#endif
 
   sg_config_finalize();
 
@@ -790,9 +787,7 @@ void Action::initialize(ModelPtr model, double cost, bool failed,
 Action::Action(ModelPtr model, double cost, bool failed)
 {
   initialize(model, cost, failed);
-  #ifdef HAVE_TRACING
-    p_category = NULL;
-  #endif
+  p_category = NULL;
   p_stateHookup.prev = 0;
   p_stateHookup.next = 0;
   if (failed)
@@ -806,9 +801,7 @@ Action::Action(ModelPtr model, double cost, bool failed)
 Action::Action(ModelPtr model, double cost, bool failed, lmm_variable_t var)
 {
   initialize(model, cost, failed, var);
-  #ifdef HAVE_TRACING
-    p_category = NULL;
-  #endif
+  p_category = NULL;
   p_stateHookup.prev = 0;
   p_stateHookup.next = 0;
   if (failed)
@@ -820,9 +813,7 @@ Action::Action(ModelPtr model, double cost, bool failed, lmm_variable_t var)
 }
 
 Action::~Action() {
-#ifdef HAVE_TRACING
   xbt_free(p_category);
-#endif
 }
 
 void Action::finish() {
@@ -872,7 +863,7 @@ void Action::setBound(double bound)
 {
   XBT_IN("(%p,%g)", this, bound);
   if (p_variable)
-    lmm_update_variable_bound(getModel()->getMaxminSystem(), getVariable(), bound);
+    lmm_update_variable_bound(getModel()->getMaxminSystem(), p_variable, bound);
 
   if (getModel()->getUpdateMechanism() == UM_LAZY && getLastUpdate()!=surf_get_clock())
     heapRemove(getModel()->getActionHeap());
@@ -895,14 +886,12 @@ void Action::setData(void* data)
   p_data = data;
 }
 
-#ifdef HAVE_TRACING
 void Action::setCategory(const char *category)
 {
   XBT_IN("(%p,%s)", this, category);
   p_category = xbt_strdup(category);
   XBT_OUT();
 }
-#endif
 
 void Action::ref(){
   m_refcount++;
@@ -1067,12 +1056,10 @@ void Action::updateRemainingLazy(double now)
     XBT_DEBUG("Updating action(%p): remains was %f, last_update was: %f", this, m_remains, m_lastUpdate);
     double_update(&m_remains, m_lastValue * delta, sg_surf_precision*sg_maxmin_precision);
 
-#ifdef HAVE_TRACING
     if (getModel() == surf_cpu_model_pm && TRACE_is_enabled()) {
       ResourcePtr cpu = static_cast<ResourcePtr>(lmm_constraint_id(lmm_get_cnst_from_var(getModel()->getMaxminSystem(), getVariable(), 0)));
       TRACE_surf_host_set_utilization(cpu->getName(), getCategory(), m_lastValue, m_lastUpdate, now - m_lastUpdate);
     }
-#endif
     XBT_DEBUG("Updating action(%p): remains is now %f", this, m_remains);
   }