feature: Support Product Helper for Performance Module

Related-To: NEO-9593

Signed-off-by: Bakwad, Anvesh <anvesh.bakwad@intel.com>
This commit is contained in:
Bakwad, Anvesh
2023-12-01 07:32:24 +00:00
committed by Compute-Runtime-Automation
parent 39ccf0297f
commit c367c2b332
8 changed files with 113 additions and 26 deletions

View File

@@ -8,6 +8,7 @@ if(UNIX)
target_sources(${TARGET_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
${CMAKE_CURRENT_SOURCE_DIR}/sysman_product_helper_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sysman_product_helper_performance_tests.cpp
)
endif()

View File

@@ -0,0 +1,67 @@
/*
* Copyright (C) 2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "level_zero/sysman/source/shared/linux/product_helper/sysman_product_helper.h"
#include "level_zero/sysman/test/unit_tests/sources/linux/mock_sysman_fixture.h"
#include "level_zero/sysman/test/unit_tests/sources/performance/linux/mock_sysfs_performance_prelim.h"
namespace L0 {
namespace Sysman {
namespace ult {
class SysmanProductHelperPerformanceTest : public SysmanMultiDeviceFixture {
protected:
void SetUp() override {
SysmanMultiDeviceFixture::SetUp();
}
void TearDown() override {
SysmanMultiDeviceFixture::TearDown();
}
};
HWTEST2_F(SysmanProductHelperPerformanceTest, GivenMediaPerformanceFactorWhenGettingMediaPerformanceMultiplierForProductsAtMostDg2ThenValidMultiplierIsReturned, IsAtMostDg2) {
auto pSysmanProductHelper = L0::Sysman::SysmanProductHelper::create(defaultHwInfo->platform.eProductFamily);
double performanceFactor = 0;
double multiplier = 0;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(0, multiplier);
performanceFactor = 30;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(0.5, multiplier);
performanceFactor = 50;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(0.5, multiplier);
performanceFactor = 100;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(1, multiplier);
}
HWTEST2_F(SysmanProductHelperPerformanceTest, GivenMediaPerformanceFactorWhenGettingMediaPerformanceMultiplierForProductFamilyIsPVCThenValidMultiplierIsReturned, IsPVC) {
auto pSysmanProductHelper = L0::Sysman::SysmanProductHelper::create(defaultHwInfo->platform.eProductFamily);
double performanceFactor = 0;
double multiplier = 0;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(0.5, multiplier);
performanceFactor = 50;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(0.5, multiplier);
performanceFactor = 100;
pSysmanProductHelper->getMediaPerformanceFactorMultiplier(performanceFactor, &multiplier);
EXPECT_EQ(1, multiplier);
}
} // namespace ult
} // namespace Sysman
} // namespace L0