Update performance determinism api as per the modified sysfs interface.

Signed-off-by: Divya Shikre <DivyaUday.Shikre@amd.com>
Change-Id: Ib0ec5128819644a2ff6c916da9194a7fe1dad795
This commit is contained in:
Divya Shikre
2021-03-24 14:06:28 -04:00
committed by Divya Uday Shikre
parent da480b4589
commit aaf2120117
6 changed files with 58 additions and 52 deletions
@@ -107,48 +107,43 @@ void TestPerfDeterminism::Close() {
void TestPerfDeterminism::Run(void) {
rsmi_status_t err;
rsmi_dev_perf_level_t pfl;
rsmi_frequencies_t f;
rsmi_od_volt_freq_data_t odv;
rsmi_status_t ret;
uint64_t clkvalue;
TestBase::Run();
if (setup_failed_) {
std::cout << "** SetUp Failed for this test. Skipping.**" << std::endl;
return;
}
// Set clocks to something other than the usual default of the lowest
// frequency.
uint64_t freq_bitmask = 0b01100; // Try the 3rd and 4th clocks
std::string freq_bm_str =
std::bitset<RSMI_MAX_NUM_FREQUENCIES>(freq_bitmask).to_string();
freq_bm_str.erase(0, std::min(freq_bm_str.find_first_not_of('0'),
freq_bm_str.size()-1));
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(i);
err = rsmi_dev_od_volt_info_get(i, &odv);
if (err == RSMI_STATUS_NOT_SUPPORTED) {
IF_VERB(STANDARD) {
std::cout << "\t** Not supported on this machine" << std::endl;
}
return;
}
else{
clkvalue = odv.curr_sclk_range.lower_bound + 50;
}
err = rsmi_perf_determinism_mode_set(i, freq_bitmask);
err = rsmi_perf_determinism_mode_set(i, clkvalue);
if (err == RSMI_STATUS_NOT_SUPPORTED) {
IF_VERB(STANDARD) {
std::cout << "\t** Not supported on this machine" << std::endl;
}
return;
} else {
ret = rsmi_dev_gpu_clk_freq_get(i, RSMI_CLK_TYPE_SYS, &f);
if (ret != RSMI_STATUS_SUCCESS) {
return;
}
IF_VERB(STANDARD) {
std::cout << "\tFrequency is now index " << f.current << std::endl;
}
ret = rsmi_dev_perf_level_get(i, &pfl);
CHK_ERR_ASRT(ret)
IF_VERB(STANDARD) {
std::cout << "\t**New Perf Level:" << kDevPerfLvlNameMap.at(pfl) <<
std::endl;
std::cout << "\tSCLK is now set to " << clkvalue << std::endl;
}
std::cout << "\tResetting performance determinism" << std::endl;
err = rsmi_dev_perf_level_set(i, RSMI_DEV_PERF_LEVEL_AUTO);;
CHK_ERR_ASRT(err)
+1 -1
View File
@@ -234,7 +234,7 @@ TEST(rsmitstReadOnly, TestGpuMetricsRead) {
TestGpuMetricsRead tst;
RunGenericTest(&tst);
}
TEST(rsmitstReadOnly, TestPerfDeterminism) {
TEST(rsmitstReadWrite, TestPerfDeterminism) {
TestPerfDeterminism tst;
RunGenericTest(&tst);
}