Fix setting default affinity property in cpuFuncTests (#11609)

CPU plugin sets default affinity to HYBRID_AWARE
if it's running on AlderLake, so we need to reflect that
in cpuFuncTests.
This commit is contained in:
Mateusz Tabaka 2022-05-04 12:42:43 +02:00 committed by GitHub
parent 7dd8fbd47e
commit b92e10ff6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 5 deletions

View File

@ -66,7 +66,10 @@ INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVCompiledModelPropertie
#if (defined(__APPLE__) || defined(_WIN32))
auto default_affinity = [] {
auto numaNodes = InferenceEngine::getAvailableNUMANodes();
if (numaNodes.size() > 1) {
auto coreTypes = InferenceEngine::getAvailableCoresTypes();
if (coreTypes.size() > 1) {
return ov::Affinity::HYBRID_AWARE;
} else if (numaNodes.size() > 1) {
return ov::Affinity::NUMA;
} else {
return ov::Affinity::NONE;
@ -136,4 +139,4 @@ INSTANTIATE_TEST_SUITE_P(smoke_AutoBatch_BehaviorTests, OVCompiledModelPropertie
::testing::Values(CommonTestUtils::DEVICE_BATCH),
::testing::ValuesIn(auto_batch_properties)),
OVCompiledModelPropertiesTests::getTestCaseName);
} // namespace
} // namespace

View File

@ -144,14 +144,20 @@ TEST(OVClassBasicTest, smoke_SetConfigAffinity) {
#if (defined(__APPLE__) || defined(_WIN32))
auto numaNodes = InferenceEngine::getAvailableNUMANodes();
auto defaultBindThreadParameter = numaNodes.size() > 1 ? ov::Affinity::NUMA : ov::Affinity::NONE;
auto coreTypes = InferenceEngine::getAvailableCoresTypes();
auto defaultBindThreadParameter = ov::Affinity::NONE;
if (coreTypes.size() > 1) {
defaultBindThreadParameter = ov::Affinity::HYBRID_AWARE;
} else if (numaNodes.size() > 1) {
defaultBindThreadParameter = ov::Affinity::NUMA;
}
#else
auto defaultBindThreadParameter = ov::Affinity::CORE;
#endif
OV_ASSERT_NO_THROW(value = ie.get_property("CPU", ov::affinity));
ASSERT_EQ(defaultBindThreadParameter, value);
const ov::Affinity affinity = ov::Affinity::HYBRID_AWARE;
const ov::Affinity affinity = defaultBindThreadParameter == ov::Affinity::HYBRID_AWARE ? ov::Affinity::NUMA : ov::Affinity::HYBRID_AWARE;
OV_ASSERT_NO_THROW(ie.set_property("CPU", ov::affinity(affinity)));
OV_ASSERT_NO_THROW(value = ie.get_property("CPU", ov::affinity));
ASSERT_EQ(affinity, value);

View File

@ -12,7 +12,10 @@ namespace {
#if (defined(__APPLE__) || defined(_WIN32))
auto defaultBindThreadParameter = InferenceEngine::Parameter{[] {
auto numaNodes = InferenceEngine::getAvailableNUMANodes();
if (numaNodes.size() > 1) {
auto coreTypes = InferenceEngine::getAvailableCoresTypes();
if (coreTypes.size() > 1) {
return std::string{CONFIG_VALUE(HYBRID_AWARE)};
} else if (numaNodes.size() > 1) {
return std::string{CONFIG_VALUE(NUMA)};
} else {
return std::string{CONFIG_VALUE(NO)};