/* 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)");
*/
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);
}
/**
*
* \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());
}
{
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());
}
*
* \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());
}
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