mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 05:56:36 +08:00
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:
committed by
Compute-Runtime-Automation
parent
39ccf0297f
commit
c367c2b332
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user