Skip to content

Commit 906acec

Browse files
committed
test: Add CTS for Sysman Freq & Power telemetry collection Overhead
Related-To: VLCLJ-2294 Signed-off-by: B, Vishnu Khanth <[email protected]>
1 parent 82ff3e1 commit 906acec

File tree

6 files changed

+56
-44
lines changed

6 files changed

+56
-44
lines changed

conformance_tests/sysman/test_sysman_frequency/src/test_sysman_frequency.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -779,10 +779,7 @@ TEST_F(
779779
if (count > 0) {
780780
freq_handles_available = true;
781781
auto start = std::chrono::steady_clock::now();
782-
for (auto &freq_handle : freq_handles) {
783-
EXPECT_NE(nullptr, freq_handle);
784-
zes_freq_state_t state = lzt::get_freq_state(freq_handle);
785-
}
782+
auto states = lzt::get_freq_state(freq_handles);
786783
auto end = std::chrono::steady_clock::now();
787784
std::chrono::duration<double, std::micro> elapsed_initial = end - start;
788785

@@ -791,10 +788,7 @@ TEST_F(
791788

792789
for (uint32_t i = 0; i < iterations; i++) {
793790
auto start = std::chrono::steady_clock::now();
794-
for (auto &freq_handle : freq_handles) {
795-
EXPECT_NE(nullptr, freq_handle);
796-
zes_freq_state_t state = lzt::get_freq_state(freq_handle);
797-
}
791+
auto states = lzt::get_freq_state(freq_handles);
798792
auto end = std::chrono::steady_clock::now();
799793
std::chrono::duration<double, std::micro> elapsed = end - start;
800794
total_time += elapsed;

conformance_tests/sysman/test_sysman_power/src/test_sysman_power.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,11 +1281,7 @@ TEST_F(
12811281
if (count > 0) {
12821282
power_handles_available = true;
12831283
auto start = std::chrono::steady_clock::now();
1284-
for (auto &power_handle : power_handles) {
1285-
EXPECT_NE(nullptr, power_handle);
1286-
zes_power_energy_counter_t energy_counter = {};
1287-
lzt::get_power_energy_counter(power_handle, &energy_counter);
1288-
}
1284+
auto energy_counters = lzt::get_power_energy_counter(power_handles);
12891285
auto end = std::chrono::steady_clock::now();
12901286
std::chrono::duration<double, std::micro> elapsed_initial = end - start;
12911287

@@ -1294,11 +1290,7 @@ TEST_F(
12941290

12951291
for (uint32_t i = 0; i < iterations; i++) {
12961292
auto start = std::chrono::steady_clock::now();
1297-
for (auto &power_handle : power_handles) {
1298-
EXPECT_NE(nullptr, power_handle);
1299-
zes_power_energy_counter_t energy_counter = {};
1300-
lzt::get_power_energy_counter(power_handle, &energy_counter);
1301-
}
1293+
auto energy_counters = lzt::get_power_energy_counter(power_handles);
13021294
auto end = std::chrono::steady_clock::now();
13031295
std::chrono::duration<double, std::micro> elapsed = end - start;
13041296
total_time += elapsed;

utils/test_harness/sysman/include/test_harness_sysman_frequency.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ uint32_t get_freq_handle_count(zes_device_handle_t device);
2323
std::vector<zes_freq_handle_t> get_freq_handles(zes_device_handle_t device,
2424
uint32_t &count);
2525
zes_freq_state_t get_freq_state(zes_freq_handle_t pFreqHandle);
26+
std::vector<zes_freq_state_t>
27+
get_freq_state(std::vector<zes_freq_handle_t> &freq_handles);
2628
zes_freq_range_t get_freq_range(zes_freq_handle_t pFreqHandle);
2729
void set_freq_range(zes_freq_handle_t pFreqHandle, zes_freq_range_t &pLimits);
28-
void set_freq_range(zes_freq_handle_t pFreqHandle,
29-
zes_freq_range_t &pLimits, ze_result_t &result);
30+
void set_freq_range(zes_freq_handle_t pFreqHandle, zes_freq_range_t &pLimits,
31+
ze_result_t &result);
3032
zes_freq_properties_t get_freq_properties(zes_freq_handle_t pFreqHandle);
3133
zes_freq_range_t get_and_validate_freq_range(zes_freq_handle_t pFreqHandle);
3234
uint32_t get_available_clock_count(zes_freq_handle_t pFreqHandle);

utils/test_harness/sysman/include/test_harness_sysman_power.hpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,26 @@ std::vector<zes_pwr_handle_t> get_power_handles(zes_device_handle_t device,
1818
zes_pwr_handle_t get_card_power_handle(zes_device_handle_t device);
1919
zes_power_properties_t get_power_properties(zes_pwr_handle_t pPowerhandle);
2020
ze_result_t get_power_limits(zes_pwr_handle_t pPowerHandle,
21-
zes_power_sustained_limit_t *pSustained,
22-
zes_power_burst_limit_t *pBurst,
23-
zes_power_peak_limit_t *pPeak);
21+
zes_power_sustained_limit_t *pSustained,
22+
zes_power_burst_limit_t *pBurst,
23+
zes_power_peak_limit_t *pPeak);
2424
ze_result_t set_power_limits(zes_pwr_handle_t pPowerHandle,
25-
zes_power_sustained_limit_t *pSustained,
26-
zes_power_burst_limit_t *pBurst,
27-
zes_power_peak_limit_t *pPeak);
25+
zes_power_sustained_limit_t *pSustained,
26+
zes_power_burst_limit_t *pBurst,
27+
zes_power_peak_limit_t *pPeak);
2828
void get_power_energy_counter(zes_pwr_handle_t pPowerHandle,
2929
zes_power_energy_counter_t *pEnergy);
30+
std::vector<zes_power_energy_counter_t>
31+
get_power_energy_counter(std::vector<zes_pwr_handle_t> &power_handles);
3032
ze_result_t get_power_energy_threshold(zes_pwr_handle_t pPowerHandle,
3133
zes_energy_threshold_t *pThreshold);
3234
void set_power_energy_threshold(zes_pwr_handle_t pPowerHandle,
3335
double threshold);
34-
ze_result_t get_power_limits_ext(zes_pwr_handle_t hPower, uint32_t *pCount,
36+
ze_result_t get_power_limits_ext(
37+
zes_pwr_handle_t hPower, uint32_t *pCount,
3538
std::vector<zes_power_limit_ext_desc_t> &pPowerLimitsDescriptors);
3639
ze_result_t set_power_limits_ext(zes_pwr_handle_t hPower, uint32_t *pCount,
37-
zes_power_limit_ext_desc_t *pSustained);
40+
zes_power_limit_ext_desc_t *pSustained);
3841
void compare_power_descriptor_structures(
3942
zes_power_limit_ext_desc_t firstDescriptor,
4043
zes_power_limit_ext_desc_t secondDescriptor);

utils/test_harness/sysman/src/test_harness_sysman_frequency.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,17 @@ zes_freq_state_t get_freq_state(zes_freq_handle_t pFreqHandle) {
4242
return pState;
4343
}
4444

45+
std::vector<zes_freq_state_t>
46+
get_freq_state(std::vector<zes_freq_handle_t> &freq_handles) {
47+
std::vector<zes_freq_state_t> states{};
48+
for (auto &freq_handle : freq_handles) {
49+
EXPECT_NE(nullptr, freq_handle);
50+
zes_freq_state_t state = get_freq_state(freq_handle);
51+
states.push_back(state);
52+
}
53+
return states;
54+
}
55+
4556
zes_freq_range_t get_freq_range(zes_freq_handle_t pFreqHandle) {
4657
zes_freq_range_t pLimits = {};
4758
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyGetRange(pFreqHandle, &pLimits));

utils/test_harness/sysman/src/test_harness_sysman_power.cpp

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ zes_power_properties_t get_power_properties(zes_pwr_handle_t pPowerHandle) {
4646
}
4747
ze_result_t get_power_limit_count(zes_pwr_handle_t hPower, uint32_t *pCount) {
4848
*pCount = 0;
49-
ze_result_t status = zesPowerGetLimitsExt(hPower, pCount, nullptr);
49+
ze_result_t status = zesPowerGetLimitsExt(hPower, pCount, nullptr);
5050
return status;
5151
}
52-
ze_result_t
53-
get_power_limits_ext(zes_pwr_handle_t hPower, uint32_t *pCount,
52+
ze_result_t get_power_limits_ext(
53+
zes_pwr_handle_t hPower, uint32_t *pCount,
5454
std::vector<zes_power_limit_ext_desc_t> &pPowerLimitsDescriptors) {
5555
if (*pCount == 0) {
5656
ze_result_t status = get_power_limit_count(hPower, pCount);
@@ -63,14 +63,13 @@ get_power_limits_ext(zes_pwr_handle_t hPower, uint32_t *pCount,
6363
desc = {ZES_STRUCTURE_TYPE_POWER_LIMIT_EXT_DESC, nullptr};
6464
}
6565
ze_result_t status =
66-
zesPowerGetLimitsExt(hPower, pCount, pPowerLimitsDescriptors.data());
66+
zesPowerGetLimitsExt(hPower, pCount, pPowerLimitsDescriptors.data());
6767
return status;
6868
}
6969
ze_result_t set_power_limits_ext(zes_pwr_handle_t hPower, uint32_t *pCount,
70-
zes_power_limit_ext_desc_t *pSustained) {
71-
ze_result_t status =
72-
zesPowerSetLimitsExt(hPower, pCount, pSustained);
73-
return status;
70+
zes_power_limit_ext_desc_t *pSustained) {
71+
ze_result_t status = zesPowerSetLimitsExt(hPower, pCount, pSustained);
72+
return status;
7473
}
7574
void compare_power_descriptor_structures(
7675
zes_power_limit_ext_desc_t firstDescriptor,
@@ -90,17 +89,17 @@ void compare_power_descriptor_structures(
9089
EXPECT_EQ(firstDescriptor.limit, secondDescriptor.limit);
9190
}
9291
ze_result_t get_power_limits(zes_pwr_handle_t pPowerHandle,
93-
zes_power_sustained_limit_t *pSustained,
94-
zes_power_burst_limit_t *pBurst,
95-
zes_power_peak_limit_t *pPeak) {
92+
zes_power_sustained_limit_t *pSustained,
93+
zes_power_burst_limit_t *pBurst,
94+
zes_power_peak_limit_t *pPeak) {
9695
ze_result_t status =
9796
zesPowerGetLimits(pPowerHandle, pSustained, pBurst, pPeak);
98-
return status;
97+
return status;
9998
}
10099
ze_result_t set_power_limits(zes_pwr_handle_t pPowerHandle,
101-
zes_power_sustained_limit_t *pSustained,
102-
zes_power_burst_limit_t *pBurst,
103-
zes_power_peak_limit_t *pPeak) {
100+
zes_power_sustained_limit_t *pSustained,
101+
zes_power_burst_limit_t *pBurst,
102+
zes_power_peak_limit_t *pPeak) {
104103
ze_result_t status =
105104
zesPowerSetLimits(pPowerHandle, pSustained, pBurst, pPeak);
106105
return status;
@@ -109,8 +108,19 @@ void get_power_energy_counter(zes_pwr_handle_t pPowerHandle,
109108
zes_power_energy_counter_t *pEnergy) {
110109
EXPECT_EQ(ZE_RESULT_SUCCESS, zesPowerGetEnergyCounter(pPowerHandle, pEnergy));
111110
}
111+
std::vector<zes_power_energy_counter_t>
112+
get_power_energy_counter(std::vector<zes_pwr_handle_t> &power_handles) {
113+
std::vector<zes_power_energy_counter_t> energy_counters{};
114+
for (auto &power_handle : power_handles) {
115+
EXPECT_NE(nullptr, power_handle);
116+
zes_power_energy_counter_t energy_counter = {};
117+
get_power_energy_counter(power_handle, &energy_counter);
118+
energy_counters.push_back(energy_counter);
119+
}
120+
return energy_counters;
121+
}
112122
ze_result_t get_power_energy_threshold(zes_pwr_handle_t pPowerHandle,
113-
zes_energy_threshold_t *pThreshold) {
123+
zes_energy_threshold_t *pThreshold) {
114124
ze_result_t status = zesPowerGetEnergyThreshold(pPowerHandle, pThreshold);
115125
return status;
116126
}

0 commit comments

Comments
 (0)