From 830155476f8e4a4355fd33f54ef420d19f06e53d Mon Sep 17 00:00:00 2001 From: Steve Yoo Date: Thu, 19 Dec 2024 12:48:05 +0900 Subject: [PATCH 1/4] [GPU] Set fc format to bfyx when its spatial pitches are not one (#27751) ### Details: - *Set fc format to bfyx when its spatial pitches are not one to avoid to select fb_io_block kernel* ### Tickets: - *155068* --- .../intel_gpu/src/graph/fully_connected.cpp | 4 +++- .../single_layer_tests/mat_mul.cpp | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/plugins/intel_gpu/src/graph/fully_connected.cpp b/src/plugins/intel_gpu/src/graph/fully_connected.cpp index 308d9a9f2fd66b..2aee524ac2e3e1 100644 --- a/src/plugins/intel_gpu/src/graph/fully_connected.cpp +++ b/src/plugins/intel_gpu/src/graph/fully_connected.cpp @@ -84,7 +84,9 @@ format::type get_preferred_format(fully_connected_node const& node, const kernel // "is_batch_after_spatial" should return true) if (data_type_traits::is_floating_point(input_layout.data_type) && input_layout.format == format::bfyx && - input_layout.batch() > 1) + input_layout.batch() > 1 && + input_pitches[2] == 1 && + input_pitches[3] == 1) return format::yxfb; return format::bfyx; diff --git a/src/plugins/intel_gpu/tests/functional/shared_tests_instances/single_layer_tests/mat_mul.cpp b/src/plugins/intel_gpu/tests/functional/shared_tests_instances/single_layer_tests/mat_mul.cpp index 8567cafcdad8e6..58e54f8eee279d 100644 --- a/src/plugins/intel_gpu/tests/functional/shared_tests_instances/single_layer_tests/mat_mul.cpp +++ b/src/plugins/intel_gpu/tests/functional/shared_tests_instances/single_layer_tests/mat_mul.cpp @@ -148,4 +148,19 @@ INSTANTIATE_TEST_SUITE_P(smoke_MatMul_fc_fb_io_block_f16, GPUMatMulLayerTest, ::testing::Values(ov::test::utils::DEVICE_GPU), ::testing::Values(additional_config)), MatMulLayerTest::getTestCaseName); + +std::vector> fc4d_shapeRelatedParams = { + { {16, 16, 16, 576}, {576, 1728} }, +}; + +INSTANTIATE_TEST_SUITE_P(smoke_MatMul_fc4d, GPUMatMulLayerTest, + ::testing::Combine( + ::testing::ValuesIn(ov::test::static_shapes_to_test_representation(fc4d_shapeRelatedParams)), + ::testing::Values(std::make_pair(false, false)), + ::testing::ValuesIn(inputPrecisions), + ::testing::ValuesIn(fc_f16_secondaryInputTypes), + ::testing::Values(ov::test::utils::DEVICE_GPU), + ::testing::Values(additional_config)), + MatMulLayerTest::getTestCaseName); + } // namespace From f583af7a4790f502d5774281c280bc189305a7f4 Mon Sep 17 00:00:00 2001 From: Wiktor Kobiela Date: Thu, 19 Dec 2024 09:35:33 +0100 Subject: [PATCH 2/4] Revert "support offline CPU in Linux (#27870)" (#28131) This reverts commit 7c34fbdfc2580ad66d97a34a5c68e02130bf6cd8. https://jira.devtools.intel.com/browse/CVS-159641 ### Details: - To fix LTO on Ubuntu 20.04 --- src/inference/src/os/lin/lin_system_conf.cpp | 363 ++++++++---------- .../cpu_map_parser/cache_parser_linux.cpp | 245 ------------ .../unit/cpu_map_parser/freq_parser_linux.cpp | 183 --------- 3 files changed, 150 insertions(+), 641 deletions(-) diff --git a/src/inference/src/os/lin/lin_system_conf.cpp b/src/inference/src/os/lin/lin_system_conf.cpp index 48d486d2ed2d1b..f8bd16173b8fce 100644 --- a/src/inference/src/os/lin/lin_system_conf.cpp +++ b/src/inference/src/os/lin/lin_system_conf.cpp @@ -23,108 +23,76 @@ CPU::CPU() { std::vector> system_info_table; std::vector node_info_table; - constexpr int cache_info_mode = 1; - constexpr int freq_info_mode = 2; - - auto get_info_linux = [&](int mode) { + auto get_cache_info_linux = [&]() { int cpu_index = 0; int cache_index = 0; int cache_files = 3; - std::string one_info; + std::vector one_info(cache_files); - std::vector file_name = {"/topology/core_cpus_list", - "/topology/physical_package_id", - "/cpufreq/cpuinfo_max_freq"}; - int num_of_files = file_name.size(); - - std::string::size_type pos = 0; - std::string::size_type endpos = 0; - std::string sub_str; - - int core_1; - int core_2; - - system_info_table.clear(); - - std::ifstream possible_file("/sys/devices/system/cpu/possible"); - std::string possible_info; + while (1) { + for (int n = 0; n < cache_files; n++) { + cache_index = (n == 0) ? n : n + 1; + + std::ifstream cache_file("/sys/devices/system/cpu/cpu" + std::to_string(cpu_index) + "/cache/index" + + std::to_string(cache_index) + "/shared_cpu_list"); + if (!cache_file.is_open()) { + cache_index = -1; + break; + } + std::string cache_info; + std::getline(cache_file, cache_info); + one_info[n] = std::move(cache_info); + } - if (possible_file.is_open()) { - std::getline(possible_file, possible_info); - } else { - return -1; + if (cache_index == -1) { + if (cpu_index == 0) { + return -1; + } else { + return 0; + } + } else { + system_info_table.push_back(one_info); + cpu_index++; + } } - if ((endpos = possible_info.find('-', pos)) != std::string::npos) { - sub_str = possible_info.substr(pos, endpos - pos); - core_1 = std::stoi(sub_str); - sub_str = possible_info.substr(endpos + 1); - core_2 = std::stoi(sub_str); - system_info_table.resize(core_2 + 1, std::vector(cache_files, "")); - } else { - return -1; - } + return 0; + }; - std::ifstream online_file("/sys/devices/system/cpu/online"); - std::string online_info; + auto get_freq_info_linux = [&]() { + int cpu_index = 0; + int cache_index = 0; - if (online_file.is_open()) { - std::getline(online_file, online_info); - } else { - system_info_table.clear(); - return -1; - } + std::vector file_name = {"/topology/core_cpus_list", + "/topology/physical_package_id", + "/cpufreq/cpuinfo_max_freq"}; + int num_of_files = file_name.size(); + std::vector one_info(num_of_files); while (1) { - if ((endpos = online_info.find('-', pos)) != std::string::npos) { - sub_str = online_info.substr(pos, endpos - pos); - core_1 = std::stoi(sub_str); - sub_str = online_info.substr(endpos + 1); - core_2 = std::stoi(sub_str); + for (int n = 0; n < num_of_files; n++) { + cache_index = n; - for (cpu_index = core_1; cpu_index <= core_2; cpu_index++) { - if (mode == cache_info_mode) { - for (int n = 0; n < cache_files; n++) { - cache_index = (n == 0) ? n : n + 1; - one_info.clear(); - - std::ifstream cache_file("/sys/devices/system/cpu/cpu" + std::to_string(cpu_index) + - "/cache/index" + std::to_string(cache_index) + "/shared_cpu_list"); - if (cache_file.is_open()) { - std::getline(cache_file, one_info); - } else { - if ((cpu_index == core_1) && (n == 0)) { - system_info_table.clear(); - return -1; - } - } - system_info_table[cpu_index][n] = std::move(one_info); - } - } else { - for (int n = 0; n < num_of_files; n++) { - one_info.clear(); - - std::ifstream cache_file("/sys/devices/system/cpu/cpu" + std::to_string(cpu_index) + - file_name[n]); - if (cache_file.is_open()) { - std::getline(cache_file, one_info); - } else { - if ((cpu_index == core_1) && (n == 2)) { - system_info_table.clear(); - return -1; - } - } - system_info_table[cpu_index][n] = std::move(one_info); - } - } + std::ifstream cache_file("/sys/devices/system/cpu/cpu" + std::to_string(cpu_index) + file_name[n]); + if (!cache_file.is_open()) { + cache_index = -1; + break; } + std::string cache_info; + std::getline(cache_file, cache_info); + one_info[n] = std::move(cache_info); } - if ((pos = online_info.find(',', endpos)) != std::string::npos) { - pos++; + if (cache_index == -1) { + if (cpu_index == 0) { + return -1; + } else { + return 0; + } } else { - break; + system_info_table.push_back(one_info); + cpu_index++; } } @@ -233,7 +201,7 @@ CPU::CPU() { get_node_info_linux(); - if (!get_info_linux(cache_info_mode)) { + if (!get_cache_info_linux()) { parse_cache_info_linux(system_info_table, node_info_table, _processors, @@ -247,7 +215,7 @@ CPU::CPU() { if ((_proc_type_table.size() == 0) || ((_proc_type_table[0][MAIN_CORE_PROC] == 0) && (_proc_type_table[0][ALL_PROC] > 0) && (_proc_type_table[0][ALL_PROC] != _proc_type_table[0][EFFICIENT_CORE_PROC]))) { - if (!get_info_linux(freq_info_mode)) { + if (!get_freq_info_linux()) { parse_freq_info_linux(system_info_table, node_info_table, _processors, @@ -503,73 +471,56 @@ void parse_cache_info_linux(const std::vector> system_i const std::vector line_value_0({0, 0, 0, 0, -1, -1}); - std::vector offline_list; - int info_index = 0; - for (int n = 0; n < _processors; n++) { - if ((system_info_table[n][2].size() > 0) || (system_info_table[n][1].size() > 0)) { - info_index = system_info_table[n][2].size() > 0 ? 2 : 1; - if (-1 == _cpu_mapping_table[n][CPU_MAP_SOCKET_ID]) { - std::string::size_type pos = 0; - std::string::size_type endpos = 0; - std::string sub_str; - - int core_1; - int core_2; - - if (0 == _sockets) { - _proc_type_table.push_back(line_value_0); - } else { - _proc_type_table.push_back(_proc_type_table[0]); - _proc_type_table[0] = line_value_0; - } + if (-1 == _cpu_mapping_table[n][CPU_MAP_SOCKET_ID]) { + std::string::size_type pos = 0; + std::string::size_type endpos = 0; + std::string sub_str; - while (1) { - if ((endpos = system_info_table[n][info_index].find('-', pos)) != std::string::npos) { - sub_str = system_info_table[n][info_index].substr(pos, endpos - pos); - core_1 = std::stoi(sub_str); - sub_str = system_info_table[n][info_index].substr(endpos + 1); - core_2 = std::stoi(sub_str); - - if ((info_index == 1) && (core_2 - core_1 == 1)) { - offline_list.push_back(n); - break; - } - for (int m = core_1; m <= core_2; m++) { - _cpu_mapping_table[m][CPU_MAP_SOCKET_ID] = _sockets; - _cpu_mapping_table[m][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[m][CPU_MAP_SOCKET_ID]; - update_proc_map_info(m); - if (_processors == 0) { - return; - }; - } - } else if (pos != std::string::npos) { - sub_str = system_info_table[n][info_index].substr(pos); - core_1 = std::stoi(sub_str); - _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = _sockets; - _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = - _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; - update_proc_map_info(core_1); + int core_1; + int core_2; + + if (0 == _sockets) { + _proc_type_table.push_back(line_value_0); + } else { + _proc_type_table.push_back(_proc_type_table[0]); + _proc_type_table[0] = line_value_0; + } + + while (1) { + if ((endpos = system_info_table[n][2].find('-', pos)) != std::string::npos) { + sub_str = system_info_table[n][2].substr(pos, endpos - pos); + core_1 = std::stoi(sub_str); + sub_str = system_info_table[n][2].substr(endpos + 1); + core_2 = std::stoi(sub_str); + + for (int m = core_1; m <= core_2; m++) { + _cpu_mapping_table[m][CPU_MAP_SOCKET_ID] = _sockets; + _cpu_mapping_table[m][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[m][CPU_MAP_SOCKET_ID]; + update_proc_map_info(m); if (_processors == 0) { return; }; - endpos = pos; - } - - if ((pos = system_info_table[n][2].find(',', endpos)) != std::string::npos) { - pos++; - } else { - break; } + } else if (pos != std::string::npos) { + sub_str = system_info_table[n][2].substr(pos); + core_1 = std::stoi(sub_str); + _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = _sockets; + _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; + update_proc_map_info(core_1); + if (_processors == 0) { + return; + }; + endpos = pos; } - _sockets++; - if (_proc_type_table[0][ALL_PROC] == 0) { - _proc_type_table.erase(_proc_type_table.begin()); - _sockets--; + + if ((pos = system_info_table[n][2].find(',', endpos)) != std::string::npos) { + pos++; + } else { + break; } } - } else { - offline_list.push_back(n); + _sockets++; } } @@ -589,11 +540,6 @@ void parse_cache_info_linux(const std::vector> system_i _numa_nodes = node_info_table.size(); parse_node_info_linux(node_info_table, _numa_nodes, _sockets, _proc_type_table, _cpu_mapping_table); } - - for (size_t n = 0; n < offline_list.size(); n++) { - _cpu_mapping_table.erase(_cpu_mapping_table.begin() + offline_list[n] - n); - _processors--; - } }; void get_cpu_mapping_from_cores(const int _processors, @@ -669,6 +615,7 @@ void parse_freq_info_linux(const std::vector> system_in std::vector>& _cpu_mapping_table) { int freq_max = 0; bool ecore_enabled = false; + bool ht_enabled = false; _processors = system_info_table.size(); _numa_nodes = 0; @@ -678,8 +625,6 @@ void parse_freq_info_linux(const std::vector> system_in std::vector line_value_0(PROC_TYPE_TABLE_SIZE, 0); - std::vector offline_list; - auto clean_up_output = [&]() { _processors = 0; _cores = 0; @@ -691,68 +636,65 @@ void parse_freq_info_linux(const std::vector> system_in }; for (int n = 0; n < _processors; n++) { - if (system_info_table[n][2].size() > 0) { - if (-1 == _cpu_mapping_table[n][CPU_MAP_SOCKET_ID]) { - std::string::size_type pos = 0; - std::string::size_type endpos1 = 0; - std::string::size_type endpos2 = 0; - std::string sub_str; - - int core_1 = 0; - int core_2 = 0; - - if (((endpos1 = system_info_table[n][0].find(',', pos)) != std::string::npos) || - ((endpos2 = system_info_table[n][0].find('-', pos)) != std::string::npos)) { - endpos1 = (endpos1 != std::string::npos) ? endpos1 : endpos2; - sub_str = system_info_table[n][0].substr(pos, endpos1 - pos); - core_1 = std::stoi(sub_str); - sub_str = system_info_table[n][0].substr(endpos1 + 1); - core_2 = std::stoi(sub_str); - if ((core_1 != n) && (core_2 != n)) { - clean_up_output(); - return; - } + if (-1 == _cpu_mapping_table[n][CPU_MAP_SOCKET_ID]) { + std::string::size_type pos = 0; + std::string::size_type endpos1 = 0; + std::string::size_type endpos2 = 0; + std::string sub_str; - _cpu_mapping_table[core_1][CPU_MAP_PROCESSOR_ID] = core_1; - _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = std::stoi(system_info_table[core_1][1]); - _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; - _cpu_mapping_table[core_1][CPU_MAP_CORE_ID] = _cores; - _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = HYPER_THREADING_PROC; - _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID] = _cores; - - _cpu_mapping_table[core_2][CPU_MAP_PROCESSOR_ID] = core_2; - _cpu_mapping_table[core_2][CPU_MAP_SOCKET_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; - _cpu_mapping_table[core_2][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; - _cpu_mapping_table[core_2][CPU_MAP_CORE_ID] = _cpu_mapping_table[core_1][CPU_MAP_CORE_ID]; - _cpu_mapping_table[core_2][CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC; - _cpu_mapping_table[core_2][CPU_MAP_GROUP_ID] = _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID]; - - int core_freq = std::stoi(system_info_table[core_1][2]); - freq_max = std::max(core_freq, freq_max); - } else if (system_info_table[n][0].size() > 0) { - core_1 = std::stoi(system_info_table[n][0]); + int core_1 = 0; + int core_2 = 0; - _cpu_mapping_table[core_1][CPU_MAP_PROCESSOR_ID] = core_1; - _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = std::stoi(system_info_table[core_1][1]); - _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; - _cpu_mapping_table[core_1][CPU_MAP_CORE_ID] = _cores; + if (((endpos1 = system_info_table[n][0].find(',', pos)) != std::string::npos) || + ((endpos2 = system_info_table[n][0].find('-', pos)) != std::string::npos)) { + endpos1 = (endpos1 != std::string::npos) ? endpos1 : endpos2; + sub_str = system_info_table[n][0].substr(pos, endpos1 - pos); + core_1 = std::stoi(sub_str); + sub_str = system_info_table[n][0].substr(endpos1 + 1); + core_2 = std::stoi(sub_str); + if ((core_1 != n) && (core_2 != n)) { + clean_up_output(); + return; + } - int core_freq = std::stoi(system_info_table[core_1][2]); - if ((0 == freq_max) || (core_freq >= freq_max * 0.97)) { - freq_max = std::max(core_freq, freq_max); - _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC; - } else { - _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = EFFICIENT_CORE_PROC; - ecore_enabled = true; - } + _cpu_mapping_table[core_1][CPU_MAP_PROCESSOR_ID] = core_1; + _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = std::stoi(system_info_table[core_1][1]); + _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; + _cpu_mapping_table[core_1][CPU_MAP_CORE_ID] = _cores; + _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = HYPER_THREADING_PROC; + _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID] = _cores; + + _cpu_mapping_table[core_2][CPU_MAP_PROCESSOR_ID] = core_2; + _cpu_mapping_table[core_2][CPU_MAP_SOCKET_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; + _cpu_mapping_table[core_2][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; + _cpu_mapping_table[core_2][CPU_MAP_CORE_ID] = _cpu_mapping_table[core_1][CPU_MAP_CORE_ID]; + _cpu_mapping_table[core_2][CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC; + _cpu_mapping_table[core_2][CPU_MAP_GROUP_ID] = _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID]; + + ht_enabled = true; + int core_freq = std::stoi(system_info_table[core_1][2]); + freq_max = std::max(core_freq, freq_max); + } else if (system_info_table[n][0].size() > 0) { + core_1 = std::stoi(system_info_table[n][0]); - _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID] = _cores; + _cpu_mapping_table[core_1][CPU_MAP_PROCESSOR_ID] = core_1; + _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] = std::stoi(system_info_table[core_1][1]); + _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] = _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]; + _cpu_mapping_table[core_1][CPU_MAP_CORE_ID] = _cores; + + int core_freq = std::stoi(system_info_table[core_1][2]); + if (((0 == freq_max) || (core_freq >= freq_max * 0.95)) && (!ht_enabled)) { + freq_max = std::max(core_freq, freq_max); + _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC; + } else { + _cpu_mapping_table[core_1][CPU_MAP_CORE_TYPE] = EFFICIENT_CORE_PROC; + ecore_enabled = true; } - _sockets = std::max(_sockets, _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]); - _cores++; + + _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID] = _cores; } - } else { - offline_list.push_back(n); + _sockets = std::max(_sockets, _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID]); + _cores++; } } @@ -791,11 +733,6 @@ void parse_freq_info_linux(const std::vector> system_in _numa_nodes = node_info_table.size(); parse_node_info_linux(node_info_table, _numa_nodes, _sockets, _proc_type_table, _cpu_mapping_table); } - - for (size_t n = 0; n < offline_list.size(); n++) { - _cpu_mapping_table.erase(_cpu_mapping_table.begin() + offline_list[n] - n); - _processors--; - } }; void update_valid_processor_linux(const std::vector phy_core_list, diff --git a/src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp b/src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp index 9ea43bd0604296..8679090b9ae491 100644 --- a/src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp +++ b/src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp @@ -385,188 +385,6 @@ LinuxCpuMapTestCase cache_1sockets_96cores = { {"0-95"}, }, }; -LinuxCpuMapTestCase cache_2sockets_56cores_hyperthreading = { - 110, - 2, - 2, - 56, - {{110, 56, 0, 54, -1, -1}, {54, 28, 0, 26, 0, 0}, {56, 28, 0, 28, 1, 1}}, - { - {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {11, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {12, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {13, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {14, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {15, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {16, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {17, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {18, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {19, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {21, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {22, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {23, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {24, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {25, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {26, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {27, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, - {28, 1, 1, 28, HYPER_THREADING_PROC, 28, -1}, {29, 1, 1, 29, HYPER_THREADING_PROC, 29, -1}, - {30, 1, 1, 30, HYPER_THREADING_PROC, 30, -1}, {31, 1, 1, 31, HYPER_THREADING_PROC, 31, -1}, - {32, 1, 1, 32, HYPER_THREADING_PROC, 32, -1}, {33, 1, 1, 33, HYPER_THREADING_PROC, 33, -1}, - {34, 1, 1, 34, HYPER_THREADING_PROC, 34, -1}, {35, 1, 1, 35, HYPER_THREADING_PROC, 35, -1}, - {36, 1, 1, 36, HYPER_THREADING_PROC, 36, -1}, {37, 1, 1, 37, HYPER_THREADING_PROC, 37, -1}, - {38, 1, 1, 38, HYPER_THREADING_PROC, 38, -1}, {39, 1, 1, 39, HYPER_THREADING_PROC, 39, -1}, - {40, 1, 1, 40, HYPER_THREADING_PROC, 40, -1}, {41, 1, 1, 41, HYPER_THREADING_PROC, 41, -1}, - {42, 1, 1, 42, HYPER_THREADING_PROC, 42, -1}, {43, 1, 1, 43, HYPER_THREADING_PROC, 43, -1}, - {44, 1, 1, 44, HYPER_THREADING_PROC, 44, -1}, {45, 1, 1, 45, HYPER_THREADING_PROC, 45, -1}, - {46, 1, 1, 46, HYPER_THREADING_PROC, 46, -1}, {47, 1, 1, 47, HYPER_THREADING_PROC, 47, -1}, - {48, 1, 1, 48, HYPER_THREADING_PROC, 48, -1}, {49, 1, 1, 49, HYPER_THREADING_PROC, 49, -1}, - {50, 1, 1, 50, HYPER_THREADING_PROC, 50, -1}, {51, 1, 1, 51, HYPER_THREADING_PROC, 51, -1}, - {52, 1, 1, 52, HYPER_THREADING_PROC, 52, -1}, {53, 1, 1, 53, HYPER_THREADING_PROC, 53, -1}, - {54, 1, 1, 54, HYPER_THREADING_PROC, 54, -1}, {55, 1, 1, 55, HYPER_THREADING_PROC, 55, -1}, - {56, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {57, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, - {58, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {59, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, - {60, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {61, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, - {62, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {63, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, - {64, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {65, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, - {66, 0, 0, 26, MAIN_CORE_PROC, 26, -1}, {67, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, - {68, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, {69, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, - {70, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, {71, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, - {72, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, {73, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, - {74, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, {75, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, - {76, 0, 0, 27, MAIN_CORE_PROC, 27, -1}, {77, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, - {78, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {79, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, - {80, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {81, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, - {82, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, {83, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, - {84, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {85, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, - {86, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {87, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, - {88, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {89, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, - {90, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {91, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, - {92, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {93, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, - {94, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {95, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, - {96, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {97, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, - {98, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {99, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, - {100, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {101, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, - {102, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {103, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, - {104, 1, 1, 48, MAIN_CORE_PROC, 48, -1}, {105, 1, 1, 49, MAIN_CORE_PROC, 49, -1}, - {106, 1, 1, 50, MAIN_CORE_PROC, 50, -1}, {107, 1, 1, 51, MAIN_CORE_PROC, 51, -1}, - {108, 1, 1, 52, MAIN_CORE_PROC, 52, -1}, {109, 1, 1, 53, MAIN_CORE_PROC, 53, -1}, - {110, 1, 1, 54, MAIN_CORE_PROC, 54, -1}, {111, 1, 1, 55, MAIN_CORE_PROC, 55, -1}, - }, - { - {"0,56", "0,56", "0-9,11-19,21-27,56-83"}, - {"1,57", "1,57", "0-9,11-19,21-27,56-83"}, - {"2,58", "2,58", "0-9,11-19,21-27,56-83"}, - {"3,59", "3,59", "0-9,11-19,21-27,56-83"}, - {"4,60", "4,60", "0-9,11-19,21-27,56-83"}, - {"5,61", "5,61", "0-9,11-19,21-27,56-83"}, - {"6,62", "6,62", "0-9,11-19,21-27,56-83"}, - {"7,63", "7,63", "0-9,11-19,21-27,56-83"}, - {"8,64", "8,64", "0-9,11-19,21-27,56-83"}, - {"9,65", "9,65", "0-9,11-19,21-27,56-83"}, - {"", "", ""}, - {"11,67", "11,67", "0-9,11-19,21-27,56-83"}, - {"12,68", "12,68", "0-9,11-19,21-27,56-83"}, - {"13,69", "13,69", "0-9,11-19,21-27,56-83"}, - {"14,70", "14,70", "0-9,11-19,21-27,56-83"}, - {"15,71", "15,71", "0-9,11-19,21-27,56-83"}, - {"16,72", "16,72", "0-9,11-19,21-27,56-83"}, - {"17,73", "17,73", "0-9,11-19,21-27,56-83"}, - {"18,74", "18,74", "0-9,11-19,21-27,56-83"}, - {"19,75", "19,75", "0-9,11-19,21-27,56-83"}, - {"", "", ""}, - {"21,77", "21,77", "0-9,11-19,21-27,56-83"}, - {"22,78", "22,78", "0-9,11-19,21-27,56-83"}, - {"23,79", "23,79", "0-9,11-19,21-27,56-83"}, - {"24,80", "24,80", "0-9,11-19,21-27,56-83"}, - {"25,81", "25,81", "0-9,11-19,21-27,56-83"}, - {"26,82", "26,82", "0-9,11-19,21-27,56-83"}, - {"27,83", "27,83", "0-9,11-19,21-27,56-83"}, - {"28,84", "28,84", "28-55,84-111"}, - {"29,85", "29,85", "28-55,84-111"}, - {"30,86", "30,86", "28-55,84-111"}, - {"31,87", "31,87", "28-55,84-111"}, - {"32,88", "32,88", "28-55,84-111"}, - {"33,89", "33,89", "28-55,84-111"}, - {"34,90", "34,90", "28-55,84-111"}, - {"35,91", "35,91", "28-55,84-111"}, - {"36,92", "36,92", "28-55,84-111"}, - {"37,93", "37,93", "28-55,84-111"}, - {"38,94", "38,94", "28-55,84-111"}, - {"39,95", "39,95", "28-55,84-111"}, - {"40,96", "40,96", "28-55,84-111"}, - {"41,97", "41,97", "28-55,84-111"}, - {"42,98", "42,98", "28-55,84-111"}, - {"43,99", "43,99", "28-55,84-111"}, - {"44,100", "44,100", "28-55,84-111"}, - {"45,101", "45,101", "28-55,84-111"}, - {"46,102", "46,102", "28-55,84-111"}, - {"47,103", "47,103", "28-55,84-111"}, - {"48,104", "48,104", "28-55,84-111"}, - {"49,105", "49,105", "28-55,84-111"}, - {"50,106", "50,106", "28-55,84-111"}, - {"51,107", "51,107", "28-55,84-111"}, - {"52,108", "52,108", "28-55,84-111"}, - {"53,109", "53,109", "28-55,84-111"}, - {"54,110", "54,110", "28-55,84-111"}, - {"55,111", "55,111", "28-55,84-111"}, - {"0,56", "0,56", "0-9,11-19,21-27,56-83"}, - {"1,57", "1,57", "0-9,11-19,21-27,56-83"}, - {"2,58", "2,58", "0-9,11-19,21-27,56-83"}, - {"3,59", "3,59", "0-9,11-19,21-27,56-83"}, - {"4,60", "4,60", "0-9,11-19,21-27,56-83"}, - {"5,61", "5,61", "0-9,11-19,21-27,56-83"}, - {"6,62", "6,62", "0-9,11-19,21-27,56-83"}, - {"7,63", "7,63", "0-9,11-19,21-27,56-83"}, - {"8,64", "8,64", "0-9,11-19,21-27,56-83"}, - {"9,65", "9,65", "0-9,11-19,21-27,56-83"}, - {"66", "66", "0-9,11-19,21-27,56-83"}, - {"11,67", "11,67", "0-9,11-19,21-27,56-83"}, - {"12,68", "12,68", "0-9,11-19,21-27,56-83"}, - {"13,69", "13,69", "0-9,11-19,21-27,56-83"}, - {"14,70", "14,70", "0-9,11-19,21-27,56-83"}, - {"15,71", "15,71", "0-9,11-19,21-27,56-83"}, - {"16,72", "16,72", "0-9,11-19,21-27,56-83"}, - {"17,73", "17,73", "0-9,11-19,21-27,56-83"}, - {"18,74", "18,74", "0-9,11-19,21-27,56-83"}, - {"19,75", "19,75", "0-9,11-19,21-27,56-83"}, - {"76", "76", "0-9,11-19,21-27,56-83"}, - {"21,77", "21,77", "0-9,11-19,21-27,56-83"}, - {"22,78", "22,78", "0-9,11-19,21-27,56-83"}, - {"23,79", "23,79", "0-9,11-19,21-27,56-83"}, - {"24,80", "24,80", "0-9,11-19,21-27,56-83"}, - {"25,81", "25,81", "0-9,11-19,21-27,56-83"}, - {"26,82", "26,82", "0-9,11-19,21-27,56-83"}, - {"27,83", "27,83", "0-9,11-19,21-27,56-83"}, - {"28,84", "28,84", "28-55,84-111"}, - {"29,85", "29,85", "28-55,84-111"}, - {"30,86", "30,86", "28-55,84-111"}, - {"31,87", "31,87", "28-55,84-111"}, - {"32,88", "32,88", "28-55,84-111"}, - {"33,89", "33,89", "28-55,84-111"}, - {"34,90", "34,90", "28-55,84-111"}, - {"35,91", "35,91", "28-55,84-111"}, - {"36,92", "36,92", "28-55,84-111"}, - {"37,93", "37,93", "28-55,84-111"}, - {"38,94", "38,94", "28-55,84-111"}, - {"39,95", "39,95", "28-55,84-111"}, - {"40,96", "40,96", "28-55,84-111"}, - {"41,97", "41,97", "28-55,84-111"}, - {"42,98", "42,98", "28-55,84-111"}, - {"43,99", "43,99", "28-55,84-111"}, - {"44,100", "44,100", "28-55,84-111"}, - {"45,101", "45,101", "28-55,84-111"}, - {"46,102", "46,102", "28-55,84-111"}, - {"47,103", "47,103", "28-55,84-111"}, - {"48,104", "48,104", "28-55,84-111"}, - {"49,105", "49,105", "28-55,84-111"}, - {"50,106", "50,106", "28-55,84-111"}, - {"51,107", "51,107", "28-55,84-111"}, - {"52,108", "52,108", "28-55,84-111"}, - {"53,109", "53,109", "28-55,84-111"}, - {"54,110", "54,110", "28-55,84-111"}, - {"55,111", "55,111", "28-55,84-111"}, - }, - { - {"0-9,11-19,21-27,56-83"}, - {"28-55,84-111"}, - }, -}; LinuxCpuMapTestCase cache_2sockets_48cores_hyperthreading = { 96, 2, @@ -1187,36 +1005,6 @@ LinuxCpuMapTestCase cache_2sockets_20cores_hyperthreading_1 = { }, {}, }; -LinuxCpuMapTestCase cache_1sockets_16cores_hyperthreading = { - 20, - 1, - 1, - 14, - {{20, 6, 8, 6, 0, 0}}, - { - {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, {3, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {5, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, - {14, 0, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, - {16, 0, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, - {18, 0, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, - }, - { - {"0,5", "0,5", "0-19"}, {"1-2", "1-2", "0-19"}, {"1-2", "1-2", "0-19"}, {"3-4", "3-4", "0-19"}, - {"3-4", "3-4", "0-19"}, {"0,5", "0,5", "0-19"}, {"6-7", "6-7", "0-19"}, {"6-7", "6-7", "0-19"}, - {"8-9", "8-9", "0-19"}, {"8-9", "8-9", "0-19"}, {"10-11", "10-11", "0-19"}, {"10-11", "10-11", "0-19"}, - {"12", "12-15", "0-19"}, {"13", "12-15", "0-19"}, {"14", "12-15", "0-19"}, {"15", "12-15", "0-19"}, - {"16", "16-19", "0-19"}, {"17", "16-19", "0-19"}, {"18", "16-19", "0-19"}, {"19", "16-19", "0-19"}, - {"20", "20-21", ""}, {"21", "20-21", ""}, - }, - { - {"0-21"}, - }, -}; LinuxCpuMapTestCase cache_1sockets_14cores_hyperthreading = { 20, 1, @@ -1347,36 +1135,6 @@ LinuxCpuMapTestCase cache_1sockets_8cores_hyperthreading = { }, {{"0-11"}}, }; -LinuxCpuMapTestCase cache_1sockets_8cores_hyperthreading_1 = { - 8, - 1, - 1, - 8, - {{8, 4, 4, 0, 0, 0}}, - { - {0, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {1, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, - {2, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, - {4, 0, 0, 4, EFFICIENT_CORE_PROC, 4, -1}, - {5, 0, 0, 5, EFFICIENT_CORE_PROC, 4, -1}, - {6, 0, 0, 6, EFFICIENT_CORE_PROC, 4, -1}, - {7, 0, 0, 7, EFFICIENT_CORE_PROC, 4, -1}, - }, - { - {"0", "0", "0-3"}, - {"1", "1", "0-3"}, - {"2", "2", "0-3"}, - {"3", "3", "0-3"}, - {"4", "4-7", ""}, - {"5", "4-7", ""}, - {"6", "4-7", ""}, - {"7", "4-7", ""}, - }, - { - {"0-7"}, - }, -}; LinuxCpuMapTestCase cache_1sockets_6cores_hyperthreading = { 12, 1, @@ -1462,7 +1220,6 @@ INSTANTIATE_TEST_SUITE_P(CPUMap, LinuxCpuMapCacheParserTests, testing::Values(cache_2sockets_104cores_hyperthreading, cache_1sockets_96cores, - cache_2sockets_56cores_hyperthreading, cache_2sockets_48cores_hyperthreading, cache_2sockets_48cores_hyperthreading_1, cache_2sockets_24cores_hyperthreading, @@ -1472,12 +1229,10 @@ INSTANTIATE_TEST_SUITE_P(CPUMap, cache_2sockets_48cores_2, cache_2sockets_20cores_hyperthreading, cache_2sockets_20cores_hyperthreading_1, - cache_1sockets_16cores_hyperthreading, cache_1sockets_14cores_hyperthreading, cache_1sockets_14cores_hyperthreading_1, cache_1sockets_10cores_hyperthreading, cache_1sockets_8cores_hyperthreading, - cache_1sockets_8cores_hyperthreading_1, cache_1sockets_6cores_hyperthreading, cache_1sockets_4cores, cache_VM_cache_0)); diff --git a/src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp b/src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp index 8ccdfad011d19c..04ab617961b953 100644 --- a/src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp +++ b/src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp @@ -258,188 +258,6 @@ LinuxCpuMapTestCase freq_2sockets_112cores_hyperthreading = { }, // param[in]: The CPU frequency information table of this simulated platform {{"0-55,112-167"}, {"56-111,168-223"}}, // param[in]: The numa node information table of this simulated platform }; -LinuxCpuMapTestCase freq_2sockets_56cores_hyperthreading = { - 110, - 2, - 2, - 56, - {{110, 56, 0, 54, -1, -1}, {54, 28, 0, 26, 0, 0}, {56, 28, 0, 28, 1, 1}}, - { - {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {11, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {12, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {13, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {14, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {15, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {16, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {17, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {18, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {19, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {21, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {22, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {23, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {24, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {25, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {26, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {27, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, - {28, 1, 1, 26, HYPER_THREADING_PROC, 26, -1}, {29, 1, 1, 27, HYPER_THREADING_PROC, 27, -1}, - {30, 1, 1, 28, HYPER_THREADING_PROC, 28, -1}, {31, 1, 1, 29, HYPER_THREADING_PROC, 29, -1}, - {32, 1, 1, 30, HYPER_THREADING_PROC, 30, -1}, {33, 1, 1, 31, HYPER_THREADING_PROC, 31, -1}, - {34, 1, 1, 32, HYPER_THREADING_PROC, 32, -1}, {35, 1, 1, 33, HYPER_THREADING_PROC, 33, -1}, - {36, 1, 1, 34, HYPER_THREADING_PROC, 34, -1}, {37, 1, 1, 35, HYPER_THREADING_PROC, 35, -1}, - {38, 1, 1, 36, HYPER_THREADING_PROC, 36, -1}, {39, 1, 1, 37, HYPER_THREADING_PROC, 37, -1}, - {40, 1, 1, 38, HYPER_THREADING_PROC, 38, -1}, {41, 1, 1, 39, HYPER_THREADING_PROC, 39, -1}, - {42, 1, 1, 40, HYPER_THREADING_PROC, 40, -1}, {43, 1, 1, 41, HYPER_THREADING_PROC, 41, -1}, - {44, 1, 1, 42, HYPER_THREADING_PROC, 42, -1}, {45, 1, 1, 43, HYPER_THREADING_PROC, 43, -1}, - {46, 1, 1, 44, HYPER_THREADING_PROC, 44, -1}, {47, 1, 1, 45, HYPER_THREADING_PROC, 45, -1}, - {48, 1, 1, 46, HYPER_THREADING_PROC, 46, -1}, {49, 1, 1, 47, HYPER_THREADING_PROC, 47, -1}, - {50, 1, 1, 48, HYPER_THREADING_PROC, 48, -1}, {51, 1, 1, 49, HYPER_THREADING_PROC, 49, -1}, - {52, 1, 1, 50, HYPER_THREADING_PROC, 50, -1}, {53, 1, 1, 51, HYPER_THREADING_PROC, 51, -1}, - {54, 1, 1, 52, HYPER_THREADING_PROC, 52, -1}, {55, 1, 1, 53, HYPER_THREADING_PROC, 53, -1}, - {56, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {57, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, - {58, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {59, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, - {60, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {61, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, - {62, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {63, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, - {64, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {65, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, - {66, 0, 0, 54, MAIN_CORE_PROC, 54, -1}, {67, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, - {68, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, {69, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, - {70, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, {71, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, - {72, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, {73, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, - {74, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, {75, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, - {76, 0, 0, 55, MAIN_CORE_PROC, 55, -1}, {77, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, - {78, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {79, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, - {80, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {81, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, - {82, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, {83, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, - {84, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {85, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, - {86, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {87, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, - {88, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {89, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, - {90, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {91, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, - {92, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {93, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, - {94, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {95, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, - {96, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {97, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, - {98, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {99, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, - {100, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {101, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, - {102, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {103, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, - {104, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {105, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, - {106, 1, 1, 48, MAIN_CORE_PROC, 48, -1}, {107, 1, 1, 49, MAIN_CORE_PROC, 49, -1}, - {108, 1, 1, 50, MAIN_CORE_PROC, 50, -1}, {109, 1, 1, 51, MAIN_CORE_PROC, 51, -1}, - {110, 1, 1, 52, MAIN_CORE_PROC, 52, -1}, {111, 1, 1, 53, MAIN_CORE_PROC, 53, -1}, - }, - { - {"0,56", "0", "3500000"}, - {"1,57", "0", "3500000"}, - {"2,58", "0", "3500000"}, - {"3,59", "0", "3500000"}, - {"4,60", "0", "3500000"}, - {"5,61", "0", "3500000"}, - {"6,62", "0", "3500000"}, - {"7,63", "0", "3500000"}, - {"8,64", "0", "3500000"}, - {"9,65", "0", "3500000"}, - {"", "", ""}, - {"11,67", "0", "3500000"}, - {"12,68", "0", "3500000"}, - {"13,69", "0", "3500000"}, - {"14,70", "0", "3500000"}, - {"15,71", "0", "3500000"}, - {"16,72", "0", "3500000"}, - {"17,73", "0", "3500000"}, - {"18,74", "0", "3500000"}, - {"19,75", "0", "3500000"}, - {"", "", ""}, - {"21,77", "0", "3500000"}, - {"22,78", "0", "3500000"}, - {"23,79", "0", "3500000"}, - {"24,80", "0", "3500000"}, - {"25,81", "0", "3500000"}, - {"26,82", "0", "3500000"}, - {"27,83", "0", "3500000"}, - {"28,84", "1", "3500000"}, - {"29,85", "1", "3500000"}, - {"30,86", "1", "3500000"}, - {"31,87", "1", "3500000"}, - {"32,88", "1", "3500000"}, - {"33,89", "1", "3500000"}, - {"34,90", "1", "3500000"}, - {"35,91", "1", "3500000"}, - {"36,92", "1", "3500000"}, - {"37,93", "1", "3500000"}, - {"38,94", "1", "3500000"}, - {"39,95", "1", "3500000"}, - {"40,96", "1", "3500000"}, - {"41,97", "1", "3500000"}, - {"42,98", "1", "3500000"}, - {"43,99", "1", "3500000"}, - {"44,100", "1", "3500000"}, - {"45,101", "1", "3500000"}, - {"46,102", "1", "3500000"}, - {"47,103", "1", "3500000"}, - {"48,104", "1", "3500000"}, - {"49,105", "1", "3500000"}, - {"50,106", "1", "3500000"}, - {"51,107", "1", "3500000"}, - {"52,108", "1", "3500000"}, - {"53,109", "1", "3500000"}, - {"54,110", "1", "3500000"}, - {"55,111", "1", "3500000"}, - {"0,56", "0", "3500000"}, - {"1,57", "0", "3500000"}, - {"2,58", "0", "3500000"}, - {"3,59", "0", "3500000"}, - {"4,60", "0", "3500000"}, - {"5,61", "0", "3500000"}, - {"6,62", "0", "3500000"}, - {"7,63", "0", "3500000"}, - {"8,64", "0", "3500000"}, - {"9,65", "0", "3500000"}, - {"66", "0", "3500000"}, - {"11,67", "0", "3500000"}, - {"12,68", "0", "3500000"}, - {"13,69", "0", "3500000"}, - {"14,70", "0", "3500000"}, - {"15,71", "0", "3500000"}, - {"16,72", "0", "3500000"}, - {"17,73", "0", "3500000"}, - {"18,74", "0", "3500000"}, - {"19,75", "0", "3500000"}, - {"76", "0", "3500000"}, - {"21,77", "0", "3500000"}, - {"22,78", "0", "3500000"}, - {"23,79", "0", "3500000"}, - {"24,80", "0", "3500000"}, - {"25,81", "0", "3500000"}, - {"26,82", "0", "3500000"}, - {"27,83", "0", "3500000"}, - {"28,84", "1", "3500000"}, - {"29,85", "1", "3500000"}, - {"30,86", "1", "3500000"}, - {"31,87", "1", "3500000"}, - {"32,88", "1", "3500000"}, - {"33,89", "1", "3500000"}, - {"34,90", "1", "3500000"}, - {"35,91", "1", "3500000"}, - {"36,92", "1", "3500000"}, - {"37,93", "1", "3500000"}, - {"38,94", "1", "3500000"}, - {"39,95", "1", "3500000"}, - {"40,96", "1", "3500000"}, - {"41,97", "1", "3500000"}, - {"42,98", "1", "3500000"}, - {"43,99", "1", "3500000"}, - {"44,100", "1", "3500000"}, - {"45,101", "1", "3500000"}, - {"46,102", "1", "3500000"}, - {"47,103", "1", "3500000"}, - {"48,104", "1", "3500000"}, - {"49,105", "1", "3500000"}, - {"50,106", "1", "3500000"}, - {"51,107", "1", "3500000"}, - {"52,108", "1", "3500000"}, - {"53,109", "1", "3500000"}, - {"54,110", "1", "3500000"}, - {"55,111", "1", "3500000"}, - }, - { - {"0-9,11-19,21-27,56-83"}, - {"28-55,84-111"}, - }, -}; LinuxCpuMapTestCase freq_2sockets_48cores_hyperthreading = { 96, 2, @@ -1169,7 +987,6 @@ TEST_P(LinuxCpuMapFreqParserTests, LinuxFreq) {} INSTANTIATE_TEST_SUITE_P(CPUMap, LinuxCpuMapFreqParserTests, testing::Values(freq_2sockets_112cores_hyperthreading, - freq_2sockets_56cores_hyperthreading, freq_2sockets_48cores_hyperthreading, freq_2sockets_48cores_hyperthreading_1, freq_2sockets_24cores_hyperthreading, From f5b85f1e70c1f49c8d06bb4036b484a9ce751283 Mon Sep 17 00:00:00 2001 From: Pavel Durandin Date: Thu, 19 Dec 2024 12:28:29 +0400 Subject: [PATCH 3/4] GPU: Cache encryption doc (#28137) ### Details: Cache encryption doc - following of https://github.com/openvinotoolkit/openvino/pull/28035 rolled back - to add GPU availability check for GHA in c++ and python snippets --------- Co-authored-by: Tomasz Krupa Co-authored-by: Sebastian Golebiewski --- .../assets/snippets/ov_caching.cpp | 38 ++++++++++++++++++- .../articles_en/assets/snippets/ov_caching.py | 18 +++++++++ .../model-caching-overview.rst | 22 ++++++++++- 3 files changed, 75 insertions(+), 3 deletions(-) diff --git a/docs/articles_en/assets/snippets/ov_caching.cpp b/docs/articles_en/assets/snippets/ov_caching.cpp index aa08a739261b81..f3113438e20642 100644 --- a/docs/articles_en/assets/snippets/ov_caching.cpp +++ b/docs/articles_en/assets/snippets/ov_caching.cpp @@ -90,6 +90,41 @@ auto compiled = core.compile_model(model, device, config); // Step 5: } } +void part5() { + std::string modelPath = "/tmp/myModel.xml"; + std::string device = "GPU"; + ov::Core core; // Step 1: create ov::Core object + bool hasGPU = false; // Step 1a: Check if GPU is available + auto devices = core.get_available_devices(); + for (auto&& supported : devices) { + hasGPU |= supported.find(device) != std::string::npos; + } + if(!hasGPU) { + return; + } + core.set_property(ov::cache_dir("/path/to/cache/dir")); // Step 1b: Enable caching +//! [ov:caching:part5] +static const char codec_key[] = {0x30, 0x60, 0x70, 0x02, 0x04, 0x08, 0x3F, 0x6F, 0x72, 0x74, 0x78, 0x7F}; +auto codec_xor = [&](const std::string& source_str) { + auto key_size = sizeof(codec_key); + int key_idx = 0; + std::string dst_str = source_str; + for (char& c : dst_str) { + c ^= codec_key[key_idx % key_size]; + key_idx++; + } + return dst_str; +}; +auto compiled = core.compile_model(modelPath, + device, + ov::cache_encryption_callbacks(ov::EncryptionCallbacks{codec_xor, codec_xor}), + ov::cache_mode(ov::CacheMode::OPTIMIZE_SIZE)); // Step 5: Compile model +//! [ov:caching:part5] + if (!compiled) { + throw std::runtime_error("error"); + } +} + int main() { try { part0(); @@ -97,7 +132,8 @@ int main() { part2(); part3(); part4(); + part5(); } catch (...) { } return 0; -} \ No newline at end of file +} diff --git a/docs/articles_en/assets/snippets/ov_caching.py b/docs/articles_en/assets/snippets/ov_caching.py index 57bd72f3f9b80b..b4534ebcd2d9c3 100644 --- a/docs/articles_en/assets/snippets/ov_caching.py +++ b/docs/articles_en/assets/snippets/ov_caching.py @@ -59,3 +59,21 @@ def decrypt_base64(src): model = core.read_model(model=model_path) compiled_model = core.compile_model(model=model, device_name=device_name, config=config_cache) # ! [ov:caching:part4] + +# ! [ov:caching:part5] +import base64 + +def encrypt_base64(src): + return base64.b64encode(bytes(src, "utf-8")) + +def decrypt_base64(src): + return base64.b64decode(bytes(src, "utf-8")) + +core = ov.Core() +if "GPU" in core.available_devices: + core.set_property({props.cache_dir: path_to_cache_dir}) + config_cache = {} + config_cache["CACHE_ENCRYPTION_CALLBACKS"] = [encrypt_base64, decrypt_base64] + config_cache["CACHE_MODE"] = "OPTIMIZE_SIZE" + compiled_model = core.compile_model(model=model_path, device_name='GPU', config=config_cache) +# ! [ov:caching:part5] diff --git a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst index 181622ff55baf1..b3253f775bdb02 100644 --- a/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst +++ b/docs/articles_en/openvino-workflow/running-inference/optimize-inference/optimizing-latency/model-caching-overview.rst @@ -139,7 +139,7 @@ To check in advance if a particular device supports model caching, your applicat Set "cache_encryption_callbacks" config option to enable cache encryption +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -If model caching is enabled, the model topology can be encrypted when saving to the cache and decrypted when loading from the cache. This property can currently be set only in ``compile_model``. +If model caching is enabled in the CPU Plugin, the model topology can be encrypted while it is saved to the cache and decrypted when it is loaded from the cache. Currently, this property can be set only in ``compile_model``. .. tab-set:: @@ -157,6 +157,24 @@ If model caching is enabled, the model topology can be encrypted when saving to :language: cpp :fragment: [ov:caching:part4] +If model caching is enabled in the GPU Plugin, the model topology can be encrypted while it is saved to the cache and decrypted when it is loaded from the cache. Full encryption only works when the ``CacheMode`` property is set to ``OPTIMIZE_SIZE``. + +.. tab-set:: + + .. tab-item:: Python + :sync: py + + .. doxygensnippet:: docs/articles_en/assets/snippets/ov_caching.py + :language: py + :fragment: [ov:caching:part5] + + .. tab-item:: C++ + :sync: cpp + + .. doxygensnippet:: docs/articles_en/assets/snippets/ov_caching.cpp + :language: cpp + :fragment: [ov:caching:part5] + .. important:: - Currently, this property is supported only by the CPU plugin. For other HW plugins, setting this property will not encrypt/decrypt the model topology in cache and will not affect performance. + Currently, this property is supported only by the CPU and GPU plugins. For other HW plugins, setting this property will not encrypt/decrypt the model topology in cache and will not affect performance. From a2b00ece6c84f018f7e7f12185dc2f76f9dd89da Mon Sep 17 00:00:00 2001 From: Arshad Mehmood Date: Thu, 19 Dec 2024 16:37:14 +0800 Subject: [PATCH 4/4] [GPU] Enabled uint8_t input for ArgMinMax ensuring TF test compliance (#27971) ### Details: This update introduces support for the uint8_t data type in the argminmax implementation on the cldnn path, which was previously lacking. Specifically, for the TopKV2 test case, the OpenVino IR optimization reduced the model to an argminmax primitive that did not support uint8_t inputs, causing failures. With the new uint8_t support for argminmax and the addition of a kernel, the test now passes. An OpenVino unit test has been added to verify uint8_t data type handling, with test inputs consisting of non-negative values. ### Tickets: - CVS-153078 - CVS-156587 Signed-off-by: Arshad Mehmood --- .../src/graph/impls/ocl/arg_max_min.cpp | 2 +- .../arg_max_min/arg_max_min_kernel_axis.cpp | 1 + .../arg_max_min_kernel_gpu_ref.cpp | 1 + .../arg_max_min/arg_max_min_kernel_opt.cpp | 1 + .../unit/test_cases/arg_max_gpu_test.cpp | 34 +++++++++++++++++-- .../tensorflow_tests/test_tf_ArgMinMax.py | 2 -- .../tensorflow_tests/test_tf_TopKV2.py | 2 -- 7 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/arg_max_min.cpp b/src/plugins/intel_gpu/src/graph/impls/ocl/arg_max_min.cpp index dd1e8d256860d7..496d38d9b44210 100644 --- a/src/plugins/intel_gpu/src/graph/impls/ocl/arg_max_min.cpp +++ b/src/plugins/intel_gpu/src/graph/impls/ocl/arg_max_min.cpp @@ -131,7 +131,7 @@ struct arg_max_min_impl : typed_primitive_impl_ocl { namespace detail { attach_arg_max_min_impl::attach_arg_max_min_impl() { - auto types = {data_types::f16, data_types::f32, data_types::i8, data_types::i32}; + auto types = {data_types::f16, data_types::f32, data_types::i8, data_types::i32, data_types::u8}; auto formats = { format::bfyx, diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_axis.cpp b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_axis.cpp index ecb6be6f17020d..4cedb9a3c7b6c7 100644 --- a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_axis.cpp +++ b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_axis.cpp @@ -52,6 +52,7 @@ ParamsKey ArgMaxMinKernelAxis::GetSupportedKey() const { k.EnableInputDataType(Datatype::F16); k.EnableInputDataType(Datatype::F32); k.EnableInputDataType(Datatype::INT8); + k.EnableInputDataType(Datatype::UINT8); k.EnableInputDataType(Datatype::INT32); k.EnableAllOutputDataType(); k.EnableInputLayout(DataLayout::bfyx); diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_gpu_ref.cpp b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_gpu_ref.cpp index 991edfcf093383..26b45f220968b2 100644 --- a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_gpu_ref.cpp +++ b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_gpu_ref.cpp @@ -10,6 +10,7 @@ ParamsKey ArgMaxMinKernelGPURef::GetSupportedKey() const { k.EnableInputDataType(Datatype::F16); k.EnableInputDataType(Datatype::F32); k.EnableInputDataType(Datatype::INT8); + k.EnableInputDataType(Datatype::UINT8); k.EnableAllOutputDataType(); k.EnableInputLayout(DataLayout::bfyx); k.EnableInputLayout(DataLayout::yxfb); diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_opt.cpp b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_opt.cpp index 5f31efdd089b7c..5216a9f53de7e8 100644 --- a/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_opt.cpp +++ b/src/plugins/intel_gpu/src/kernel_selector/kernels/arg_max_min/arg_max_min_kernel_opt.cpp @@ -10,6 +10,7 @@ ParamsKey ArgMaxMinKernelOpt::GetSupportedKey() const { k.EnableInputDataType(Datatype::F16); k.EnableInputDataType(Datatype::F32); k.EnableInputDataType(Datatype::INT8); + k.EnableInputDataType(Datatype::UINT8); k.EnableOutputDataType(Datatype::F32); k.EnableInputLayout(DataLayout::bfyx); k.EnableOutputLayout(DataLayout::bfyx); diff --git a/src/plugins/intel_gpu/tests/unit/test_cases/arg_max_gpu_test.cpp b/src/plugins/intel_gpu/tests/unit/test_cases/arg_max_gpu_test.cpp index eb532b2357f1da..ea65a864020e73 100644 --- a/src/plugins/intel_gpu/tests/unit/test_cases/arg_max_gpu_test.cpp +++ b/src/plugins/intel_gpu/tests/unit/test_cases/arg_max_gpu_test.cpp @@ -16,7 +16,6 @@ using namespace cldnn; using namespace ::tests; - template struct arg_max_input_types { static const auto format = layoutFormat; @@ -56,10 +55,21 @@ using format_types = testing::Types, arg_max_input_types, arg_max_input_types, arg_max_input_types, - arg_max_input_types>; + arg_max_input_types, + arg_max_input_types, + arg_max_input_types, + arg_max_input_types, + arg_max_input_types>; TYPED_TEST_SUITE(argmax_gpu_test, format_types); +// Helper trait to check for uint8_t input_type +template +struct is_uint8_input : std::false_type {}; + +template +struct is_uint8_input> : std::true_type {}; + TYPED_TEST(argmax_gpu_test, base) { // Input : 2x4x2x2 static const int32_t x_size = 2, y_size = 2, feature_num = 4, batch_num = 2; @@ -82,7 +92,25 @@ TYPED_TEST(argmax_gpu_test, base) { /*b1f1*/ 4.f, 0.5f, 8.f, 8.2f, /*b1f2*/ 0.2f, 0.2f, -10.f, 5.2f, /*b1f3*/ 4.f, 0.5f, 8.f, 8.2f}; - set_values(input, this->getTypedVector(input_vec)); + + // Positive values for u8 input type test + std::vector input_vec_u8 = {// y0x0 y0x1 y1x0 y1x1 + /*b0f0*/ 0.1f, 0.1f, 0.9f, 1.5f, + /*b0f1*/ 0.2f, 0.2f, 0.1f, 5.2f, + /*b0f2*/ 0.2f, 0.2f, 0.1f, 5.2f, + /*b0f3*/ 0.2f, 0.2f, 0.1f, 4.2f, + + /*b1f0*/ 3.f, 0.5f, 7.f, 10.f, + /*b1f1*/ 4.f, 0.5f, 8.f, 8.2f, + /*b1f2*/ 0.2f, 0.2f, 0.1f, 5.2f, + /*b1f3*/ 4.f, 0.5f, 8.f, 8.2f}; + + // If format is of type u8 then use non negative values as input. + if (is_uint8_input::value) { + set_values(input, this->getTypedVector(input_vec_u8)); + } else { + set_values(input, this->getTypedVector(input_vec)); + } network network(engine, topology, get_test_default_config(engine)); diff --git a/tests/layer_tests/tensorflow_tests/test_tf_ArgMinMax.py b/tests/layer_tests/tensorflow_tests/test_tf_ArgMinMax.py index 785ef72a60f3a1..5ea8b8e65086a3 100644 --- a/tests/layer_tests/tensorflow_tests/test_tf_ArgMinMax.py +++ b/tests/layer_tests/tensorflow_tests/test_tf_ArgMinMax.py @@ -69,8 +69,6 @@ def test_argmin_max_net(self, input_shape, dimension, input_type, output_type, o ie_device, precision, ir_version, temp_dir, use_legacy_frontend): if platform.machine() in ['aarch64', 'arm64', 'ARM64']: pytest.skip('153077: Segmentation fault on ARM') - if ie_device == 'GPU' and input_type == np.uint8: - pytest.skip('153078: No layout format available for topk') if ie_device == 'GPU' and input_type == np.float32 and input_shape == [10, 15, 20]: pytest.skip('153079: Accuracy error on GPU') self._test(*self.create_argmin_max_net(input_shape=input_shape, dimension=dimension, diff --git a/tests/layer_tests/tensorflow_tests/test_tf_TopKV2.py b/tests/layer_tests/tensorflow_tests/test_tf_TopKV2.py index 23d5c6bf2c23fe..65efbe7c6b8bd2 100644 --- a/tests/layer_tests/tensorflow_tests/test_tf_TopKV2.py +++ b/tests/layer_tests/tensorflow_tests/test_tf_TopKV2.py @@ -55,8 +55,6 @@ def create_topk_v2_net(self, input_shape, input_type, k, k_type, sorted, index_t def test_topk_v2(self, input_shape, input_type, k, k_type, sorted, index_type, ie_device, precision, ir_version, temp_dir, use_legacy_frontend): - if ie_device == 'GPU' and input_type == np.uint8: - pytest.skip('156587: Check correct_layout_selected failed for input uint8 on GPU') if platform.machine() in ['arm', 'armv7l', 'aarch64', 'arm64', 'ARM64'] and \ input_type in [np.int32, np.uint8, np.int16, np.int8, np.int64, np.uint16, np.uint32, np.uint64]: