X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/485c4c59b9732bf889f8d564038cd38b055245c4..a73d204e173f35c0abb92b26e061929066b8b283:/src/plugins/host_energy.cpp diff --git a/src/plugins/host_energy.cpp b/src/plugins/host_energy.cpp index 772d5b75a0..46c48c2e6f 100644 --- a/src/plugins/host_energy.cpp +++ b/src/plugins/host_energy.cpp @@ -245,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 @@ -340,10 +340,11 @@ void HostEnergy::init_watts_range_list() boost::split(all_power_values, old_prop, boost::is_any_of(",")); xbt_assert(all_power_values.size() == (unsigned)host_->get_pstate_count(), - "Invalid XML file. Found %lu energetic profiles for %d pstates", - all_power_values.size(), host_->get_pstate_count()); + "Invalid XML file. Found %zu energetic profiles for %d pstates", all_power_values.size(), + host_->get_pstate_count()); - std::string msg = std::string("DEPRECATION WARNING: Property 'watt_per_state' will not work after v3.28.\n"); + // XBT_ATTRIB_DEPRECATED_v327: puting this macro name here so that we find it during the deprecation cleanups of v3.28 + std::string msg = std::string("DEPRECATION WARNING: Property 'watt_per_state' will only work until v3.28.\n"); msg += std::string("The old syntax 'Idle:OneCore:AllCores' must be converted into 'Idle:Epsilon:AllCores' to " "properly model the consumption of non-whole tasks on mono-core hosts. Here are the values to " "use for host '") + @@ -359,8 +360,6 @@ void HostEnergy::init_watts_range_list() double p_epsilon; if (current_power_values.size() == 3) { - p_idle = xbt_str_parse_double((current_power_values.at(0)).c_str(), - "Invalid obsolete XML file. Fix your watt_per_state property."); p_one_core = xbt_str_parse_double((current_power_values.at(1)).c_str(), "Invalid obsolete XML file. Fix your watt_per_state property."); p_full = xbt_str_parse_double((current_power_values.at(2)).c_str(), @@ -371,8 +370,6 @@ void HostEnergy::init_watts_range_list() p_epsilon = p_one_core - ((p_full - p_one_core) / (host_->get_core_count() - 1)); } } else { // consuption given with idle and full only - p_idle = xbt_str_parse_double((current_power_values.at(0)).c_str(), - "Invalid obsolete XML file. Fix your watt_per_state property."); p_full = xbt_str_parse_double((current_power_values.at(1)).c_str(), "Invalid obsolete XML file. Fix your watt_per_state property."); if (host_->get_core_count() == 1) { @@ -410,8 +407,8 @@ void HostEnergy::init_watts_range_list() XBT_DEBUG("%s: power properties: %s", host_->get_cname(), all_power_values_str); xbt_assert(all_power_values.size() == (unsigned)host_->get_pstate_count(), - "Invalid XML file. Found %lu energetic profiles for %d pstates", - all_power_values.size(), host_->get_pstate_count()); + "Invalid XML file. Found %zu energetic profiles for %d pstates", all_power_values.size(), + host_->get_pstate_count()); int i = 0; for (auto const& current_power_values_str : all_power_values) { @@ -599,7 +596,6 @@ double sg_host_get_consumed_energy(sg_host_t host) /** @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) { @@ -618,6 +614,9 @@ double sg_host_get_idle_consumption_at(sg_host_t host, int pstate) return host->extension()->get_watt_idle_at(pstate); } +/** @ingroup plugin_host_energy + * @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) { xbt_assert(HostEnergy::EXTENSION_ID.valid(),