Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove features marked with DEPRECATED_v324.
[simgrid.git] / src / smpi / internals / smpi_dvfs.cpp
index 85a4cc1..1347c24 100644 (file)
 
 #include "src/internal_config.h"
 
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi, "Logging specific to SMPI (experimental DVFS support)");
+#if SMPI_FORTRAN
+
+// FIXME: rework these bindings, or kill them completely
+
+#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
+typedef int integer;
+#else
+typedef long int integer;
+#endif
+typedef double doublereal;
 
 /**
  * @brief Return the speed of the processor (in flop/s) at a given pstate
@@ -22,9 +31,10 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi, "Logging specific to SMPI (expe
  * @param pstate_index pstate to test
  * @return Returns the processor speed associated with pstate_index
  */
-double smpi_get_host_power_peak_at(int pstate_index)
+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 sg_host_self()->get_pstate_speed(pstate_index);
+  return static_cast<doublereal>(sg_host_self()->get_pstate_speed(static_cast<int>(*pstate_index)));
 }
 
 /**
@@ -32,17 +42,19 @@ double smpi_get_host_power_peak_at(int pstate_index)
  *
  * @return Returns the current processor speed
  */
-double smpi_get_host_current_power_peak()
+extern "C" XBT_PUBLIC doublereal smpi_get_host_current_power_peak_();
+doublereal smpi_get_host_current_power_peak_()
 {
-  return sg_host_self()->get_speed();
+  return static_cast<doublereal>(sg_host_self()->get_speed());
 }
 
 /**
  * @brief Return the number of pstates defined for the current host
  */
-int smpi_get_host_nb_pstates()
+extern "C" XBT_PUBLIC integer smpi_get_host_nb_pstates_();
+integer smpi_get_host_nb_pstates_()
 {
-  return sg_host_get_nb_pstates(sg_host_self());
+  return static_cast<integer>(sg_host_self()->get_pstate_count());
 }
 
 /**
@@ -50,57 +62,25 @@ int smpi_get_host_nb_pstates()
  *
  * @param pstate_index pstate to switch to
  */
-void smpi_set_host_pstate(int pstate_index)
+extern "C" XBT_PUBLIC void smpi_set_host_pstate_(integer* pstate_index);
+void smpi_set_host_pstate_(integer *pstate_index)
 {
-  sg_host_set_pstate(sg_host_self(), pstate_index);
-}
-/** @brief Gets the pstate at which the processor currently running */
-int smpi_get_host_pstate() {
-  return sg_host_get_pstate(sg_host_self());
+  sg_host_set_pstate(sg_host_self(), (static_cast<int>(*pstate_index)));
 }
 
+/**
+ * @brief Gets the pstate at which the processor currently running
+ */
+extern "C" XBT_PUBLIC integer smpi_get_host_pstate_();
+integer smpi_get_host_pstate_()
+{
+  return static_cast<integer>(sg_host_get_pstate(sg_host_self()));
+}
 /**
  * @brief Return the total energy consumed by a host (in Joules)
  *
  * @return Returns the consumed energy
  */
-double smpi_get_host_consumed_energy() {
-  return sg_host_get_consumed_energy(sg_host_self());
-}
-
-#if SMPI_FORTRAN
-
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
-typedef int integer;
-#else
-typedef long int integer;
-#endif
-typedef double doublereal;
-
-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 static_cast<doublereal>(sg_host_self()->get_pstate_speed((int)*pstate_index));
-}
-
-extern "C" XBT_PUBLIC doublereal smpi_get_host_current_power_peak_();
-doublereal smpi_get_host_current_power_peak_()
-{
-  return sg_host_self()->get_speed();
-}
-
-extern "C" XBT_PUBLIC integer smpi_get_host_nb_pstates_();
-integer smpi_get_host_nb_pstates_()
-{
-  return static_cast<integer>(sg_host_self()->get_pstate_count());
-}
-
-extern "C" XBT_PUBLIC void smpi_set_host_pstate_(integer* pstate_index);
-void smpi_set_host_pstate_(integer *pstate_index)
-{
-  sg_host_set_pstate(sg_host_self(), (static_cast<int>(*pstate_index)));
-}
-
 extern "C" XBT_PUBLIC doublereal smpi_get_host_consumed_energy_();
 doublereal smpi_get_host_consumed_energy_()
 {