Skip to content

Commit

Permalink
Correctly use resolution factor.
Browse files Browse the repository at this point in the history
  • Loading branch information
breyerml committed Aug 16, 2024
1 parent 220985f commit 03b6436
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/hardware_sampling/gpu_amd/hardware_sampler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,11 @@ void gpu_amd_hardware_sampler::sampling_loop() {

// queried samples -> retrieved every iteration if available
[[maybe_unused]] std::uint64_t timestamp{};
[[maybe_unused]] float resolution{};
float resolution{};
decltype(power_samples_.power_total_energy_consumption_)::value_type::value_type power_total_energy_consumption{};
if (rsmi_dev_energy_count_get(device_id_, &power_total_energy_consumption, &resolution, &timestamp) == RSMI_STATUS_SUCCESS) { // TODO: returns the same value for all invocations
power_samples_.power_total_energy_consumption_ = decltype(power_samples_.power_total_energy_consumption_)::value_type{ power_total_energy_consumption };
const double scaled_value = static_cast<double>(power_total_energy_consumption) * static_cast<double>(resolution);
power_samples_.power_total_energy_consumption_ = decltype(power_samples_.power_total_energy_consumption_)::value_type{ static_cast<decltype(power_total_energy_consumption)>(scaled_value) };
}
}

Expand Down Expand Up @@ -505,10 +506,11 @@ void gpu_amd_hardware_sampler::sampling_loop() {

if (power_samples_.power_total_energy_consumption_.has_value()) {
[[maybe_unused]] std::uint64_t timestamp{};
[[maybe_unused]] float resolution{};
float resolution{};
decltype(power_samples_.power_total_energy_consumption_)::value_type::value_type value{};
HWS_ROCM_SMI_ERROR_CHECK(rsmi_dev_energy_count_get(device_id_, &value, &resolution, &timestamp)); // TODO: returns the same value for all invocations
power_samples_.power_total_energy_consumption_->push_back(value);
const double scaled_value = static_cast<double>(value) * static_cast<double>(resolution);
power_samples_.power_total_energy_consumption_->push_back(static_cast<decltype(value)>(scaled_value));
}

if (power_samples_.power_profile_.has_value()) {
Expand Down

0 comments on commit 03b6436

Please sign in to comment.