Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / smpi / smpi_dvfs.cpp
index c5d9142..efd24c3 100644 (file)
@@ -4,10 +4,15 @@
 /* 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 "simgrid/plugins/energy.h" // FIXME: this plugin should be separated from the core
-#include "xbt/log.h"
-#include "simgrid/simix.h"
-#include "smpi/smpi.h"
+#include <xbt/log.h>
+
+// FIXME: this plugin should be separated from the core
+#include <simgrid/plugins/energy.h>
+#include <simgrid/simix.h>
+#include <simgrid/s4u/host.hpp>
+
+#include <smpi/smpi.h>
+
 #include "src/internal_config.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi, "Logging specific to SMPI (experimental DVFS support)");
@@ -20,7 +25,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi, "Logging specific to SMPI (expe
  */
 double smpi_get_host_power_peak_at(int pstate_index)
 {
-  return simcall_host_get_power_peak_at(SIMIX_host_self(), pstate_index);
+  return SIMIX_host_self()->getPstateSpeed(pstate_index);
 }
 
 /**
@@ -28,15 +33,15 @@ double smpi_get_host_power_peak_at(int pstate_index)
  *
  * \return Returns the current processor speed
  */
-double smpi_get_host_current_power_peak(void)
+double smpi_get_host_current_power_peak()
 {
-  return simcall_host_get_current_power_peak(SIMIX_host_self());
+  return SIMIX_host_self()->getPstateSpeedCurrent();
 }
 
 /**
  * \brief Return the number of pstates defined for the current host
  */
-int smpi_get_host_nb_pstates(void)
+int smpi_get_host_nb_pstates()
 {
   return sg_host_get_nb_pstates(SIMIX_host_self());
 }
@@ -50,11 +55,7 @@ void smpi_set_host_pstate(int pstate_index)
 {
   sg_host_set_pstate(SIMIX_host_self(), pstate_index);
 }
-/**
- * \brief Gets the pstate at which the processor currently running
- *
- * \param pstate_index pstate to switch to
- */
+/** @brief Gets the pstate at which the processor currently running */
 int smpi_get_host_pstate() {
   return sg_host_get_pstate(SIMIX_host_self());
 }
@@ -64,7 +65,7 @@ int smpi_get_host_pstate() {
  *
  * \return Returns the consumed energy
  */
-double smpi_get_host_consumed_energy(void) {
+double smpi_get_host_consumed_energy() {
   return sg_host_get_consumed_energy(SIMIX_host_self());
 }
 
@@ -81,37 +82,43 @@ typedef char *address;
 typedef short int shortint;
 typedef float real;
 typedef double doublereal;
-typedef struct { real r, i; } complex;
-typedef struct { doublereal r, i; } doublecomplex;
+typedef struct {
+  real r;
+  real i;
+} complex;
+typedef struct {
+  doublereal r;
+  doublereal i;
+} doublecomplex;
 
 extern "C" XBT_PUBLIC(doublereal) smpi_get_host_power_peak_at_(integer *pstate_index);
 doublereal smpi_get_host_power_peak_at_(integer *pstate_index)
 {
-  return (doublereal)smpi_get_host_power_peak_at((int)*pstate_index);
+  return static_cast<doublereal>(smpi_get_host_power_peak_at((int)*pstate_index));
 }
 
-extern "C" XBT_PUBLIC(doublereal) smpi_get_host_current_power_peak_(void);
-doublereal smpi_get_host_current_power_peak_(void)
+extern "C" XBT_PUBLIC(doublereal) smpi_get_host_current_power_peak_();
+doublereal smpi_get_host_current_power_peak_()
 {
   return smpi_get_host_current_power_peak();
 }
 
-extern "C" XBT_PUBLIC(integer) smpi_get_host_nb_pstates_(void);
-integer smpi_get_host_nb_pstates_(void)
+extern "C" XBT_PUBLIC(integer) smpi_get_host_nb_pstates_();
+integer smpi_get_host_nb_pstates_()
 {
-  return (integer)smpi_get_host_nb_pstates();
+  return static_cast<integer>(smpi_get_host_nb_pstates());
 }
 
 extern "C" XBT_PUBLIC(void) smpi_set_host_pstate_(integer *pstate_index);
 void smpi_set_host_pstate_(integer *pstate_index)
 {
-  smpi_set_host_pstate((int)*pstate_index);
+  smpi_set_host_pstate(static_cast<int>(*pstate_index));
 }
 
-extern "C" XBT_PUBLIC(doublereal) smpi_get_host_consumed_energy_(void);
-doublereal smpi_get_host_consumed_energy_(void)
+extern "C" XBT_PUBLIC(doublereal) smpi_get_host_consumed_energy_();
+doublereal smpi_get_host_consumed_energy_()
 {
-  return (doublereal)smpi_get_host_consumed_energy();
+  return static_cast<doublereal>(smpi_get_host_consumed_energy());
 }
 
 #endif