A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[Energy] cosmetics and comments
[simgrid.git]
/
src
/
plugins
/
host_energy.cpp
diff --git
a/src/plugins/host_energy.cpp
b/src/plugins/host_energy.cpp
index
b596892
..
0c31528
100644
(file)
--- a/
src/plugins/host_energy.cpp
+++ b/
src/plugins/host_energy.cpp
@@
-226,7
+226,6
@@
double HostEnergy::get_watt_idle_at(int pstate)
{
xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s",
host_->get_cname());
-
return power_range_watts_list_[pstate].idle_;
}
@@
-246,9
+245,9
@@
double HostEnergy::get_watt_max_at(int pstate)
double HostEnergy::get_power_range_slope_at(int pstate)
{
-
xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s",
-
host_->get_cname());
-
return power_range_watts_list_[pstate].slope_;
+ xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s",
+ host_->get_cname());
+ return power_range_watts_list_[pstate].slope_;
}
/** @brief Computes the power consumed by the host according to the current situation
@@
-394,9
+393,17
@@
void HostEnergy::init_watts_range_list()
XBT_WARN("%s", msg.c_str());
return;
}
+
const char* all_power_values_str = host_->get_property("wattage_per_state");
- if (all_power_values_str == nullptr)
+ if (all_power_values_str == nullptr) {
+ /* If no power values are given, we assume it's 0 everywhere */
+ XBT_DEBUG("No energetic profiles given for host %s, using 0 W by default.", host_->get_cname());
+ for (int i = 0; i < host_->get_pstate_count(); ++i) {
+ PowerRange range(0,0,0);
+ power_range_watts_list_.push_back(range);
+ }
return;
+ }
std::vector<std::string> all_power_values;
boost::split(all_power_values, all_power_values_str, boost::is_any_of(","));
@@
-590,10
+597,21
@@
double sg_host_get_consumed_energy(sg_host_t host)
return host->extension<HostEnergy>()->get_consumed_energy();
}
+/** @ingroup plugin_host_energy
+ * @brief Get the amount of watt dissipated when the host is idling
+ * This function is deprecated and will not work after v3.27. Use sg_host_get_idle_consumption_at instead.
+ */
+double sg_host_get_idle_consumption(sg_host_t host)
+{
+ xbt_assert(HostEnergy::EXTENSION_ID.valid(),
+ "The Energy plugin is not active. Please call sg_host_energy_plugin_init() during initialization.");
+ return host->extension<HostEnergy>()->get_watt_idle_at(0);
+}
+
/** @ingroup plugin_host_energy
* @brief Get the amount of watt dissipated at the given pstate when the host is idling
*/
-double sg_host_get_
wattidle
_at(sg_host_t host, int pstate)
+double sg_host_get_
idle_consumption
_at(sg_host_t host, int pstate)
{
xbt_assert(HostEnergy::EXTENSION_ID.valid(),
"The Energy plugin is not active. Please call sg_host_energy_plugin_init() during initialization.");
@@
-601,7
+619,7
@@
double sg_host_get_wattidle_at(sg_host_t host, int pstate)
}
/** @ingroup plugin_host_energy
- * @brief Get the amount of watt dissipated at the given pstate when the host is
idling
+ * @brief Get the amount of watt dissipated at the given pstate when the host is
at 0 or epsilon% CPU usage.
*/
double sg_host_get_wattmin_at(sg_host_t host, int pstate)
{