]> AND Public Git Repository - simgrid.git/blobdiff - src/simix/smx_host.c
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into mc-process
[simgrid.git] / src / simix / smx_host.c
index 30043b08f4fd65d347c3df9b15afecf651e993c5..be58fe500e862894f2487d2e4c59a6e1cde18b8f 100644 (file)
@@ -363,7 +363,7 @@ void SIMIX_host_autorestart(smx_host_t host)
 }
 
 smx_synchro_t SIMIX_host_execute(const char *name,
-    smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask){
+    smx_host_t host, double flops_amount, double priority, double bound, unsigned long affinity_mask){
 
   /* alloc structures and initialize */
   smx_synchro_t synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
@@ -371,15 +371,12 @@ smx_synchro_t SIMIX_host_execute(const char *name,
   synchro->name = xbt_strdup(name);
   synchro->state = SIMIX_RUNNING;
   synchro->execution.host = host;
-
-#ifdef HAVE_TRACING
   synchro->category = NULL;
-#endif
 
   /* set surf's action */
-  if (!MC_is_active()) {
+  if (!MC_is_active() && !MC_record_replay_is_active()) {
 
-    synchro->execution.surf_exec = surf_workstation_execute(host, computation_amount);
+    synchro->execution.surf_exec = surf_workstation_execute(host, flops_amount);
     surf_action_set_data(synchro->execution.surf_exec, synchro);
     surf_action_set_priority(synchro->execution.surf_exec, priority);
 
@@ -405,7 +402,7 @@ smx_synchro_t SIMIX_host_execute(const char *name,
 
 smx_synchro_t SIMIX_host_parallel_execute(const char *name,
     int host_nb, smx_host_t *host_list,
-    double *computation_amount, double *communication_amount,
+    double *flops_amount, double *bytes_amount,
     double amount, double rate){
 
   void **workstation_list = NULL;
@@ -417,10 +414,7 @@ smx_synchro_t SIMIX_host_parallel_execute(const char *name,
   synchro->name = xbt_strdup(name);
   synchro->state = SIMIX_RUNNING;
   synchro->execution.host = NULL; /* FIXME: do we need the list of hosts? */
-
-#ifdef HAVE_TRACING
   synchro->category = NULL;
-#endif
 
   /* set surf's synchro */
   workstation_list = xbt_new0(void *, host_nb);
@@ -441,10 +435,10 @@ smx_synchro_t SIMIX_host_parallel_execute(const char *name,
   }
 
   /* set surf's synchro */
-  if (!MC_is_active()) {
+  if (!MC_is_active() && !MC_record_replay_is_active()) {
     synchro->execution.surf_exec =
       surf_workstation_model_execute_parallel_task((surf_workstation_model_t)surf_workstation_model,
-                 host_nb, workstation_list, computation_amount, communication_amount, rate);
+                 host_nb, workstation_list, flops_amount, bytes_amount, rate);
 
     surf_action_set_data(synchro->execution.surf_exec, synchro);
   }
@@ -515,7 +509,7 @@ void simcall_HANDLER_host_execution_wait(smx_simcall_t simcall, smx_synchro_t sy
   simcall->issuer->waiting_synchro = synchro;
 
   /* set surf's synchro */
-  if (MC_is_active()) {
+  if (MC_is_active() || MC_record_replay_is_active()) {
     synchro->state = SIMIX_DONE;
     SIMIX_execution_finish(synchro);
     return;
@@ -610,7 +604,6 @@ void SIMIX_post_host_execute(smx_synchro_t synchro)
 }
 
 
-#ifdef HAVE_TRACING
 void SIMIX_set_category(smx_synchro_t synchro, const char *category)
 {
   if (synchro->state != SIMIX_RUNNING) return;
@@ -620,7 +613,6 @@ void SIMIX_set_category(smx_synchro_t synchro, const char *category)
     surf_action_set_category(synchro->comm.surf_comm, category);
   }
 }
-#endif
 
 /**
  * \brief Function to get the parameters of the given the SIMIX host.