From a9c4e4ab56549b647a035566e0a2cd6791ea7ed0 Mon Sep 17 00:00:00 2001 From: Wanglei Shen Date: Tue, 20 Jun 2023 10:04:42 +0800 Subject: [PATCH] enable node support (#17943) * enable node support on Linux * fix code style issue * enable node support on Windows * fix merge conflict * update for comments * update for comments * enable numa node id and socket id in proc_type_table and udpate inference unit test * update get_streams_info_table() and smoke test cases in CPU unit test * fix code style issue * update numa node id and socket id in proc_type_table on windows * update for comments * update for comments * update for comments --- .../dev_api/openvino/runtime/system_conf.hpp | 53 +- .../cpu_map_info.hpp} | 38 +- src/inference/src/os/lin/lin_system_conf.cpp | 213 +- src/inference/src/os/mac/mac_system_conf.cpp | 2 +- src/inference/src/os/win/win_system_conf.cpp | 17 +- src/inference/src/system_conf.cpp | 8 +- .../cpu_map_parser/cache_parser_linux.cpp | 1121 ++++++++++ .../unit/cpu_map_parser/freq_parser_linux.cpp | 992 +++++++++ .../parser_windows.cpp} | 1945 +++-------------- .../unit/cpu_map_parser/valid_proc_check.cpp | 492 ++--- src/plugins/intel_cpu/src/config.h | 10 +- .../intel_cpu/src/cpu_streams_calculation.cpp | 48 +- .../intel_cpu/src/cpu_streams_calculation.hpp | 15 +- .../tests/unit/streams_info_table_test.cpp | 1126 ++++++++-- 14 files changed, 3954 insertions(+), 2126 deletions(-) rename src/inference/src/{streams_executor.hpp => os/cpu_map_info.hpp} (75%) create mode 100644 src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp create mode 100644 src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp rename src/inference/tests/unit/{cpu_map_parser.cpp => cpu_map_parser/parser_windows.cpp} (62%) diff --git a/src/inference/dev_api/openvino/runtime/system_conf.hpp b/src/inference/dev_api/openvino/runtime/system_conf.hpp index ad007a4f6ee..53fdb7a3b78 100644 --- a/src/inference/dev_api/openvino/runtime/system_conf.hpp +++ b/src/inference/dev_api/openvino/runtime/system_conf.hpp @@ -168,24 +168,28 @@ OPENVINO_RUNTIME_API std::vector> get_proc_type_table(); * extend to support other CPU core type like ARM. * * The following are two example of processor type table. - * 1. Processor table of two socket CPUs XEON server + * 1. Processor table of 4 numa nodes and 2 socket server * - * ALL_PROC | MAIN_CORE_PROC | EFFICIENT_CORE_PROC | HYPER_THREADING_PROC - * 96 48 0 48 // Total number of two sockets - * 48 24 0 24 // Number of socket one - * 48 24 0 24 // Number of socket two + * ALL_PROC | MAIN_CORE_PROC | EFFICIENT_CORE_PROC | HYPER_THREADING_PROC | PROC_NUMA_NODE_ID | PROC_SOCKET_ID + * 96 48 0 48 -1 -1 + * 24 12 0 12 0 0 + * 24 12 0 12 1 0 + * 24 12 0 12 2 1 + * 24 12 0 12 3 1 * - * 2. Processor table of one socket CPU desktop + * 2. Processor table of 1 numa node desktop * - * ALL_PROC | MAIN_CORE_PROC | EFFICIENT_CORE_PROC | HYPER_THREADING_PROC - * 32 8 16 8 // Total number of one socket + * ALL_PROC | MAIN_CORE_PROC | EFFICIENT_CORE_PROC | HYPER_THREADING_PROC | PROC_NUMA_NODE_ID | PROC_SOCKET_ID + * 32 8 16 8 -1 -1 */ enum ColumnOfProcessorTypeTable { ALL_PROC = 0, //!< All processors, regardless of backend cpu MAIN_CORE_PROC = 1, //!< Processor based on physical core of Intel Performance-cores EFFICIENT_CORE_PROC = 2, //!< Processor based on Intel Efficient-cores HYPER_THREADING_PROC = 3, //!< Processor based on logical core of Intel Performance-cores - PROC_TYPE_TABLE_SIZE = 4 //!< Size of processor type table + PROC_NUMA_NODE_ID = 4, //!< Numa node id of processors in this row + PROC_SOCKET_ID = 5, //!< Socket id of processors in this row + PROC_TYPE_TABLE_SIZE = 6 //!< Size of processor type table }; /** @@ -229,24 +233,25 @@ OPENVINO_RUNTIME_API void set_cpu_used(const std::vector& cpu_ids, const in * 1. Four processors of two Pcore * 2. Four processors of four Ecores shared L2 cache * - * PROCESSOR_ID | SOCKET_ID | CORE_ID | CORE_TYPE | GROUP_ID | Used - * 0 0 0 3 0 0 - * 1 0 0 1 0 0 - * 2 0 1 3 1 0 - * 3 0 1 1 1 0 - * 4 0 2 2 2 0 - * 5 0 3 2 2 0 - * 6 0 4 2 2 0 - * 7 0 5 2 2 0 + * PROCESSOR_ID | NUMA_NODE_ID | SOCKET_ID | CORE_ID | CORE_TYPE | GROUP_ID | Used + * 0 0 0 0 3 0 0 + * 1 0 0 0 1 0 0 + * 2 0 0 1 3 1 0 + * 3 0 0 1 1 1 0 + * 4 0 0 2 2 2 0 + * 5 0 0 3 2 2 0 + * 6 0 0 4 2 2 0 + * 7 0 0 5 2 2 0 */ enum ColumnOfCPUMappingTable { CPU_MAP_PROCESSOR_ID = 0, //!< column for processor id of the processor - CPU_MAP_SOCKET_ID = 1, //!< column for socket id of the processor - CPU_MAP_CORE_ID = 2, //!< column for hardware core id of the processor - CPU_MAP_CORE_TYPE = 3, //!< column for CPU core type corresponding to the processor - CPU_MAP_GROUP_ID = 4, //!< column for group id to the processor. Processors in one group have dependency. - CPU_MAP_USED_FLAG = 5, //!< column for resource management of the processor - CPU_MAP_TABLE_SIZE = 6 //!< Size of CPU mapping table + CPU_MAP_NUMA_NODE_ID = 1, //!< column for node id of the processor + CPU_MAP_SOCKET_ID = 2, //!< column for socket id of the processor + CPU_MAP_CORE_ID = 3, //!< column for hardware core id of the processor + CPU_MAP_CORE_TYPE = 4, //!< column for CPU core type corresponding to the processor + CPU_MAP_GROUP_ID = 5, //!< column for group id to the processor. Processors in one group have dependency. + CPU_MAP_USED_FLAG = 6, //!< column for resource management of the processor + CPU_MAP_TABLE_SIZE = 7 //!< Size of CPU mapping table }; } // namespace ov diff --git a/src/inference/src/streams_executor.hpp b/src/inference/src/os/cpu_map_info.hpp similarity index 75% rename from src/inference/src/streams_executor.hpp rename to src/inference/src/os/cpu_map_info.hpp index ad9c23813a2..638b77e2904 100644 --- a/src/inference/src/streams_executor.hpp +++ b/src/inference/src/os/cpu_map_info.hpp @@ -3,8 +3,8 @@ // /** - * @brief A header file that provides a set minimal required Streams Executor API. - * @file streams_executor.hpp + * @brief A header file that provides a set of CPU map and parser functions. + * @file cpu_map_info.hpp */ #pragma once @@ -22,6 +22,7 @@ public: ~CPU(){}; int _processors = 0; int _numa_nodes = 0; + int _sockets = 0; int _cores = 0; std::vector> _proc_type_table; std::vector> _cpu_mapping_table; @@ -34,18 +35,37 @@ public: CPU& cpu_info(); #ifdef __linux__ +/** + * @brief Parse nodes information to update _sockets, proc_type_table and cpu_mapping_table on Linux + * @param[in] node_info_table nodes information for this platform. + * @param[in] _numa_nodes total number for nodes in system + * @param[out] _sockets total number for sockets in system + * @param[out] _proc_type_table summary table of number of processors per type + * @param[out] _cpu_mapping_table CPU mapping table for each processor + * @return + */ +void parse_node_info_linux(const std::vector node_info_table, + const int& _numa_nodes, + int& _sockets, + std::vector>& _proc_type_table, + std::vector>& _cpu_mapping_table); + /** * @brief Parse CPU cache infomation on Linux - * @param[in] _system_info_table system information for this platform. + * @param[in] system_info_table cpus information for this platform. + * @param[in] node_info_table nodes information for this platform. * @param[out] _processors total number for processors in system. + * @param[out] _numa_nodes total number for nodes in system * @param[out] _sockets total number for sockets in system * @param[out] _cores total number for physical CPU cores in system * @param[out] _proc_type_table summary table of number of processors per type * @param[out] _cpu_mapping_table CPU mapping table for each processor * @return */ -void parse_cache_info_linux(const std::vector> _system_info_table, +void parse_cache_info_linux(const std::vector> system_info_table, + const std::vector node_info_table, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, @@ -53,16 +73,20 @@ void parse_cache_info_linux(const std::vector> _system_ /** * @brief Parse CPU frequency infomation on Linux - * @param[in] _system_info_table system information for this platform. + * @param[in] system_info_table cpus information for this platform. + * @param[in] node_info_table nodes information for this platform. * @param[out] _processors total number for processors in system. + * @param[out] _numa_nodes total number for nodes in system * @param[out] _sockets total number for sockets in system * @param[out] _cores total number for physical CPU cores in system * @param[out] _proc_type_table summary table of number of processors per type * @param[out] _cpu_mapping_table CPU mapping table for each processor * @return */ -void parse_freq_info_linux(const std::vector> _system_info_table, +void parse_freq_info_linux(const std::vector> system_info_table, + const std::vector node_info_table, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, @@ -106,6 +130,7 @@ void get_cpu_mapping_from_cores(const int _processors, * @param[in] base_ptr buffer object pointer of Windows system infomation * @param[in] len buffer object length of Windows system infomation * @param[out] _processors total number for processors in system. + * @param[out] _numa_nodes total number for nodes in system * @param[out] _sockets total number for sockets in system * @param[out] _cores total number for physical CPU cores in system * @param[out] _proc_type_table summary table of number of processors per type @@ -115,6 +140,7 @@ void get_cpu_mapping_from_cores(const int _processors, void parse_processor_info_win(const char* base_ptr, const unsigned long len, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, diff --git a/src/inference/src/os/lin/lin_system_conf.cpp b/src/inference/src/os/lin/lin_system_conf.cpp index 58dc50da084..d1934867b70 100644 --- a/src/inference/src/os/lin/lin_system_conf.cpp +++ b/src/inference/src/os/lin/lin_system_conf.cpp @@ -15,12 +15,13 @@ #include "ie_common.h" #include "openvino/core/except.hpp" #include "openvino/runtime/system_conf.hpp" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" namespace ov { CPU::CPU() { std::vector> system_info_table; + std::vector node_info_table; _num_threads = parallel_get_max_threads(); auto get_cache_info_linux = [&]() { @@ -99,6 +100,21 @@ CPU::CPU() { return 0; }; + auto get_node_info_linux = [&]() { + int node_index = 0; + + while (1) { + std::ifstream cache_file("/sys/devices/system/node/node" + std::to_string(node_index) + "/cpulist"); + if (!cache_file.is_open()) { + break; + } + std::string cache_info; + std::getline(cache_file, cache_info); + node_info_table.push_back(cache_info); + node_index++; + } + }; + auto check_valid_cpu = [&]() { cpu_set_t mask; CPU_ZERO(&mask); @@ -131,10 +147,14 @@ CPU::CPU() { } }; + get_node_info_linux(); + if (!get_cache_info_linux()) { parse_cache_info_linux(system_info_table, + node_info_table, _processors, _numa_nodes, + _sockets, _cores, _proc_type_table, _cpu_mapping_table); @@ -143,8 +163,10 @@ CPU::CPU() { if ((_proc_type_table.size() == 0) || (_proc_type_table[0][MAIN_CORE_PROC] == 0)) { if (!get_freq_info_linux()) { parse_freq_info_linux(system_info_table, + node_info_table, _processors, _numa_nodes, + _sockets, _cores, _proc_type_table, _cpu_mapping_table); @@ -177,7 +199,10 @@ CPU::CPU() { } } _processors = processors.size(); + _numa_nodes = sockets.size() == 0 ? 1 : sockets.size(); + _sockets = _numa_nodes; + for (auto&& socket : sockets) { _cores += socket.second; } @@ -203,8 +228,77 @@ CPU::CPU() { }; } +void parse_node_info_linux(const std::vector node_info_table, + const int& _numa_nodes, + int& _sockets, + std::vector>& _proc_type_table, + std::vector>& _cpu_mapping_table) { + std::vector> nodes_table; + int node_index = 0; + + for (auto& one_info : node_info_table) { + int core_1 = 0; + int core_2 = 0; + std::string::size_type pos = 0; + std::string::size_type endpos = 0; + std::string sub_str = ""; + + if (((endpos = one_info.find('-', pos)) == std::string::npos) && + ((endpos = one_info.find(',', pos)) != std::string::npos)) { + while (endpos != std::string::npos) { + sub_str = one_info.substr(pos); + core_1 = std::stoi(sub_str); + nodes_table.push_back({core_1, core_1, node_index}); + endpos = one_info.find(',', pos); + pos = endpos + 1; + } + } else { + while (endpos != std::string::npos) { + if ((endpos = one_info.find('-', pos)) != std::string::npos) { + sub_str = one_info.substr(pos, endpos - pos); + core_1 = std::stoi(sub_str); + sub_str = one_info.substr(endpos + 1); + core_2 = std::stoi(sub_str); + nodes_table.push_back({core_1, core_2, node_index}); + pos = one_info.find(',', endpos); + if (pos == std::string::npos) { + break; + } else { + pos = pos + 1; + } + } + } + } + node_index++; + } + + _proc_type_table.assign((node_info_table.size() == 1) ? 1 : node_info_table.size() + 1, + std::vector({0, 0, 0, 0, -1, -1})); + + for (auto& row : nodes_table) { + for (int i = row[0]; i <= row[1]; i++) { + _cpu_mapping_table[i][CPU_MAP_NUMA_NODE_ID] = row[2]; + if (_sockets > _numa_nodes) { + _cpu_mapping_table[i][CPU_MAP_SOCKET_ID] = row[2]; + } + _proc_type_table[0][ALL_PROC]++; + _proc_type_table[0][_cpu_mapping_table[i][CPU_MAP_CORE_TYPE]]++; + if (node_info_table.size() != 1) { + _proc_type_table[row[2] + 1][ALL_PROC]++; + _proc_type_table[row[2] + 1][_cpu_mapping_table[i][CPU_MAP_CORE_TYPE]]++; + } + } + node_index = (node_info_table.size() != 1) ? row[2] + 1 : 0; + _proc_type_table[node_index][PROC_NUMA_NODE_ID] = _cpu_mapping_table[row[0]][CPU_MAP_NUMA_NODE_ID]; + _proc_type_table[node_index][PROC_SOCKET_ID] = _cpu_mapping_table[row[0]][CPU_MAP_SOCKET_ID]; + } + _sockets = (_sockets > _numa_nodes) ? _numa_nodes : _sockets; +} + void parse_cache_info_linux(const std::vector> system_info_table, + const std::vector node_info_table, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, @@ -224,7 +318,7 @@ void parse_cache_info_linux(const std::vector> system_i if (((endpos = system_info_table[nproc][0].find(',', pos)) != std::string::npos) || ((endpos = system_info_table[nproc][0].find('-', pos)) != std::string::npos)) { - sub_str = system_info_table[nproc][0].substr(pos, endpos); + sub_str = system_info_table[nproc][0].substr(pos, endpos - pos); core_1 = std::stoi(sub_str); sub_str = system_info_table[nproc][0].substr(endpos + 1); core_2 = std::stoi(sub_str); @@ -246,13 +340,12 @@ void parse_cache_info_linux(const std::vector> system_i _cpu_mapping_table[core_2][CPU_MAP_GROUP_ID] = n_group; _cores++; - n_group++; _proc_type_table[0][ALL_PROC] += 2; _proc_type_table[0][MAIN_CORE_PROC]++; _proc_type_table[0][HYPER_THREADING_PROC]++; } else if ((endpos = system_info_table[nproc][1].find('-', pos)) != std::string::npos) { - sub_str = system_info_table[nproc][1].substr(pos, endpos); + sub_str = system_info_table[nproc][1].substr(pos, endpos - pos); core_1 = std::stoi(sub_str); sub_str = system_info_table[nproc][1].substr(endpos + 1); core_2 = std::stoi(sub_str); @@ -268,8 +361,6 @@ void parse_cache_info_linux(const std::vector> system_i _proc_type_table[0][ALL_PROC]++; _proc_type_table[0][EFFICIENT_CORE_PROC]++; } - - n_group++; } else { core_1 = std::stoi(system_info_table[nproc][0]); @@ -279,16 +370,23 @@ void parse_cache_info_linux(const std::vector> system_i _cpu_mapping_table[core_1][CPU_MAP_GROUP_ID] = n_group; _cores++; - n_group++; _proc_type_table[0][ALL_PROC]++; _proc_type_table[0][MAIN_CORE_PROC]++; } + + n_group++; + _proc_type_table[0][PROC_NUMA_NODE_ID] = (_proc_type_table[0][PROC_NUMA_NODE_ID] == -1) + ? _cpu_mapping_table[core_1][CPU_MAP_NUMA_NODE_ID] + : _proc_type_table[0][PROC_NUMA_NODE_ID]; + _proc_type_table[0][PROC_SOCKET_ID] = (_proc_type_table[0][PROC_SOCKET_ID] == -1) + ? _cpu_mapping_table[core_1][CPU_MAP_SOCKET_ID] + : _proc_type_table[0][PROC_SOCKET_ID]; } return; }; - std::vector line_value_0(PROC_TYPE_TABLE_SIZE, 0); + std::vector line_value_0({0, 0, 0, 0, -1, -1}); for (int n = 0; n < _processors; n++) { if (-1 == _cpu_mapping_table[n][CPU_MAP_SOCKET_ID]) { @@ -308,19 +406,21 @@ void parse_cache_info_linux(const std::vector> system_i while (1) { if ((endpos = system_info_table[n][2].find('-', pos)) != std::string::npos) { - sub_str = system_info_table[n][2].substr(pos, endpos); + 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); } } 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); endpos = pos; } @@ -334,15 +434,22 @@ void parse_cache_info_linux(const std::vector> system_i _sockets++; } } - if (_sockets > 1) { - _proc_type_table.push_back(_proc_type_table[0]); - _proc_type_table[0] = line_value_0; - for (int m = 1; m <= _sockets; m++) { - for (int n = 0; n < PROC_TYPE_TABLE_SIZE; n++) { - _proc_type_table[0][n] += _proc_type_table[m][n]; + if ((node_info_table.size() == 0) || (node_info_table.size() == (unsigned)_sockets)) { + if (_sockets > 1) { + _proc_type_table.push_back(_proc_type_table[0]); + _proc_type_table[0] = line_value_0; + + for (int m = 1; m <= _sockets; m++) { + for (int n = 0; n < PROC_NUMA_NODE_ID; n++) { + _proc_type_table[0][n] += _proc_type_table[m][n]; + } } } + _numa_nodes = _sockets; + } else { + _numa_nodes = node_info_table.size(); + parse_node_info_linux(node_info_table, _numa_nodes, _sockets, _proc_type_table, _cpu_mapping_table); } }; @@ -358,11 +465,10 @@ void get_cpu_mapping_from_cores(const int _processors, const auto socket_offset = big_phys_cores / _numa_nodes; const auto threads_per_core = hyper_thread ? 2 : 1; const auto step = num_small_cores_phys > 0 ? 2 : 1; - std::vector pro_all_table; + std::vector pro_all_table = {0, 0, 0, 0, -1, -1}; _cpu_mapping_table.resize(_processors, std::vector(CPU_MAP_TABLE_SIZE, -1)); - _proc_type_table.assign(_numa_nodes, std::vector(PROC_TYPE_TABLE_SIZE, 0)); - pro_all_table.resize(PROC_TYPE_TABLE_SIZE, 0); + _proc_type_table.assign(_numa_nodes, std::vector({0, 0, 0, 0, -1, -1})); for (int t = 0; t < threads_per_core; t++) { int start = t == 0 ? 0 : (num_small_cores_phys > 0 ? 1 : big_phys_cores); @@ -374,10 +480,17 @@ void get_cpu_mapping_from_cores(const int _processors, _cpu_mapping_table[cur_id][CPU_MAP_CORE_TYPE] = hyper_thread ? (t == 0 ? HYPER_THREADING_PROC : MAIN_CORE_PROC) : MAIN_CORE_PROC; _cpu_mapping_table[cur_id][CPU_MAP_GROUP_ID] = i; + _cpu_mapping_table[cur_id][CPU_MAP_NUMA_NODE_ID] = socket_id; _cpu_mapping_table[cur_id][CPU_MAP_SOCKET_ID] = socket_id; _proc_type_table[socket_id][_cpu_mapping_table[cur_id][CPU_MAP_CORE_TYPE]]++; _proc_type_table[socket_id][ALL_PROC]++; + _proc_type_table[socket_id][PROC_NUMA_NODE_ID] = (_proc_type_table[socket_id][PROC_NUMA_NODE_ID] == -1) + ? socket_id + : _proc_type_table[socket_id][PROC_NUMA_NODE_ID]; + _proc_type_table[socket_id][PROC_SOCKET_ID] = (_proc_type_table[socket_id][PROC_SOCKET_ID] == -1) + ? socket_id + : _proc_type_table[socket_id][PROC_SOCKET_ID]; pro_all_table[_cpu_mapping_table[cur_id][CPU_MAP_CORE_TYPE]]++; pro_all_table[ALL_PROC]++; } @@ -389,6 +502,7 @@ void get_cpu_mapping_from_cores(const int _processors, _cpu_mapping_table[cur_id][CPU_MAP_CORE_ID] = big_phys_cores + j; _cpu_mapping_table[cur_id][CPU_MAP_CORE_TYPE] = EFFICIENT_CORE_PROC; _cpu_mapping_table[cur_id][CPU_MAP_GROUP_ID] = big_phys_cores + j / 4; + _cpu_mapping_table[cur_id][CPU_MAP_NUMA_NODE_ID] = 0; _cpu_mapping_table[cur_id][CPU_MAP_SOCKET_ID] = 0; _proc_type_table[0][_cpu_mapping_table[cur_id][CPU_MAP_CORE_TYPE]]++; @@ -403,7 +517,9 @@ void get_cpu_mapping_from_cores(const int _processors, } void parse_freq_info_linux(const std::vector> system_info_table, + const std::vector node_info_table, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, @@ -413,6 +529,7 @@ void parse_freq_info_linux(const std::vector> system_in bool ht_enabled = false; _processors = system_info_table.size(); + _numa_nodes = 0; _sockets = 0; _cores = 0; _cpu_mapping_table.resize(_processors, std::vector(CPU_MAP_TABLE_SIZE, -1)); @@ -432,19 +549,21 @@ void parse_freq_info_linux(const std::vector> system_in 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); + 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); _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]; @@ -452,12 +571,12 @@ void parse_freq_info_linux(const std::vector> system_in 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_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]); @@ -476,28 +595,40 @@ void parse_freq_info_linux(const std::vector> system_in } } - if ((_sockets >= 1) && (ecore_enabled)) { - _sockets = 0; - } + _sockets = (_sockets > 0) ? _sockets + 1 : 1; - if (_sockets >= 1) { - _proc_type_table.resize(_sockets + 2, std::vector(PROC_TYPE_TABLE_SIZE, 0)); - for (int n = 0; n < _processors; n++) { - _proc_type_table[0][ALL_PROC]++; - _proc_type_table[_cpu_mapping_table[n][CPU_MAP_SOCKET_ID] + 1][ALL_PROC]++; - - _proc_type_table[0][_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; - _proc_type_table[_cpu_mapping_table[n][CPU_MAP_SOCKET_ID] + 1][_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; + if (node_info_table.size() == 0) { + if ((_sockets > 1) && (ecore_enabled)) { + _sockets = 1; // This is the WA of the developing platform without CPU cache and numa node information. + // Wrong socket information creates each socket ID per CPU core. } - _sockets++; + if (_sockets > 1) { + _proc_type_table.resize(_sockets + 1, std::vector({0, 0, 0, 0, -1, -1})); + for (int n = 0; n < _processors; n++) { + _proc_type_table[0][ALL_PROC]++; + _proc_type_table[_cpu_mapping_table[n][CPU_MAP_SOCKET_ID] + 1][ALL_PROC]++; + + _proc_type_table[0][_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; + _proc_type_table[_cpu_mapping_table[n][CPU_MAP_SOCKET_ID] + 1] + [_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; + } + for (int n = 0; n < _sockets; n++) { + _proc_type_table[n + 1][PROC_NUMA_NODE_ID] = n; + _proc_type_table[n + 1][PROC_SOCKET_ID] = n; + }; + } else { + _proc_type_table.resize(1, std::vector({0, 0, 0, 0, 0, 0})); + for (int n = 0; n < _processors; n++) { + _proc_type_table[0][ALL_PROC]++; + _proc_type_table[0][_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; + _cpu_mapping_table[n][CPU_MAP_NUMA_NODE_ID] = 0; + _cpu_mapping_table[n][CPU_MAP_SOCKET_ID] = 0; + } + } + _numa_nodes = _sockets; } else { - _proc_type_table.resize(1, std::vector(PROC_TYPE_TABLE_SIZE, 0)); - for (int n = 0; n < _processors; n++) { - _proc_type_table[0][ALL_PROC]++; - _proc_type_table[0][_cpu_mapping_table[n][CPU_MAP_CORE_TYPE]]++; - _cpu_mapping_table[n][CPU_MAP_SOCKET_ID] = 0; - } - _sockets = 1; + _numa_nodes = node_info_table.size(); + parse_node_info_linux(node_info_table, _numa_nodes, _sockets, _proc_type_table, _cpu_mapping_table); } }; @@ -507,7 +638,7 @@ void update_valid_processor_linux(const std::vector phy_core_list, std::vector>& _proc_type_table, std::vector>& _cpu_mapping_table) { for (auto& row : _proc_type_table) { - std::fill(row.begin(), row.end(), 0); + std::fill(row.begin(), row.begin() + PROC_NUMA_NODE_ID, 0); } _cores = 0; for (auto& row : _cpu_mapping_table) { @@ -540,7 +671,7 @@ void update_valid_processor_linux(const std::vector phy_core_list, } if ((_proc_type_table.size() > 1) && (_proc_type_table[0][ALL_PROC] == _proc_type_table[1][ALL_PROC])) { - _proc_type_table.pop_back(); + _proc_type_table.erase(_proc_type_table.begin()); } } _sockets = _proc_type_table.size() == 1 ? 1 : _proc_type_table.size() - 1; diff --git a/src/inference/src/os/mac/mac_system_conf.cpp b/src/inference/src/os/mac/mac_system_conf.cpp index 174168fe702..f0fad3434f0 100644 --- a/src/inference/src/os/mac/mac_system_conf.cpp +++ b/src/inference/src/os/mac/mac_system_conf.cpp @@ -8,7 +8,7 @@ #include "dev/threading/parallel_custom_arena.hpp" #include "openvino/runtime/system_conf.hpp" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" namespace ov { diff --git a/src/inference/src/os/win/win_system_conf.cpp b/src/inference/src/os/win/win_system_conf.cpp index fd19b4d16c8..2c7aaec3366 100644 --- a/src/inference/src/os/win/win_system_conf.cpp +++ b/src/inference/src/os/win/win_system_conf.cpp @@ -13,7 +13,7 @@ #include "dev/threading/parallel_custom_arena.hpp" #include "openvino/runtime/system_conf.hpp" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" namespace ov { @@ -34,6 +34,7 @@ CPU::CPU() { len, _processors, _numa_nodes, + _sockets, _cores, _proc_type_table, _cpu_mapping_table); @@ -42,6 +43,7 @@ CPU::CPU() { void parse_processor_info_win(const char* base_ptr, const unsigned long len, int& _processors, + int& _numa_nodes, int& _sockets, int& _cores, std::vector>& _proc_type_table, @@ -49,7 +51,7 @@ void parse_processor_info_win(const char* base_ptr, std::vector list; std::vector proc_info; - std::vector proc_init_line(PROC_TYPE_TABLE_SIZE, 0); + std::vector proc_init_line({0, 0, 0, 0, -1, -1}); std::vector cpu_init_line(CPU_MAP_TABLE_SIZE, -1); char* info_ptr = (char*)base_ptr; @@ -107,6 +109,7 @@ void parse_processor_info_win(const char* base_ptr, if (2 == list_len) { proc_info = cpu_init_line; proc_info[CPU_MAP_PROCESSOR_ID] = list[0] + base_proc; + proc_info[CPU_MAP_NUMA_NODE_ID] = _sockets; proc_info[CPU_MAP_SOCKET_ID] = _sockets; proc_info[CPU_MAP_CORE_ID] = _cores; proc_info[CPU_MAP_CORE_TYPE] = HYPER_THREADING_PROC; @@ -115,6 +118,7 @@ void parse_processor_info_win(const char* base_ptr, proc_info = cpu_init_line; proc_info[CPU_MAP_PROCESSOR_ID] = list[1] + base_proc; + proc_info[CPU_MAP_NUMA_NODE_ID] = _sockets; proc_info[CPU_MAP_SOCKET_ID] = _sockets; proc_info[CPU_MAP_CORE_ID] = _cores; proc_info[CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC; @@ -128,6 +132,7 @@ void parse_processor_info_win(const char* base_ptr, } else { proc_info = cpu_init_line; proc_info[CPU_MAP_PROCESSOR_ID] = list[0] + base_proc; + proc_info[CPU_MAP_NUMA_NODE_ID] = _sockets; proc_info[CPU_MAP_SOCKET_ID] = _sockets; proc_info[CPU_MAP_CORE_ID] = _cores; if ((_processors > group_start) && (_processors <= group_end)) { @@ -185,11 +190,17 @@ void parse_processor_info_win(const char* base_ptr, _proc_type_table[0] = proc_init_line; for (int m = 1; m <= _sockets; m++) { - for (int n = 0; n < PROC_TYPE_TABLE_SIZE; n++) { + for (int n = 0; n <= HYPER_THREADING_PROC; n++) { _proc_type_table[0][n] += _proc_type_table[m][n]; } + _proc_type_table[m][PROC_SOCKET_ID] = m - 1; + _proc_type_table[m][PROC_NUMA_NODE_ID] = m - 1; } + } else { + _proc_type_table[0][PROC_SOCKET_ID] = 0; + _proc_type_table[0][PROC_NUMA_NODE_ID] = 0; } + _numa_nodes = _sockets; } int get_number_of_cpu_cores(bool bigCoresOnly) { diff --git a/src/inference/src/system_conf.cpp b/src/inference/src/system_conf.cpp index d7ecff24e07..d05ab35cf44 100644 --- a/src/inference/src/system_conf.cpp +++ b/src/inference/src/system_conf.cpp @@ -16,7 +16,7 @@ #include "dev/threading/parallel_custom_arena.hpp" #include "ie_common.h" #include "openvino/core/visibility.hpp" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" #include "threading/ie_cpu_streams_info.hpp" #ifdef __APPLE__ @@ -341,11 +341,11 @@ void set_cpu_used(const std::vector& cpu_ids, const int used) { all_table.resize(PROC_TYPE_TABLE_SIZE, 0); for (int i = 0; i < cpu._processors; i++) { if (cpu._cpu_mapping_table[i][CPU_MAP_USED_FLAG] < PLUGIN_USED_START && - cpu._cpu_mapping_table[i][CPU_MAP_SOCKET_ID] >= 0 && + cpu._cpu_mapping_table[i][CPU_MAP_NUMA_NODE_ID] >= 0 && cpu._cpu_mapping_table[i][CPU_MAP_CORE_TYPE] >= ALL_PROC) { - cpu._proc_type_table[cpu._cpu_mapping_table[i][CPU_MAP_SOCKET_ID] + start] + cpu._proc_type_table[cpu._cpu_mapping_table[i][CPU_MAP_NUMA_NODE_ID] + start] [cpu._cpu_mapping_table[i][CPU_MAP_CORE_TYPE]]++; - cpu._proc_type_table[cpu._cpu_mapping_table[i][CPU_MAP_SOCKET_ID] + start][ALL_PROC]++; + cpu._proc_type_table[cpu._cpu_mapping_table[i][CPU_MAP_NUMA_NODE_ID] + start][ALL_PROC]++; all_table[cpu._cpu_mapping_table[i][CPU_MAP_CORE_TYPE]]++; all_table[ALL_PROC]++; } 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 new file mode 100644 index 00000000000..ed9a19a37fc --- /dev/null +++ b/src/inference/tests/unit/cpu_map_parser/cache_parser_linux.cpp @@ -0,0 +1,1121 @@ +// Copyright (C) 2018-2023 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +#include + +#include + +#include "ie_system_conf.h" +#include "os/cpu_map_info.hpp" + +using namespace testing; +using namespace ov; + +namespace { + +#ifdef __linux__ + +struct LinuxCpuMapTestCase { + int _processors; + int _numa_nodes; + int _sockets; + int _cores; + std::vector> _proc_type_table; + std::vector> _cpu_mapping_table; + std::vector> system_info_table; + std::vector node_info_table; +}; + +class LinuxCpuMapCacheParserTests : public CommonTestUtils::TestsCommon, + public testing::WithParamInterface> { +public: + void SetUp() override { + const auto& test_data = std::get<0>(GetParam()); + + int test_processors = 0; + int test_numa_nodes = 0; + int test_sockets = 0; + int test_cores = 0; + std::vector> test_proc_type_table; + std::vector> test_cpu_mapping_table; + + ov::parse_cache_info_linux(test_data.system_info_table, + test_data.node_info_table, + test_processors, + test_numa_nodes, + test_sockets, + test_cores, + test_proc_type_table, + test_cpu_mapping_table); + + ASSERT_EQ(test_data._processors, test_processors); + ASSERT_EQ(test_data._numa_nodes, test_numa_nodes); + ASSERT_EQ(test_data._sockets, test_sockets); + ASSERT_EQ(test_data._cores, test_cores); + ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); + ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); + } +}; + +class LinuxGetCpuMapFromCoresTests : public CommonTestUtils::TestsCommon, + public testing::WithParamInterface> { +public: + void SetUp() override { + const auto& test_data = std::get<0>(GetParam()); + + std::vector> test_proc_type_table; + std::vector> test_cpu_mapping_table; + + ov::get_cpu_mapping_from_cores(test_data._processors, + test_data._sockets, + test_data._cores, + test_proc_type_table, + test_cpu_mapping_table); + + ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); + ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); + } +}; + +LinuxCpuMapTestCase cache_2sockets_104cores_hyperthreading = { + 208, // param[expected out]: total 208 logcial processors on this simulated platform + 2, // param[expected out]: total 2 numa nodes on this simulated platform + 2, // param[expected out]: total 2 sockets on this simulated platform + 104, // param[expected out]: total 104 CPU cores on this simulated platform + {{208, 104, 0, 104, -1, -1}, + {104, 52, 0, 52, 0, 0}, + {104, 52, 0, 52, 1, 1}}, // param[expected out]: The proc_type_table of this simulated platform + { + {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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 0, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 0, 27, HYPER_THREADING_PROC, 27, -1}, + {28, 0, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 0, 29, HYPER_THREADING_PROC, 29, -1}, + {30, 0, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 0, 31, HYPER_THREADING_PROC, 31, -1}, + {32, 0, 0, 32, HYPER_THREADING_PROC, 32, -1}, {33, 0, 0, 33, HYPER_THREADING_PROC, 33, -1}, + {34, 0, 0, 34, HYPER_THREADING_PROC, 34, -1}, {35, 0, 0, 35, HYPER_THREADING_PROC, 35, -1}, + {36, 0, 0, 36, HYPER_THREADING_PROC, 36, -1}, {37, 0, 0, 37, HYPER_THREADING_PROC, 37, -1}, + {38, 0, 0, 38, HYPER_THREADING_PROC, 38, -1}, {39, 0, 0, 39, HYPER_THREADING_PROC, 39, -1}, + {40, 0, 0, 40, HYPER_THREADING_PROC, 40, -1}, {41, 0, 0, 41, HYPER_THREADING_PROC, 41, -1}, + {42, 0, 0, 42, HYPER_THREADING_PROC, 42, -1}, {43, 0, 0, 43, HYPER_THREADING_PROC, 43, -1}, + {44, 0, 0, 44, HYPER_THREADING_PROC, 44, -1}, {45, 0, 0, 45, HYPER_THREADING_PROC, 45, -1}, + {46, 0, 0, 46, HYPER_THREADING_PROC, 46, -1}, {47, 0, 0, 47, HYPER_THREADING_PROC, 47, -1}, + {48, 0, 0, 48, HYPER_THREADING_PROC, 48, -1}, {49, 0, 0, 49, HYPER_THREADING_PROC, 49, -1}, + {50, 0, 0, 50, HYPER_THREADING_PROC, 50, -1}, {51, 0, 0, 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, 1, 1, 56, HYPER_THREADING_PROC, 56, -1}, {57, 1, 1, 57, HYPER_THREADING_PROC, 57, -1}, + {58, 1, 1, 58, HYPER_THREADING_PROC, 58, -1}, {59, 1, 1, 59, HYPER_THREADING_PROC, 59, -1}, + {60, 1, 1, 60, HYPER_THREADING_PROC, 60, -1}, {61, 1, 1, 61, HYPER_THREADING_PROC, 61, -1}, + {62, 1, 1, 62, HYPER_THREADING_PROC, 62, -1}, {63, 1, 1, 63, HYPER_THREADING_PROC, 63, -1}, + {64, 1, 1, 64, HYPER_THREADING_PROC, 64, -1}, {65, 1, 1, 65, HYPER_THREADING_PROC, 65, -1}, + {66, 1, 1, 66, HYPER_THREADING_PROC, 66, -1}, {67, 1, 1, 67, HYPER_THREADING_PROC, 67, -1}, + {68, 1, 1, 68, HYPER_THREADING_PROC, 68, -1}, {69, 1, 1, 69, HYPER_THREADING_PROC, 69, -1}, + {70, 1, 1, 70, HYPER_THREADING_PROC, 70, -1}, {71, 1, 1, 71, HYPER_THREADING_PROC, 71, -1}, + {72, 1, 1, 72, HYPER_THREADING_PROC, 72, -1}, {73, 1, 1, 73, HYPER_THREADING_PROC, 73, -1}, + {74, 1, 1, 74, HYPER_THREADING_PROC, 74, -1}, {75, 1, 1, 75, HYPER_THREADING_PROC, 75, -1}, + {76, 1, 1, 76, HYPER_THREADING_PROC, 76, -1}, {77, 1, 1, 77, HYPER_THREADING_PROC, 77, -1}, + {78, 1, 1, 78, HYPER_THREADING_PROC, 78, -1}, {79, 1, 1, 79, HYPER_THREADING_PROC, 79, -1}, + {80, 1, 1, 80, HYPER_THREADING_PROC, 80, -1}, {81, 1, 1, 81, HYPER_THREADING_PROC, 81, -1}, + {82, 1, 1, 82, HYPER_THREADING_PROC, 82, -1}, {83, 1, 1, 83, HYPER_THREADING_PROC, 83, -1}, + {84, 1, 1, 84, HYPER_THREADING_PROC, 84, -1}, {85, 1, 1, 85, HYPER_THREADING_PROC, 85, -1}, + {86, 1, 1, 86, HYPER_THREADING_PROC, 86, -1}, {87, 1, 1, 87, HYPER_THREADING_PROC, 87, -1}, + {88, 1, 1, 88, HYPER_THREADING_PROC, 88, -1}, {89, 1, 1, 89, HYPER_THREADING_PROC, 89, -1}, + {90, 1, 1, 90, HYPER_THREADING_PROC, 90, -1}, {91, 1, 1, 91, HYPER_THREADING_PROC, 91, -1}, + {92, 1, 1, 92, HYPER_THREADING_PROC, 92, -1}, {93, 1, 1, 93, HYPER_THREADING_PROC, 93, -1}, + {94, 1, 1, 94, HYPER_THREADING_PROC, 94, -1}, {95, 1, 1, 95, HYPER_THREADING_PROC, 95, -1}, + {96, 1, 1, 96, HYPER_THREADING_PROC, 96, -1}, {97, 1, 1, 97, HYPER_THREADING_PROC, 97, -1}, + {98, 1, 1, 98, HYPER_THREADING_PROC, 98, -1}, {99, 1, 1, 99, HYPER_THREADING_PROC, 99, -1}, + {100, 1, 1, 100, HYPER_THREADING_PROC, 100, -1}, {101, 1, 1, 101, HYPER_THREADING_PROC, 101, -1}, + {102, 1, 1, 102, HYPER_THREADING_PROC, 102, -1}, {103, 1, 1, 103, HYPER_THREADING_PROC, 103, -1}, + {104, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {105, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {106, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {107, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {108, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {109, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {110, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {111, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {112, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {113, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {114, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {115, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {116, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {117, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {118, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {119, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {120, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {121, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {122, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {123, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {124, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {125, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {126, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {127, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {128, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, {129, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, + {130, 0, 0, 26, MAIN_CORE_PROC, 26, -1}, {131, 0, 0, 27, MAIN_CORE_PROC, 27, -1}, + {132, 0, 0, 28, MAIN_CORE_PROC, 28, -1}, {133, 0, 0, 29, MAIN_CORE_PROC, 29, -1}, + {134, 0, 0, 30, MAIN_CORE_PROC, 30, -1}, {135, 0, 0, 31, MAIN_CORE_PROC, 31, -1}, + {136, 0, 0, 32, MAIN_CORE_PROC, 32, -1}, {137, 0, 0, 33, MAIN_CORE_PROC, 33, -1}, + {138, 0, 0, 34, MAIN_CORE_PROC, 34, -1}, {139, 0, 0, 35, MAIN_CORE_PROC, 35, -1}, + {140, 0, 0, 36, MAIN_CORE_PROC, 36, -1}, {141, 0, 0, 37, MAIN_CORE_PROC, 37, -1}, + {142, 0, 0, 38, MAIN_CORE_PROC, 38, -1}, {143, 0, 0, 39, MAIN_CORE_PROC, 39, -1}, + {144, 0, 0, 40, MAIN_CORE_PROC, 40, -1}, {145, 0, 0, 41, MAIN_CORE_PROC, 41, -1}, + {146, 0, 0, 42, MAIN_CORE_PROC, 42, -1}, {147, 0, 0, 43, MAIN_CORE_PROC, 43, -1}, + {148, 0, 0, 44, MAIN_CORE_PROC, 44, -1}, {149, 0, 0, 45, MAIN_CORE_PROC, 45, -1}, + {150, 0, 0, 46, MAIN_CORE_PROC, 46, -1}, {151, 0, 0, 47, MAIN_CORE_PROC, 47, -1}, + {152, 0, 0, 48, MAIN_CORE_PROC, 48, -1}, {153, 0, 0, 49, MAIN_CORE_PROC, 49, -1}, + {154, 0, 0, 50, MAIN_CORE_PROC, 50, -1}, {155, 0, 0, 51, MAIN_CORE_PROC, 51, -1}, + {156, 1, 1, 52, MAIN_CORE_PROC, 52, -1}, {157, 1, 1, 53, MAIN_CORE_PROC, 53, -1}, + {158, 1, 1, 54, MAIN_CORE_PROC, 54, -1}, {159, 1, 1, 55, MAIN_CORE_PROC, 55, -1}, + {160, 1, 1, 56, MAIN_CORE_PROC, 56, -1}, {161, 1, 1, 57, MAIN_CORE_PROC, 57, -1}, + {162, 1, 1, 58, MAIN_CORE_PROC, 58, -1}, {163, 1, 1, 59, MAIN_CORE_PROC, 59, -1}, + {164, 1, 1, 60, MAIN_CORE_PROC, 60, -1}, {165, 1, 1, 61, MAIN_CORE_PROC, 61, -1}, + {166, 1, 1, 62, MAIN_CORE_PROC, 62, -1}, {167, 1, 1, 63, MAIN_CORE_PROC, 63, -1}, + {168, 1, 1, 64, MAIN_CORE_PROC, 64, -1}, {169, 1, 1, 65, MAIN_CORE_PROC, 65, -1}, + {170, 1, 1, 66, MAIN_CORE_PROC, 66, -1}, {171, 1, 1, 67, MAIN_CORE_PROC, 67, -1}, + {172, 1, 1, 68, MAIN_CORE_PROC, 68, -1}, {173, 1, 1, 69, MAIN_CORE_PROC, 69, -1}, + {174, 1, 1, 70, MAIN_CORE_PROC, 70, -1}, {175, 1, 1, 71, MAIN_CORE_PROC, 71, -1}, + {176, 1, 1, 72, MAIN_CORE_PROC, 72, -1}, {177, 1, 1, 73, MAIN_CORE_PROC, 73, -1}, + {178, 1, 1, 74, MAIN_CORE_PROC, 74, -1}, {179, 1, 1, 75, MAIN_CORE_PROC, 75, -1}, + {180, 1, 1, 76, MAIN_CORE_PROC, 76, -1}, {181, 1, 1, 77, MAIN_CORE_PROC, 77, -1}, + {182, 1, 1, 78, MAIN_CORE_PROC, 78, -1}, {183, 1, 1, 79, MAIN_CORE_PROC, 79, -1}, + {184, 1, 1, 80, MAIN_CORE_PROC, 80, -1}, {185, 1, 1, 81, MAIN_CORE_PROC, 81, -1}, + {186, 1, 1, 82, MAIN_CORE_PROC, 82, -1}, {187, 1, 1, 83, MAIN_CORE_PROC, 83, -1}, + {188, 1, 1, 84, MAIN_CORE_PROC, 84, -1}, {189, 1, 1, 85, MAIN_CORE_PROC, 85, -1}, + {190, 1, 1, 86, MAIN_CORE_PROC, 86, -1}, {191, 1, 1, 87, MAIN_CORE_PROC, 87, -1}, + {192, 1, 1, 88, MAIN_CORE_PROC, 88, -1}, {193, 1, 1, 89, MAIN_CORE_PROC, 89, -1}, + {194, 1, 1, 90, MAIN_CORE_PROC, 90, -1}, {195, 1, 1, 91, MAIN_CORE_PROC, 91, -1}, + {196, 1, 1, 92, MAIN_CORE_PROC, 92, -1}, {197, 1, 1, 93, MAIN_CORE_PROC, 93, -1}, + {198, 1, 1, 94, MAIN_CORE_PROC, 94, -1}, {199, 1, 1, 95, MAIN_CORE_PROC, 95, -1}, + {200, 1, 1, 96, MAIN_CORE_PROC, 96, -1}, {201, 1, 1, 97, MAIN_CORE_PROC, 97, -1}, + {202, 1, 1, 98, MAIN_CORE_PROC, 98, -1}, {203, 1, 1, 99, MAIN_CORE_PROC, 99, -1}, + {204, 1, 1, 100, MAIN_CORE_PROC, 100, -1}, {205, 1, 1, 101, MAIN_CORE_PROC, 101, -1}, + {206, 1, 1, 102, MAIN_CORE_PROC, 102, -1}, {207, 1, 1, 103, MAIN_CORE_PROC, 103, -1}, + }, // param[expected out]: The cpu_mapping_table of this simulated platform + { + {{"0,104"}, {"0,104"}, {"0-51,104-155"}}, {{"1,105"}, {"1,105"}, {"0-51,104-155"}}, + {{"2,106"}, {"2,106"}, {"0-51,104-155"}}, {{"3,107"}, {"3,107"}, {"0-51,104-155"}}, + {{"4,108"}, {"4,108"}, {"0-51,104-155"}}, {{"5,109"}, {"5,109"}, {"0-51,104-155"}}, + {{"6,110"}, {"6,110"}, {"0-51,104-155"}}, {{"7,111"}, {"7,111"}, {"0-51,104-155"}}, + {{"8,112"}, {"8,112"}, {"0-51,104-155"}}, {{"9,113"}, {"9,113"}, {"0-51,104-155"}}, + {{"10,114"}, {"10,114"}, {"0-51,104-155"}}, {{"11,115"}, {"11,115"}, {"0-51,104-155"}}, + {{"12,116"}, {"12,116"}, {"0-51,104-155"}}, {{"13,117"}, {"13,117"}, {"0-51,104-155"}}, + {{"14,118"}, {"14,118"}, {"0-51,104-155"}}, {{"15,119"}, {"15,119"}, {"0-51,104-155"}}, + {{"16,120"}, {"16,120"}, {"0-51,104-155"}}, {{"17,121"}, {"17,121"}, {"0-51,104-155"}}, + {{"18,122"}, {"18,122"}, {"0-51,104-155"}}, {{"19,123"}, {"19,123"}, {"0-51,104-155"}}, + {{"20,124"}, {"20,124"}, {"0-51,104-155"}}, {{"21,125"}, {"21,125"}, {"0-51,104-155"}}, + {{"22,126"}, {"22,126"}, {"0-51,104-155"}}, {{"23,127"}, {"23,127"}, {"0-51,104-155"}}, + {{"24,128"}, {"24,128"}, {"0-51,104-155"}}, {{"25,129"}, {"25,129"}, {"0-51,104-155"}}, + {{"26,130"}, {"26,130"}, {"0-51,104-155"}}, {{"27,131"}, {"27,131"}, {"0-51,104-155"}}, + {{"28,132"}, {"28,132"}, {"0-51,104-155"}}, {{"29,133"}, {"29,133"}, {"0-51,104-155"}}, + {{"30,134"}, {"30,134"}, {"0-51,104-155"}}, {{"31,135"}, {"31,135"}, {"0-51,104-155"}}, + {{"32,136"}, {"32,136"}, {"0-51,104-155"}}, {{"33,137"}, {"33,137"}, {"0-51,104-155"}}, + {{"34,138"}, {"34,138"}, {"0-51,104-155"}}, {{"35,139"}, {"35,139"}, {"0-51,104-155"}}, + {{"36,140"}, {"36,140"}, {"0-51,104-155"}}, {{"37,141"}, {"37,141"}, {"0-51,104-155"}}, + {{"38,142"}, {"38,142"}, {"0-51,104-155"}}, {{"39,143"}, {"39,143"}, {"0-51,104-155"}}, + {{"40,144"}, {"40,144"}, {"0-51,104-155"}}, {{"41,145"}, {"41,145"}, {"0-51,104-155"}}, + {{"42,146"}, {"42,146"}, {"0-51,104-155"}}, {{"43,147"}, {"43,147"}, {"0-51,104-155"}}, + {{"44,148"}, {"44,148"}, {"0-51,104-155"}}, {{"45,149"}, {"45,149"}, {"0-51,104-155"}}, + {{"46,150"}, {"46,150"}, {"0-51,104-155"}}, {{"47,151"}, {"47,151"}, {"0-51,104-155"}}, + {{"48,152"}, {"48,152"}, {"0-51,104-155"}}, {{"49,153"}, {"49,153"}, {"0-51,104-155"}}, + {{"50,154"}, {"50,154"}, {"0-51,104-155"}}, {{"51,155"}, {"51,155"}, {"0-51,104-155"}}, + {{"52,156"}, {"52,156"}, {"52-103,156-207"}}, {{"53,157"}, {"53,157"}, {"52-103,156-207"}}, + {{"54,158"}, {"54,158"}, {"52-103,156-207"}}, {{"55,159"}, {"55,159"}, {"52-103,156-207"}}, + {{"56,160"}, {"56,160"}, {"52-103,156-207"}}, {{"57,161"}, {"57,161"}, {"52-103,156-207"}}, + {{"58,162"}, {"58,162"}, {"52-103,156-207"}}, {{"59,163"}, {"59,163"}, {"52-103,156-207"}}, + {{"60,164"}, {"60,164"}, {"52-103,156-207"}}, {{"61,165"}, {"61,165"}, {"52-103,156-207"}}, + {{"62,166"}, {"62,166"}, {"52-103,156-207"}}, {{"63,167"}, {"63,167"}, {"52-103,156-207"}}, + {{"64,168"}, {"64,168"}, {"52-103,156-207"}}, {{"65,169"}, {"65,169"}, {"52-103,156-207"}}, + {{"66,170"}, {"66,170"}, {"52-103,156-207"}}, {{"67,171"}, {"67,171"}, {"52-103,156-207"}}, + {{"68,172"}, {"68,172"}, {"52-103,156-207"}}, {{"69,173"}, {"69,173"}, {"52-103,156-207"}}, + {{"70,174"}, {"70,174"}, {"52-103,156-207"}}, {{"71,175"}, {"71,175"}, {"52-103,156-207"}}, + {{"72,176"}, {"72,176"}, {"52-103,156-207"}}, {{"73,177"}, {"73,177"}, {"52-103,156-207"}}, + {{"74,178"}, {"74,178"}, {"52-103,156-207"}}, {{"75,179"}, {"75,179"}, {"52-103,156-207"}}, + {{"76,180"}, {"76,180"}, {"52-103,156-207"}}, {{"77,181"}, {"77,181"}, {"52-103,156-207"}}, + {{"78,182"}, {"78,182"}, {"52-103,156-207"}}, {{"79,183"}, {"79,183"}, {"52-103,156-207"}}, + {{"80,184"}, {"80,184"}, {"52-103,156-207"}}, {{"81,185"}, {"81,185"}, {"52-103,156-207"}}, + {{"82,186"}, {"82,186"}, {"52-103,156-207"}}, {{"83,187"}, {"83,187"}, {"52-103,156-207"}}, + {{"84,188"}, {"84,188"}, {"52-103,156-207"}}, {{"85,189"}, {"85,189"}, {"52-103,156-207"}}, + {{"86,190"}, {"86,190"}, {"52-103,156-207"}}, {{"87,191"}, {"87,191"}, {"52-103,156-207"}}, + {{"88,192"}, {"88,192"}, {"52-103,156-207"}}, {{"89,193"}, {"89,193"}, {"52-103,156-207"}}, + {{"90,194"}, {"90,194"}, {"52-103,156-207"}}, {{"91,195"}, {"91,195"}, {"52-103,156-207"}}, + {{"92,196"}, {"92,196"}, {"52-103,156-207"}}, {{"93,197"}, {"93,197"}, {"52-103,156-207"}}, + {{"94,198"}, {"94,198"}, {"52-103,156-207"}}, {{"95,199"}, {"95,199"}, {"52-103,156-207"}}, + {{"96,200"}, {"96,200"}, {"52-103,156-207"}}, {{"97,201"}, {"97,201"}, {"52-103,156-207"}}, + {{"98,202"}, {"98,202"}, {"52-103,156-207"}}, {{"99,203"}, {"99,203"}, {"52-103,156-207"}}, + {{"100,204"}, {"100,204"}, {"52-103,156-207"}}, {{"101,205"}, {"101,205"}, {"52-103,156-207"}}, + {{"102,206"}, {"102,206"}, {"52-103,156-207"}}, {{"103,207"}, {"103,207"}, {"52-103,156-207"}}, + {{"0,104"}, {"0,104"}, {"0-51,104-155"}}, {{"1,105"}, {"1,105"}, {"0-51,104-155"}}, + {{"2,106"}, {"2,106"}, {"0-51,104-155"}}, {{"3,107"}, {"3,107"}, {"0-51,104-155"}}, + {{"4,108"}, {"4,108"}, {"0-51,104-155"}}, {{"5,109"}, {"5,109"}, {"0-51,104-155"}}, + {{"6,110"}, {"6,110"}, {"0-51,104-155"}}, {{"7,111"}, {"7,111"}, {"0-51,104-155"}}, + {{"8,112"}, {"8,112"}, {"0-51,104-155"}}, {{"9,113"}, {"9,113"}, {"0-51,104-155"}}, + {{"10,114"}, {"10,114"}, {"0-51,104-155"}}, {{"11,115"}, {"11,115"}, {"0-51,104-155"}}, + {{"12,116"}, {"12,116"}, {"0-51,104-155"}}, {{"13,117"}, {"13,117"}, {"0-51,104-155"}}, + {{"14,118"}, {"14,118"}, {"0-51,104-155"}}, {{"15,119"}, {"15,119"}, {"0-51,104-155"}}, + {{"16,120"}, {"16,120"}, {"0-51,104-155"}}, {{"17,121"}, {"17,121"}, {"0-51,104-155"}}, + {{"18,122"}, {"18,122"}, {"0-51,104-155"}}, {{"19,123"}, {"19,123"}, {"0-51,104-155"}}, + {{"20,124"}, {"20,124"}, {"0-51,104-155"}}, {{"21,125"}, {"21,125"}, {"0-51,104-155"}}, + {{"22,126"}, {"22,126"}, {"0-51,104-155"}}, {{"23,127"}, {"23,127"}, {"0-51,104-155"}}, + {{"24,128"}, {"24,128"}, {"0-51,104-155"}}, {{"25,129"}, {"25,129"}, {"0-51,104-155"}}, + {{"26,130"}, {"26,130"}, {"0-51,104-155"}}, {{"27,131"}, {"27,131"}, {"0-51,104-155"}}, + {{"28,132"}, {"28,132"}, {"0-51,104-155"}}, {{"29,133"}, {"29,133"}, {"0-51,104-155"}}, + {{"30,134"}, {"30,134"}, {"0-51,104-155"}}, {{"31,135"}, {"31,135"}, {"0-51,104-155"}}, + {{"32,136"}, {"32,136"}, {"0-51,104-155"}}, {{"33,137"}, {"33,137"}, {"0-51,104-155"}}, + {{"34,138"}, {"34,138"}, {"0-51,104-155"}}, {{"35,139"}, {"35,139"}, {"0-51,104-155"}}, + {{"36,140"}, {"36,140"}, {"0-51,104-155"}}, {{"37,141"}, {"37,141"}, {"0-51,104-155"}}, + {{"38,142"}, {"38,142"}, {"0-51,104-155"}}, {{"39,143"}, {"39,143"}, {"0-51,104-155"}}, + {{"40,144"}, {"40,144"}, {"0-51,104-155"}}, {{"41,145"}, {"41,145"}, {"0-51,104-155"}}, + {{"42,146"}, {"42,146"}, {"0-51,104-155"}}, {{"43,147"}, {"43,147"}, {"0-51,104-155"}}, + {{"44,148"}, {"44,148"}, {"0-51,104-155"}}, {{"45,149"}, {"45,149"}, {"0-51,104-155"}}, + {{"46,150"}, {"46,150"}, {"0-51,104-155"}}, {{"47,151"}, {"47,151"}, {"0-51,104-155"}}, + {{"48,152"}, {"48,152"}, {"0-51,104-155"}}, {{"49,153"}, {"49,153"}, {"0-51,104-155"}}, + {{"50,154"}, {"50,154"}, {"0-51,104-155"}}, {{"51,155"}, {"51,155"}, {"0-51,104-155"}}, + {{"52,156"}, {"52,156"}, {"52-103,156-207"}}, {{"53,157"}, {"53,157"}, {"52-103,156-207"}}, + {{"54,158"}, {"54,158"}, {"52-103,156-207"}}, {{"55,159"}, {"55,159"}, {"52-103,156-207"}}, + {{"56,160"}, {"56,160"}, {"52-103,156-207"}}, {{"57,161"}, {"57,161"}, {"52-103,156-207"}}, + {{"58,162"}, {"58,162"}, {"52-103,156-207"}}, {{"59,163"}, {"59,163"}, {"52-103,156-207"}}, + {{"60,164"}, {"60,164"}, {"52-103,156-207"}}, {{"61,165"}, {"61,165"}, {"52-103,156-207"}}, + {{"62,166"}, {"62,166"}, {"52-103,156-207"}}, {{"63,167"}, {"63,167"}, {"52-103,156-207"}}, + {{"64,168"}, {"64,168"}, {"52-103,156-207"}}, {{"65,169"}, {"65,169"}, {"52-103,156-207"}}, + {{"66,170"}, {"66,170"}, {"52-103,156-207"}}, {{"67,171"}, {"67,171"}, {"52-103,156-207"}}, + {{"68,172"}, {"68,172"}, {"52-103,156-207"}}, {{"69,173"}, {"69,173"}, {"52-103,156-207"}}, + {{"70,174"}, {"70,174"}, {"52-103,156-207"}}, {{"71,175"}, {"71,175"}, {"52-103,156-207"}}, + {{"72,176"}, {"72,176"}, {"52-103,156-207"}}, {{"73,177"}, {"73,177"}, {"52-103,156-207"}}, + {{"74,178"}, {"74,178"}, {"52-103,156-207"}}, {{"75,179"}, {"75,179"}, {"52-103,156-207"}}, + {{"76,180"}, {"76,180"}, {"52-103,156-207"}}, {{"77,181"}, {"77,181"}, {"52-103,156-207"}}, + {{"78,182"}, {"78,182"}, {"52-103,156-207"}}, {{"79,183"}, {"79,183"}, {"52-103,156-207"}}, + {{"80,184"}, {"80,184"}, {"52-103,156-207"}}, {{"81,185"}, {"81,185"}, {"52-103,156-207"}}, + {{"82,186"}, {"82,186"}, {"52-103,156-207"}}, {{"83,187"}, {"83,187"}, {"52-103,156-207"}}, + {{"84,188"}, {"84,188"}, {"52-103,156-207"}}, {{"85,189"}, {"85,189"}, {"52-103,156-207"}}, + {{"86,190"}, {"86,190"}, {"52-103,156-207"}}, {{"87,191"}, {"87,191"}, {"52-103,156-207"}}, + {{"88,192"}, {"88,192"}, {"52-103,156-207"}}, {{"89,193"}, {"89,193"}, {"52-103,156-207"}}, + {{"90,194"}, {"90,194"}, {"52-103,156-207"}}, {{"91,195"}, {"91,195"}, {"52-103,156-207"}}, + {{"92,196"}, {"92,196"}, {"52-103,156-207"}}, {{"93,197"}, {"93,197"}, {"52-103,156-207"}}, + {{"94,198"}, {"94,198"}, {"52-103,156-207"}}, {{"95,199"}, {"95,199"}, {"52-103,156-207"}}, + {{"96,200"}, {"96,200"}, {"52-103,156-207"}}, {{"97,201"}, {"97,201"}, {"52-103,156-207"}}, + {{"98,202"}, {"98,202"}, {"52-103,156-207"}}, {{"99,203"}, {"99,203"}, {"52-103,156-207"}}, + {{"100,204"}, {"100,204"}, {"52-103,156-207"}}, {{"101,205"}, {"101,205"}, {"52-103,156-207"}}, + {{"102,206"}, {"102,206"}, {"52-103,156-207"}}, {{"103,207"}, {"103,207"}, {"52-103,156-207"}}, + }, // param[in]: The CPU cache information table of this simulated platform + {{"0-51,104-155"}, {"52-103,156-207"}}, // param[in]: The numa node information table of this simulated platform +}; +LinuxCpuMapTestCase cache_2sockets_48cores_hyperthreading = { + 96, + 2, + 2, + 48, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 1, 1, 24, HYPER_THREADING_PROC, 24, -1}, {25, 1, 1, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 1, 1, 26, HYPER_THREADING_PROC, 26, -1}, {27, 1, 1, 27, HYPER_THREADING_PROC, 27, -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, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {49, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {50, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {51, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {52, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {53, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {54, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {55, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {56, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {57, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {58, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {59, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {60, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {61, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {62, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {63, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {64, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {65, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {66, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {67, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {68, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {69, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {70, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {71, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {72, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, {73, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {74, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {75, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {76, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {77, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {78, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {79, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {80, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {81, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {82, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {83, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {84, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {85, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {86, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {87, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {88, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {89, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {90, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {91, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {92, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {93, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {94, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {95, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {"0,48", "0,48", "0-23,48-71"}, {"1,49", "1,49", "0-23,48-71"}, {"2,50", "2,50", "0-23,48-71"}, + {"3,51", "3,51", "0-23,48-71"}, {"4,52", "4,52", "0-23,48-71"}, {"5,53", "5,53", "0-23,48-71"}, + {"6,54", "6,54", "0-23,48-71"}, {"7,55", "7,55", "0-23,48-71"}, {"8,56", "8,56", "0-23,48-71"}, + {"9,57", "9,57", "0-23,48-71"}, {"10,58", "10,58", "0-23,48-71"}, {"11,59", "11,59", "0-23,48-71"}, + {"12,60", "12,60", "0-23,48-71"}, {"13,61", "13,61", "0-23,48-71"}, {"14,62", "14,62", "0-23,48-71"}, + {"15,63", "15,63", "0-23,48-71"}, {"16,64", "16,64", "0-23,48-71"}, {"17,65", "17,65", "0-23,48-71"}, + {"18,66", "18,66", "0-23,48-71"}, {"19,67", "19,67", "0-23,48-71"}, {"20,68", "20,68", "0-23,48-71"}, + {"21,69", "21,69", "0-23,48-71"}, {"22,70", "22,70", "0-23,48-71"}, {"23,71", "23,71", "0-23,48-71"}, + {"24,72", "24,72", "24-47,72-95"}, {"25,73", "25,73", "24-47,72-95"}, {"26,74", "26,74", "24-47,72-95"}, + {"27,75", "27,75", "24-47,72-95"}, {"28,76", "28,76", "24-47,72-95"}, {"29,77", "29,77", "24-47,72-95"}, + {"30,78", "30,78", "24-47,72-95"}, {"31,79", "31,79", "24-47,72-95"}, {"32,80", "32,80", "24-47,72-95"}, + {"33,81", "33,81", "24-47,72-95"}, {"34,82", "34,82", "24-47,72-95"}, {"35,83", "35,83", "24-47,72-95"}, + {"36,84", "36,84", "24-47,72-95"}, {"37,85", "37,85", "24-47,72-95"}, {"38,86", "38,86", "24-47,72-95"}, + {"39,87", "39,87", "24-47,72-95"}, {"40,88", "40,88", "24-47,72-95"}, {"41,89", "41,89", "24-47,72-95"}, + {"42,90", "42,90", "24-47,72-95"}, {"43,91", "43,91", "24-47,72-95"}, {"44,92", "44,92", "24-47,72-95"}, + {"45,93", "45,93", "24-47,72-95"}, {"46,94", "46,94", "24-47,72-95"}, {"47,95", "47,95", "24-47,72-95"}, + {"0,48", "0,48", "0-23,48-71"}, {"1,49", "1,49", "0-23,48-71"}, {"2,50", "2,50", "0-23,48-71"}, + {"3,51", "3,51", "0-23,48-71"}, {"4,52", "4,52", "0-23,48-71"}, {"5,53", "5,53", "0-23,48-71"}, + {"6,54", "6,54", "0-23,48-71"}, {"7,55", "7,55", "0-23,48-71"}, {"8,56", "8,56", "0-23,48-71"}, + {"9,57", "9,57", "0-23,48-71"}, {"10,58", "10,58", "0-23,48-71"}, {"11,59", "11,59", "0-23,48-71"}, + {"12,60", "12,60", "0-23,48-71"}, {"13,61", "13,61", "0-23,48-71"}, {"14,62", "14,62", "0-23,48-71"}, + {"15,63", "15,63", "0-23,48-71"}, {"16,64", "16,64", "0-23,48-71"}, {"17,65", "17,65", "0-23,48-71"}, + {"18,66", "18,66", "0-23,48-71"}, {"19,67", "19,67", "0-23,48-71"}, {"20,68", "20,68", "0-23,48-71"}, + {"21,69", "21,69", "0-23,48-71"}, {"22,70", "22,70", "0-23,48-71"}, {"23,71", "23,71", "0-23,48-71"}, + {"24,72", "24,72", "24-47,72-95"}, {"25,73", "25,73", "24-47,72-95"}, {"26,74", "26,74", "24-47,72-95"}, + {"27,75", "27,75", "24-47,72-95"}, {"28,76", "28,76", "24-47,72-95"}, {"29,77", "29,77", "24-47,72-95"}, + {"30,78", "30,78", "24-47,72-95"}, {"31,79", "31,79", "24-47,72-95"}, {"32,80", "32,80", "24-47,72-95"}, + {"33,81", "33,81", "24-47,72-95"}, {"34,82", "34,82", "24-47,72-95"}, {"35,83", "35,83", "24-47,72-95"}, + {"36,84", "36,84", "24-47,72-95"}, {"37,85", "37,85", "24-47,72-95"}, {"38,86", "38,86", "24-47,72-95"}, + {"39,87", "39,87", "24-47,72-95"}, {"40,88", "40,88", "24-47,72-95"}, {"41,89", "41,89", "24-47,72-95"}, + {"42,90", "42,90", "24-47,72-95"}, {"43,91", "43,91", "24-47,72-95"}, {"44,92", "44,92", "24-47,72-95"}, + {"45,93", "45,93", "24-47,72-95"}, {"46,94", "46,94", "24-47,72-95"}, {"47,95", "47,95", "24-47,72-95"}, + }, + {{"0-23,48-71"}, {"24-47,72-95"}}, +}; +LinuxCpuMapTestCase cache_2sockets_48cores_hyperthreading_1 = { + 96, + 4, + 2, + 48, + {{96, 48, 0, 48, -1, -1}, + {24, 12, 0, 12, 0, 0}, + {24, 12, 0, 12, 1, 0}, + {24, 12, 0, 12, 2, 1}, + {24, 12, 0, 12, 3, 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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 1, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 1, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 1, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 1, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 2, 1, 24, HYPER_THREADING_PROC, 24, -1}, {25, 2, 1, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 2, 1, 26, HYPER_THREADING_PROC, 26, -1}, {27, 2, 1, 27, HYPER_THREADING_PROC, 27, -1}, + {28, 2, 1, 28, HYPER_THREADING_PROC, 28, -1}, {29, 2, 1, 29, HYPER_THREADING_PROC, 29, -1}, + {30, 2, 1, 30, HYPER_THREADING_PROC, 30, -1}, {31, 2, 1, 31, HYPER_THREADING_PROC, 31, -1}, + {32, 2, 1, 32, HYPER_THREADING_PROC, 32, -1}, {33, 2, 1, 33, HYPER_THREADING_PROC, 33, -1}, + {34, 2, 1, 34, HYPER_THREADING_PROC, 34, -1}, {35, 2, 1, 35, HYPER_THREADING_PROC, 35, -1}, + {36, 3, 1, 36, HYPER_THREADING_PROC, 36, -1}, {37, 3, 1, 37, HYPER_THREADING_PROC, 37, -1}, + {38, 3, 1, 38, HYPER_THREADING_PROC, 38, -1}, {39, 3, 1, 39, HYPER_THREADING_PROC, 39, -1}, + {40, 3, 1, 40, HYPER_THREADING_PROC, 40, -1}, {41, 3, 1, 41, HYPER_THREADING_PROC, 41, -1}, + {42, 3, 1, 42, HYPER_THREADING_PROC, 42, -1}, {43, 3, 1, 43, HYPER_THREADING_PROC, 43, -1}, + {44, 3, 1, 44, HYPER_THREADING_PROC, 44, -1}, {45, 3, 1, 45, HYPER_THREADING_PROC, 45, -1}, + {46, 3, 1, 46, HYPER_THREADING_PROC, 46, -1}, {47, 3, 1, 47, HYPER_THREADING_PROC, 47, -1}, + {48, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {49, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {50, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {51, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {52, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {53, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {54, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {55, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {56, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {57, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {58, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {59, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {60, 1, 0, 12, MAIN_CORE_PROC, 12, -1}, {61, 1, 0, 13, MAIN_CORE_PROC, 13, -1}, + {62, 1, 0, 14, MAIN_CORE_PROC, 14, -1}, {63, 1, 0, 15, MAIN_CORE_PROC, 15, -1}, + {64, 1, 0, 16, MAIN_CORE_PROC, 16, -1}, {65, 1, 0, 17, MAIN_CORE_PROC, 17, -1}, + {66, 1, 0, 18, MAIN_CORE_PROC, 18, -1}, {67, 1, 0, 19, MAIN_CORE_PROC, 19, -1}, + {68, 1, 0, 20, MAIN_CORE_PROC, 20, -1}, {69, 1, 0, 21, MAIN_CORE_PROC, 21, -1}, + {70, 1, 0, 22, MAIN_CORE_PROC, 22, -1}, {71, 1, 0, 23, MAIN_CORE_PROC, 23, -1}, + {72, 2, 1, 24, MAIN_CORE_PROC, 24, -1}, {73, 2, 1, 25, MAIN_CORE_PROC, 25, -1}, + {74, 2, 1, 26, MAIN_CORE_PROC, 26, -1}, {75, 2, 1, 27, MAIN_CORE_PROC, 27, -1}, + {76, 2, 1, 28, MAIN_CORE_PROC, 28, -1}, {77, 2, 1, 29, MAIN_CORE_PROC, 29, -1}, + {78, 2, 1, 30, MAIN_CORE_PROC, 30, -1}, {79, 2, 1, 31, MAIN_CORE_PROC, 31, -1}, + {80, 2, 1, 32, MAIN_CORE_PROC, 32, -1}, {81, 2, 1, 33, MAIN_CORE_PROC, 33, -1}, + {82, 2, 1, 34, MAIN_CORE_PROC, 34, -1}, {83, 2, 1, 35, MAIN_CORE_PROC, 35, -1}, + {84, 3, 1, 36, MAIN_CORE_PROC, 36, -1}, {85, 3, 1, 37, MAIN_CORE_PROC, 37, -1}, + {86, 3, 1, 38, MAIN_CORE_PROC, 38, -1}, {87, 3, 1, 39, MAIN_CORE_PROC, 39, -1}, + {88, 3, 1, 40, MAIN_CORE_PROC, 40, -1}, {89, 3, 1, 41, MAIN_CORE_PROC, 41, -1}, + {90, 3, 1, 42, MAIN_CORE_PROC, 42, -1}, {91, 3, 1, 43, MAIN_CORE_PROC, 43, -1}, + {92, 3, 1, 44, MAIN_CORE_PROC, 44, -1}, {93, 3, 1, 45, MAIN_CORE_PROC, 45, -1}, + {94, 3, 1, 46, MAIN_CORE_PROC, 46, -1}, {95, 3, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {"0,48", "0,48", "0-23,48-71"}, {"1,49", "1,49", "0-23,48-71"}, {"2,50", "2,50", "0-23,48-71"}, + {"3,51", "3,51", "0-23,48-71"}, {"4,52", "4,52", "0-23,48-71"}, {"5,53", "5,53", "0-23,48-71"}, + {"6,54", "6,54", "0-23,48-71"}, {"7,55", "7,55", "0-23,48-71"}, {"8,56", "8,56", "0-23,48-71"}, + {"9,57", "9,57", "0-23,48-71"}, {"10,58", "10,58", "0-23,48-71"}, {"11,59", "11,59", "0-23,48-71"}, + {"12,60", "12,60", "0-23,48-71"}, {"13,61", "13,61", "0-23,48-71"}, {"14,62", "14,62", "0-23,48-71"}, + {"15,63", "15,63", "0-23,48-71"}, {"16,64", "16,64", "0-23,48-71"}, {"17,65", "17,65", "0-23,48-71"}, + {"18,66", "18,66", "0-23,48-71"}, {"19,67", "19,67", "0-23,48-71"}, {"20,68", "20,68", "0-23,48-71"}, + {"21,69", "21,69", "0-23,48-71"}, {"22,70", "22,70", "0-23,48-71"}, {"23,71", "23,71", "0-23,48-71"}, + {"24,72", "24,72", "24-47,72-95"}, {"25,73", "25,73", "24-47,72-95"}, {"26,74", "26,74", "24-47,72-95"}, + {"27,75", "27,75", "24-47,72-95"}, {"28,76", "28,76", "24-47,72-95"}, {"29,77", "29,77", "24-47,72-95"}, + {"30,78", "30,78", "24-47,72-95"}, {"31,79", "31,79", "24-47,72-95"}, {"32,80", "32,80", "24-47,72-95"}, + {"33,81", "33,81", "24-47,72-95"}, {"34,82", "34,82", "24-47,72-95"}, {"35,83", "35,83", "24-47,72-95"}, + {"36,84", "36,84", "24-47,72-95"}, {"37,85", "37,85", "24-47,72-95"}, {"38,86", "38,86", "24-47,72-95"}, + {"39,87", "39,87", "24-47,72-95"}, {"40,88", "40,88", "24-47,72-95"}, {"41,89", "41,89", "24-47,72-95"}, + {"42,90", "42,90", "24-47,72-95"}, {"43,91", "43,91", "24-47,72-95"}, {"44,92", "44,92", "24-47,72-95"}, + {"45,93", "45,93", "24-47,72-95"}, {"46,94", "46,94", "24-47,72-95"}, {"47,95", "47,95", "24-47,72-95"}, + {"0,48", "0,48", "0-23,48-71"}, {"1,49", "1,49", "0-23,48-71"}, {"2,50", "2,50", "0-23,48-71"}, + {"3,51", "3,51", "0-23,48-71"}, {"4,52", "4,52", "0-23,48-71"}, {"5,53", "5,53", "0-23,48-71"}, + {"6,54", "6,54", "0-23,48-71"}, {"7,55", "7,55", "0-23,48-71"}, {"8,56", "8,56", "0-23,48-71"}, + {"9,57", "9,57", "0-23,48-71"}, {"10,58", "10,58", "0-23,48-71"}, {"11,59", "11,59", "0-23,48-71"}, + {"12,60", "12,60", "0-23,48-71"}, {"13,61", "13,61", "0-23,48-71"}, {"14,62", "14,62", "0-23,48-71"}, + {"15,63", "15,63", "0-23,48-71"}, {"16,64", "16,64", "0-23,48-71"}, {"17,65", "17,65", "0-23,48-71"}, + {"18,66", "18,66", "0-23,48-71"}, {"19,67", "19,67", "0-23,48-71"}, {"20,68", "20,68", "0-23,48-71"}, + {"21,69", "21,69", "0-23,48-71"}, {"22,70", "22,70", "0-23,48-71"}, {"23,71", "23,71", "0-23,48-71"}, + {"24,72", "24,72", "24-47,72-95"}, {"25,73", "25,73", "24-47,72-95"}, {"26,74", "26,74", "24-47,72-95"}, + {"27,75", "27,75", "24-47,72-95"}, {"28,76", "28,76", "24-47,72-95"}, {"29,77", "29,77", "24-47,72-95"}, + {"30,78", "30,78", "24-47,72-95"}, {"31,79", "31,79", "24-47,72-95"}, {"32,80", "32,80", "24-47,72-95"}, + {"33,81", "33,81", "24-47,72-95"}, {"34,82", "34,82", "24-47,72-95"}, {"35,83", "35,83", "24-47,72-95"}, + {"36,84", "36,84", "24-47,72-95"}, {"37,85", "37,85", "24-47,72-95"}, {"38,86", "38,86", "24-47,72-95"}, + {"39,87", "39,87", "24-47,72-95"}, {"40,88", "40,88", "24-47,72-95"}, {"41,89", "41,89", "24-47,72-95"}, + {"42,90", "42,90", "24-47,72-95"}, {"43,91", "43,91", "24-47,72-95"}, {"44,92", "44,92", "24-47,72-95"}, + {"45,93", "45,93", "24-47,72-95"}, {"46,94", "46,94", "24-47,72-95"}, {"47,95", "47,95", "24-47,72-95"}, + }, + {{"0-11,48-59"}, {"12-23,60-71"}, {"24-35,72-83"}, {"36-47,84-95"}}, +}; +LinuxCpuMapTestCase cache_2sockets_24cores_hyperthreading = { + 48, + 2, + 2, + 24, + {{48, 24, 0, 24, -1, -1}, {24, 12, 0, 12, 0, 0}, {24, 12, 0, 12, 1, 1}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {8, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {10, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {12, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {16, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 1, 1, 20, HYPER_THREADING_PROC, 20, -1}, + {18, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 1, 1, 21, HYPER_THREADING_PROC, 21, -1}, + {20, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 1, 1, 22, HYPER_THREADING_PROC, 22, -1}, + {22, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 1, 1, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {25, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, {27, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {29, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, {31, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {33, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, {35, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {36, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {37, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, + {38, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + {40, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {41, 1, 1, 20, MAIN_CORE_PROC, 20, -1}, + {42, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, {43, 1, 1, 21, MAIN_CORE_PROC, 21, -1}, + {44, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {45, 1, 1, 22, MAIN_CORE_PROC, 22, -1}, + {46, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, {47, 1, 1, 23, MAIN_CORE_PROC, 23, -1}, + }, + { + {"0,24", "0,24", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,25", "1,25", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"2,26", "2,26", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"3,27", "3,27", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"4,28", "4,28", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"5,29", "5,29", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"6,30", "6,30", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"7,31", "7,31", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"8,32", "8,32", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"9,33", "9,33", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"10,34", "10,34", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"11,35", "11,35", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"12,36", "12,36", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"13,37", "13,37", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"14,38", "14,38", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"15,39", "15,39", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"16,40", "16,40", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"17,41", "17,41", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"18,42", "18,42", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"19,43", "19,43", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"20,44", "20,44", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"21,45", "21,45", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"22,46", "22,46", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"23,47", "23,47", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"0,24", "0,24", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,25", "1,25", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"2,26", "2,26", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"3,27", "3,27", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"4,28", "4,28", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"5,29", "5,29", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"6,30", "6,30", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"7,31", "7,31", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"8,32", "8,32", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"9,33", "9,33", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"10,34", "10,34", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"11,35", "11,35", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"12,36", "12,36", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"13,37", "13,37", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"14,38", "14,38", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"15,39", "15,39", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"16,40", "16,40", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"17,41", "17,41", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"18,42", "18,42", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"19,43", "19,43", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"20,44", "20,44", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"21,45", "21,45", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"22,46", "22,46", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"23,47", "23,47", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + }, + {{"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, +}; +LinuxCpuMapTestCase cache_2sockets_24cores_hyperthreading_1 = { + 48, + 4, + 2, + 24, + {{48, 24, 0, 24, -1, -1}, {12, 6, 0, 6, 0, 0}, {12, 6, 0, 6, 1, 0}, {12, 6, 0, 6, 2, 1}, {12, 6, 0, 6, 3, 1}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 2, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 2, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 2, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 2, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {8, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 2, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {10, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 2, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {12, 1, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 3, 1, 18, HYPER_THREADING_PROC, 18, -1}, + {14, 1, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 3, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {16, 1, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 3, 1, 20, HYPER_THREADING_PROC, 20, -1}, + {18, 1, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 3, 1, 21, HYPER_THREADING_PROC, 21, -1}, + {20, 1, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 3, 1, 22, HYPER_THREADING_PROC, 22, -1}, + {22, 1, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 3, 1, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {25, 2, 1, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, {27, 2, 1, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {29, 2, 1, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, {31, 2, 1, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {33, 2, 1, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, {35, 2, 1, 17, MAIN_CORE_PROC, 17, -1}, + {36, 1, 0, 6, MAIN_CORE_PROC, 6, -1}, {37, 3, 1, 18, MAIN_CORE_PROC, 18, -1}, + {38, 1, 0, 7, MAIN_CORE_PROC, 7, -1}, {39, 3, 1, 19, MAIN_CORE_PROC, 19, -1}, + {40, 1, 0, 8, MAIN_CORE_PROC, 8, -1}, {41, 3, 1, 20, MAIN_CORE_PROC, 20, -1}, + {42, 1, 0, 9, MAIN_CORE_PROC, 9, -1}, {43, 3, 1, 21, MAIN_CORE_PROC, 21, -1}, + {44, 1, 0, 10, MAIN_CORE_PROC, 10, -1}, {45, 3, 1, 22, MAIN_CORE_PROC, 22, -1}, + {46, 1, 0, 11, MAIN_CORE_PROC, 11, -1}, {47, 3, 1, 23, MAIN_CORE_PROC, 23, -1}, + }, + { + {"0,24", "0,24", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,25", "1,25", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"2,26", "2,26", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"3,27", "3,27", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"4,28", "4,28", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"5,29", "5,29", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"6,30", "6,30", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"7,31", "7,31", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"8,32", "8,32", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"9,33", "9,33", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"10,34", "10,34", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"11,35", "11,35", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"12,36", "12,36", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"13,37", "13,37", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"14,38", "14,38", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"15,39", "15,39", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"16,40", "16,40", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"17,41", "17,41", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"18,42", "18,42", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"19,43", "19,43", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"20,44", "20,44", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"21,45", "21,45", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"22,46", "22,46", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"23,47", "23,47", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"0,24", "0,24", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,25", "1,25", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"2,26", "2,26", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"3,27", "3,27", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"4,28", "4,28", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"5,29", "5,29", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"6,30", "6,30", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"7,31", "7,31", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"8,32", "8,32", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"9,33", "9,33", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"10,34", "10,34", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"11,35", "11,35", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"12,36", "12,36", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"13,37", "13,37", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"14,38", "14,38", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"15,39", "15,39", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"16,40", "16,40", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"17,41", "17,41", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"18,42", "18,42", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"19,43", "19,43", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"20,44", "20,44", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"21,45", "21,45", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + {"22,46", "22,46", "0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"23,47", "23,47", "1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + }, + {{"0,2,4,6,8,10,24,26,28,30,32,34"}, + {"12,14,16,18,20,22,36,38,40,42,44,46"}, + {"1,3,5,7,9,11,25,27,29,31,33,35"}, + {"13,15,17,19,21,23,37,39,41,43,45,47"}}, +}; +LinuxCpuMapTestCase cache_2sockets_48cores = { + 48, + 2, + 2, + 48, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + { + {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, MAIN_CORE_PROC, 4, -1}, {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {9, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {10, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {12, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {14, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {15, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {16, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {18, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {20, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {21, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {22, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {24, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {26, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {27, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {28, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {30, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {32, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {33, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {34, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {36, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {38, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {39, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {40, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {42, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {44, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {45, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {46, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {{"0"}, {"0"}, {"0-23"}}, {{"1"}, {"1"}, {"0-23"}}, {{"2"}, {"2"}, {"0-23"}}, + {{"3"}, {"3"}, {"0-23"}}, {{"4"}, {"4"}, {"0-23"}}, {{"5"}, {"5"}, {"0-23"}}, + {{"6"}, {"6"}, {"0-23"}}, {{"7"}, {"7"}, {"0-23"}}, {{"8"}, {"8"}, {"0-23"}}, + {{"9"}, {"9"}, {"0-23"}}, {{"10"}, {"10"}, {"0-23"}}, {{"11"}, {"11"}, {"0-23"}}, + {{"12"}, {"12"}, {"0-23"}}, {{"13"}, {"13"}, {"0-23"}}, {{"14"}, {"14"}, {"0-23"}}, + {{"15"}, {"15"}, {"0-23"}}, {{"16"}, {"16"}, {"0-23"}}, {{"17"}, {"17"}, {"0-23"}}, + {{"18"}, {"18"}, {"0-23"}}, {{"19"}, {"19"}, {"0-23"}}, {{"20"}, {"20"}, {"0-23"}}, + {{"21"}, {"21"}, {"0-23"}}, {{"22"}, {"22"}, {"0-23"}}, {{"23"}, {"23"}, {"0-23"}}, + {{"24"}, {"24"}, {"24-47"}}, {{"25"}, {"25"}, {"24-47"}}, {{"26"}, {"26"}, {"24-47"}}, + {{"27"}, {"27"}, {"24-47"}}, {{"28"}, {"28"}, {"24-47"}}, {{"29"}, {"29"}, {"24-47"}}, + {{"30"}, {"30"}, {"24-47"}}, {{"31"}, {"31"}, {"24-47"}}, {{"32"}, {"32"}, {"24-47"}}, + {{"33"}, {"33"}, {"24-47"}}, {{"34"}, {"34"}, {"24-47"}}, {{"35"}, {"35"}, {"24-47"}}, + {{"36"}, {"36"}, {"24-47"}}, {{"37"}, {"37"}, {"24-47"}}, {{"38"}, {"38"}, {"24-47"}}, + {{"39"}, {"39"}, {"24-47"}}, {{"40"}, {"40"}, {"24-47"}}, {{"41"}, {"41"}, {"24-47"}}, + {{"42"}, {"42"}, {"24-47"}}, {{"43"}, {"43"}, {"24-47"}}, {{"44"}, {"44"}, {"24-47"}}, + {{"45"}, {"45"}, {"24-47"}}, {{"46"}, {"46"}, {"24-47"}}, {{"47"}, {"47"}, {"24-47"}}, + }, + {{"0-23"}, {"24-47"}}, +}; +LinuxCpuMapTestCase cache_2sockets_48cores_1 = { + 48, + 2, + 2, + 48, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + { + {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, MAIN_CORE_PROC, 4, -1}, {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {9, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {10, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {12, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {14, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {15, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {16, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {18, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {20, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {21, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {22, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {24, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {26, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {27, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {28, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {30, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {32, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {33, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {34, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {36, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {38, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {39, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {40, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {42, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {44, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {45, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {46, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {{"0"}, {"0"}, {"0-23"}}, {{"1"}, {"1"}, {"0-23"}}, {{"2"}, {"2"}, {"0-23"}}, + {{"3"}, {"3"}, {"0-23"}}, {{"4"}, {"4"}, {"0-23"}}, {{"5"}, {"5"}, {"0-23"}}, + {{"6"}, {"6"}, {"0-23"}}, {{"7"}, {"7"}, {"0-23"}}, {{"8"}, {"8"}, {"0-23"}}, + {{"9"}, {"9"}, {"0-23"}}, {{"10"}, {"10"}, {"0-23"}}, {{"11"}, {"11"}, {"0-23"}}, + {{"12"}, {"12"}, {"0-23"}}, {{"13"}, {"13"}, {"0-23"}}, {{"14"}, {"14"}, {"0-23"}}, + {{"15"}, {"15"}, {"0-23"}}, {{"16"}, {"16"}, {"0-23"}}, {{"17"}, {"17"}, {"0-23"}}, + {{"18"}, {"18"}, {"0-23"}}, {{"19"}, {"19"}, {"0-23"}}, {{"20"}, {"20"}, {"0-23"}}, + {{"21"}, {"21"}, {"0-23"}}, {{"22"}, {"22"}, {"0-23"}}, {{"23"}, {"23"}, {"0-23"}}, + {{"24"}, {"24"}, {"24-47"}}, {{"25"}, {"25"}, {"24-47"}}, {{"26"}, {"26"}, {"24-47"}}, + {{"27"}, {"27"}, {"24-47"}}, {{"28"}, {"28"}, {"24-47"}}, {{"29"}, {"29"}, {"24-47"}}, + {{"30"}, {"30"}, {"24-47"}}, {{"31"}, {"31"}, {"24-47"}}, {{"32"}, {"32"}, {"24-47"}}, + {{"33"}, {"33"}, {"24-47"}}, {{"34"}, {"34"}, {"24-47"}}, {{"35"}, {"35"}, {"24-47"}}, + {{"36"}, {"36"}, {"24-47"}}, {{"37"}, {"37"}, {"24-47"}}, {{"38"}, {"38"}, {"24-47"}}, + {{"39"}, {"39"}, {"24-47"}}, {{"40"}, {"40"}, {"24-47"}}, {{"41"}, {"41"}, {"24-47"}}, + {{"42"}, {"42"}, {"24-47"}}, {{"43"}, {"43"}, {"24-47"}}, {{"44"}, {"44"}, {"24-47"}}, + {{"45"}, {"45"}, {"24-47"}}, {{"46"}, {"46"}, {"24-47"}}, {{"47"}, {"47"}, {"24-47"}}, + }, + {}, +}; +LinuxCpuMapTestCase cache_2sockets_48cores_2 = { + 48, + 4, + 2, + 48, + {{48, 48, 0, 0, -1, -1}, {12, 12, 0, 0, 0, 0}, {12, 12, 0, 0, 1, 0}, {12, 12, 0, 0, 2, 1}, {12, 12, 0, 0, 3, 1}}, + { + {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, MAIN_CORE_PROC, 4, -1}, {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {9, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {10, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {12, 1, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 1, 0, 13, MAIN_CORE_PROC, 13, -1}, + {14, 1, 0, 14, MAIN_CORE_PROC, 14, -1}, {15, 1, 0, 15, MAIN_CORE_PROC, 15, -1}, + {16, 1, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 1, 0, 17, MAIN_CORE_PROC, 17, -1}, + {18, 1, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 1, 0, 19, MAIN_CORE_PROC, 19, -1}, + {20, 1, 0, 20, MAIN_CORE_PROC, 20, -1}, {21, 1, 0, 21, MAIN_CORE_PROC, 21, -1}, + {22, 1, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 1, 0, 23, MAIN_CORE_PROC, 23, -1}, + {24, 2, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 2, 1, 25, MAIN_CORE_PROC, 25, -1}, + {26, 2, 1, 26, MAIN_CORE_PROC, 26, -1}, {27, 2, 1, 27, MAIN_CORE_PROC, 27, -1}, + {28, 2, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 2, 1, 29, MAIN_CORE_PROC, 29, -1}, + {30, 2, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 2, 1, 31, MAIN_CORE_PROC, 31, -1}, + {32, 2, 1, 32, MAIN_CORE_PROC, 32, -1}, {33, 2, 1, 33, MAIN_CORE_PROC, 33, -1}, + {34, 2, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 2, 1, 35, MAIN_CORE_PROC, 35, -1}, + {36, 3, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 3, 1, 37, MAIN_CORE_PROC, 37, -1}, + {38, 3, 1, 38, MAIN_CORE_PROC, 38, -1}, {39, 3, 1, 39, MAIN_CORE_PROC, 39, -1}, + {40, 3, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 3, 1, 41, MAIN_CORE_PROC, 41, -1}, + {42, 3, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 3, 1, 43, MAIN_CORE_PROC, 43, -1}, + {44, 3, 1, 44, MAIN_CORE_PROC, 44, -1}, {45, 3, 1, 45, MAIN_CORE_PROC, 45, -1}, + {46, 3, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 3, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {{"0"}, {"0"}, {"0-23"}}, {{"1"}, {"1"}, {"0-23"}}, {{"2"}, {"2"}, {"0-23"}}, + {{"3"}, {"3"}, {"0-23"}}, {{"4"}, {"4"}, {"0-23"}}, {{"5"}, {"5"}, {"0-23"}}, + {{"6"}, {"6"}, {"0-23"}}, {{"7"}, {"7"}, {"0-23"}}, {{"8"}, {"8"}, {"0-23"}}, + {{"9"}, {"9"}, {"0-23"}}, {{"10"}, {"10"}, {"0-23"}}, {{"11"}, {"11"}, {"0-23"}}, + {{"12"}, {"12"}, {"0-23"}}, {{"13"}, {"13"}, {"0-23"}}, {{"14"}, {"14"}, {"0-23"}}, + {{"15"}, {"15"}, {"0-23"}}, {{"16"}, {"16"}, {"0-23"}}, {{"17"}, {"17"}, {"0-23"}}, + {{"18"}, {"18"}, {"0-23"}}, {{"19"}, {"19"}, {"0-23"}}, {{"20"}, {"20"}, {"0-23"}}, + {{"21"}, {"21"}, {"0-23"}}, {{"22"}, {"22"}, {"0-23"}}, {{"23"}, {"23"}, {"0-23"}}, + {{"24"}, {"24"}, {"24-47"}}, {{"25"}, {"25"}, {"24-47"}}, {{"26"}, {"26"}, {"24-47"}}, + {{"27"}, {"27"}, {"24-47"}}, {{"28"}, {"28"}, {"24-47"}}, {{"29"}, {"29"}, {"24-47"}}, + {{"30"}, {"30"}, {"24-47"}}, {{"31"}, {"31"}, {"24-47"}}, {{"32"}, {"32"}, {"24-47"}}, + {{"33"}, {"33"}, {"24-47"}}, {{"34"}, {"34"}, {"24-47"}}, {{"35"}, {"35"}, {"24-47"}}, + {{"36"}, {"36"}, {"24-47"}}, {{"37"}, {"37"}, {"24-47"}}, {{"38"}, {"38"}, {"24-47"}}, + {{"39"}, {"39"}, {"24-47"}}, {{"40"}, {"40"}, {"24-47"}}, {{"41"}, {"41"}, {"24-47"}}, + {{"42"}, {"42"}, {"24-47"}}, {{"43"}, {"43"}, {"24-47"}}, {{"44"}, {"44"}, {"24-47"}}, + {{"45"}, {"45"}, {"24-47"}}, {{"46"}, {"46"}, {"24-47"}}, {{"47"}, {"47"}, {"24-47"}}, + }, + {{"0-11"}, {"12-23"}, {"24-35"}, {"36-47"}}, +}; +LinuxCpuMapTestCase cache_2sockets_20cores_hyperthreading = { + 40, + 2, + 2, + 20, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 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}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {28, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {38, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + }, + { + {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, + {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, + {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, + {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, + {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, + {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, + {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, + {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, + {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, + {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, + {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, + {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, + {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, + {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, + {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, + {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, + {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, + {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, + {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, + {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, + }, + {{"0-9,20-29"}, {"10-19,30-39"}}, +}; +LinuxCpuMapTestCase cache_2sockets_20cores_hyperthreading_1 = { + 40, + 2, + 2, + 20, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 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}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {28, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {38, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + }, + { + {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, + {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, + {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, + {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, + {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, + {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, + {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, + {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, + {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, + {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, + {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, + {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, + {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, + {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, + {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, + {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, + {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, + {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, + {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, + {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, + }, + {}, +}; +LinuxCpuMapTestCase cache_1sockets_14cores_hyperthreading = { + 20, + 1, + 1, + 14, + {{20, 6, 8, 6, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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-1"}, {"0-1"}, {"0-19"}}, {{"0-1"}, {"0-1"}, {"0-19"}}, {{"2-3"}, {"2-3"}, {"0-19"}}, + {{"2-3"}, {"2-3"}, {"0-19"}}, {{"4-5"}, {"4-5"}, {"0-19"}}, {{"4-5"}, {"4-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"}}, + }, + {{"0-19"}}, +}; +LinuxCpuMapTestCase cache_1sockets_14cores_hyperthreading_1 = { + 20, + 1, + 1, + 14, + {{20, 6, 8, 6, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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-1"}, {"0-1"}, {"0-19"}}, {{"0-1"}, {"0-1"}, {"0-19"}}, {{"2-3"}, {"2-3"}, {"0-19"}}, + {{"2-3"}, {"2-3"}, {"0-19"}}, {{"4-5"}, {"4-5"}, {"0-19"}}, {{"4-5"}, {"4-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"}}, + }, + {}, +}; +LinuxCpuMapTestCase cache_1sockets_10cores_hyperthreading = { + 12, + 1, + 1, + 10, + {{12, 2, 8, 2, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, EFFICIENT_CORE_PROC, 2, -1}, + {5, 0, 0, 3, EFFICIENT_CORE_PROC, 2, -1}, + {6, 0, 0, 4, EFFICIENT_CORE_PROC, 2, -1}, + {7, 0, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 0, 6, EFFICIENT_CORE_PROC, 3, -1}, + {9, 0, 0, 7, EFFICIENT_CORE_PROC, 3, -1}, + {10, 0, 0, 8, EFFICIENT_CORE_PROC, 3, -1}, + {11, 0, 0, 9, EFFICIENT_CORE_PROC, 3, -1}, + }, + { + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"4"}, {"4-7"}, {"0-11"}}, + {{"5"}, {"4-7"}, {"0-11"}}, + {{"6"}, {"4-7"}, {"0-11"}}, + {{"7"}, {"4-7"}, {"0-11"}}, + {{"8"}, {"8-11"}, {"0-11"}}, + {{"9"}, {"8-11"}, {"0-11"}}, + {{"10"}, {"8-11"}, {"0-11"}}, + {{"11"}, {"8-11"}, {"0-11"}}, + }, + {{"0-11"}}, +}; +LinuxCpuMapTestCase cache_1sockets_8cores_hyperthreading = { + 12, + 1, + 1, + 8, + {{12, 4, 4, 4, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 0, 4, EFFICIENT_CORE_PROC, 4, -1}, + {9, 0, 0, 5, EFFICIENT_CORE_PROC, 4, -1}, + {10, 0, 0, 6, EFFICIENT_CORE_PROC, 4, -1}, + {11, 0, 0, 7, EFFICIENT_CORE_PROC, 4, -1}, + }, + { + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"4-5"}, {"4-5"}, {"0-11"}}, + {{"4-5"}, {"4-5"}, {"0-11"}}, + {{"6-7"}, {"6-7"}, {"0-11"}}, + {{"6-7"}, {"6-7"}, {"0-11"}}, + {{"8"}, {"8-11"}, {"0-11"}}, + {{"9"}, {"8-11"}, {"0-11"}}, + {{"10"}, {"8-11"}, {"0-11"}}, + {{"11"}, {"8-11"}, {"0-11"}}, + }, + {{"0-11"}}, +}; +LinuxCpuMapTestCase cache_1sockets_6cores_hyperthreading = { + 12, + 1, + 1, + 6, + {{12, 6, 0, 6, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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}, + }, + { + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"0-1"}, {"0-1"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"2-3"}, {"2-3"}, {"0-11"}}, + {{"4-5"}, {"4-5"}, {"0-11"}}, + {{"4-5"}, {"4-5"}, {"0-11"}}, + {{"6-7"}, {"6-7"}, {"0-11"}}, + {{"6-7"}, {"6-7"}, {"0-11"}}, + {{"8-9"}, {"8-9"}, {"0-11"}}, + {{"8-9"}, {"8-9"}, {"0-11"}}, + {{"10-11"}, {"10-11"}, {"0-11"}}, + {{"10-11"}, {"10-11"}, {"0-11"}}, + }, + {}, +}; + +TEST_P(LinuxCpuMapCacheParserTests, LinuxCache) {} + +INSTANTIATE_TEST_SUITE_P(CPUMap, + LinuxCpuMapCacheParserTests, + testing::Values(cache_2sockets_104cores_hyperthreading, + cache_2sockets_48cores_hyperthreading, + cache_2sockets_48cores_hyperthreading_1, + cache_2sockets_24cores_hyperthreading, + cache_2sockets_24cores_hyperthreading_1, + cache_2sockets_48cores, + cache_2sockets_48cores_1, + cache_2sockets_48cores_2, + cache_2sockets_20cores_hyperthreading, + cache_2sockets_20cores_hyperthreading_1, + cache_1sockets_14cores_hyperthreading, + cache_1sockets_14cores_hyperthreading_1, + cache_1sockets_10cores_hyperthreading, + cache_1sockets_8cores_hyperthreading, + cache_1sockets_6cores_hyperthreading)); + +TEST_P(LinuxGetCpuMapFromCoresTests, LinuxCore) {} + +INSTANTIATE_TEST_SUITE_P(CPUMap, + LinuxGetCpuMapFromCoresTests, + testing::Values(cache_2sockets_104cores_hyperthreading, + cache_2sockets_48cores, + cache_2sockets_20cores_hyperthreading, + cache_1sockets_14cores_hyperthreading, + cache_1sockets_10cores_hyperthreading, + cache_1sockets_8cores_hyperthreading)); +#endif +} // namespace 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 new file mode 100644 index 00000000000..2f90193b6ed --- /dev/null +++ b/src/inference/tests/unit/cpu_map_parser/freq_parser_linux.cpp @@ -0,0 +1,992 @@ +// Copyright (C) 2018-2023 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +#include + +#include + +#include "ie_system_conf.h" +#include "os/cpu_map_info.hpp" + +using namespace testing; +using namespace ov; + +namespace { + +#ifdef __linux__ + +struct LinuxCpuMapTestCase { + int _processors; + int _numa_nodes; + int _sockets; + int _cores; + std::vector> _proc_type_table; + std::vector> _cpu_mapping_table; + std::vector> system_info_table; + std::vector node_info_table; +}; + +class LinuxCpuMapFreqParserTests : public CommonTestUtils::TestsCommon, + public testing::WithParamInterface> { +public: + void SetUp() override { + const auto& test_data = std::get<0>(GetParam()); + + int test_processors = 0; + int test_numa_nodes = 0; + int test_sockets = 0; + int test_cores = 0; + std::vector> test_proc_type_table; + std::vector> test_cpu_mapping_table; + + ov::parse_freq_info_linux(test_data.system_info_table, + test_data.node_info_table, + test_processors, + test_numa_nodes, + test_sockets, + test_cores, + test_proc_type_table, + test_cpu_mapping_table); + + ASSERT_EQ(test_data._processors, test_processors); + ASSERT_EQ(test_data._numa_nodes, test_numa_nodes); + ASSERT_EQ(test_data._sockets, test_sockets); + ASSERT_EQ(test_data._cores, test_cores); + ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); + ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); + } +}; + +LinuxCpuMapTestCase freq_2sockets_112cores_hyperthreading = { + 224, // param[expected out]: total 224 logcial processors on this simulated platform + 2, // param[expected out]: total 2 numa nodes on this simulated platform + 2, // param[expected out]: total 2 sockets on this simulated platform + 112, // param[expected out]: total 112 CPU cores on this simulated platform + {{224, 112, 0, 112, -1, -1}, + {112, 56, 0, 56, 0, 0}, + {112, 56, 0, 56, 1, 1}}, // param[expected out]: The proc_type_table of this simulated platform + { + {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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 0, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 0, 27, HYPER_THREADING_PROC, 27, -1}, + {28, 0, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 0, 29, HYPER_THREADING_PROC, 29, -1}, + {30, 0, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 0, 31, HYPER_THREADING_PROC, 31, -1}, + {32, 0, 0, 32, HYPER_THREADING_PROC, 32, -1}, {33, 0, 0, 33, HYPER_THREADING_PROC, 33, -1}, + {34, 0, 0, 34, HYPER_THREADING_PROC, 34, -1}, {35, 0, 0, 35, HYPER_THREADING_PROC, 35, -1}, + {36, 0, 0, 36, HYPER_THREADING_PROC, 36, -1}, {37, 0, 0, 37, HYPER_THREADING_PROC, 37, -1}, + {38, 0, 0, 38, HYPER_THREADING_PROC, 38, -1}, {39, 0, 0, 39, HYPER_THREADING_PROC, 39, -1}, + {40, 0, 0, 40, HYPER_THREADING_PROC, 40, -1}, {41, 0, 0, 41, HYPER_THREADING_PROC, 41, -1}, + {42, 0, 0, 42, HYPER_THREADING_PROC, 42, -1}, {43, 0, 0, 43, HYPER_THREADING_PROC, 43, -1}, + {44, 0, 0, 44, HYPER_THREADING_PROC, 44, -1}, {45, 0, 0, 45, HYPER_THREADING_PROC, 45, -1}, + {46, 0, 0, 46, HYPER_THREADING_PROC, 46, -1}, {47, 0, 0, 47, HYPER_THREADING_PROC, 47, -1}, + {48, 0, 0, 48, HYPER_THREADING_PROC, 48, -1}, {49, 0, 0, 49, HYPER_THREADING_PROC, 49, -1}, + {50, 0, 0, 50, HYPER_THREADING_PROC, 50, -1}, {51, 0, 0, 51, HYPER_THREADING_PROC, 51, -1}, + {52, 0, 0, 52, HYPER_THREADING_PROC, 52, -1}, {53, 0, 0, 53, HYPER_THREADING_PROC, 53, -1}, + {54, 0, 0, 54, HYPER_THREADING_PROC, 54, -1}, {55, 0, 0, 55, HYPER_THREADING_PROC, 55, -1}, + {56, 1, 1, 56, HYPER_THREADING_PROC, 56, -1}, {57, 1, 1, 57, HYPER_THREADING_PROC, 57, -1}, + {58, 1, 1, 58, HYPER_THREADING_PROC, 58, -1}, {59, 1, 1, 59, HYPER_THREADING_PROC, 59, -1}, + {60, 1, 1, 60, HYPER_THREADING_PROC, 60, -1}, {61, 1, 1, 61, HYPER_THREADING_PROC, 61, -1}, + {62, 1, 1, 62, HYPER_THREADING_PROC, 62, -1}, {63, 1, 1, 63, HYPER_THREADING_PROC, 63, -1}, + {64, 1, 1, 64, HYPER_THREADING_PROC, 64, -1}, {65, 1, 1, 65, HYPER_THREADING_PROC, 65, -1}, + {66, 1, 1, 66, HYPER_THREADING_PROC, 66, -1}, {67, 1, 1, 67, HYPER_THREADING_PROC, 67, -1}, + {68, 1, 1, 68, HYPER_THREADING_PROC, 68, -1}, {69, 1, 1, 69, HYPER_THREADING_PROC, 69, -1}, + {70, 1, 1, 70, HYPER_THREADING_PROC, 70, -1}, {71, 1, 1, 71, HYPER_THREADING_PROC, 71, -1}, + {72, 1, 1, 72, HYPER_THREADING_PROC, 72, -1}, {73, 1, 1, 73, HYPER_THREADING_PROC, 73, -1}, + {74, 1, 1, 74, HYPER_THREADING_PROC, 74, -1}, {75, 1, 1, 75, HYPER_THREADING_PROC, 75, -1}, + {76, 1, 1, 76, HYPER_THREADING_PROC, 76, -1}, {77, 1, 1, 77, HYPER_THREADING_PROC, 77, -1}, + {78, 1, 1, 78, HYPER_THREADING_PROC, 78, -1}, {79, 1, 1, 79, HYPER_THREADING_PROC, 79, -1}, + {80, 1, 1, 80, HYPER_THREADING_PROC, 80, -1}, {81, 1, 1, 81, HYPER_THREADING_PROC, 81, -1}, + {82, 1, 1, 82, HYPER_THREADING_PROC, 82, -1}, {83, 1, 1, 83, HYPER_THREADING_PROC, 83, -1}, + {84, 1, 1, 84, HYPER_THREADING_PROC, 84, -1}, {85, 1, 1, 85, HYPER_THREADING_PROC, 85, -1}, + {86, 1, 1, 86, HYPER_THREADING_PROC, 86, -1}, {87, 1, 1, 87, HYPER_THREADING_PROC, 87, -1}, + {88, 1, 1, 88, HYPER_THREADING_PROC, 88, -1}, {89, 1, 1, 89, HYPER_THREADING_PROC, 89, -1}, + {90, 1, 1, 90, HYPER_THREADING_PROC, 90, -1}, {91, 1, 1, 91, HYPER_THREADING_PROC, 91, -1}, + {92, 1, 1, 92, HYPER_THREADING_PROC, 92, -1}, {93, 1, 1, 93, HYPER_THREADING_PROC, 93, -1}, + {94, 1, 1, 94, HYPER_THREADING_PROC, 94, -1}, {95, 1, 1, 95, HYPER_THREADING_PROC, 95, -1}, + {96, 1, 1, 96, HYPER_THREADING_PROC, 96, -1}, {97, 1, 1, 97, HYPER_THREADING_PROC, 97, -1}, + {98, 1, 1, 98, HYPER_THREADING_PROC, 98, -1}, {99, 1, 1, 99, HYPER_THREADING_PROC, 99, -1}, + {100, 1, 1, 100, HYPER_THREADING_PROC, 100, -1}, {101, 1, 1, 101, HYPER_THREADING_PROC, 101, -1}, + {102, 1, 1, 102, HYPER_THREADING_PROC, 102, -1}, {103, 1, 1, 103, HYPER_THREADING_PROC, 103, -1}, + {104, 1, 1, 104, HYPER_THREADING_PROC, 104, -1}, {105, 1, 1, 105, HYPER_THREADING_PROC, 105, -1}, + {106, 1, 1, 106, HYPER_THREADING_PROC, 106, -1}, {107, 1, 1, 107, HYPER_THREADING_PROC, 107, -1}, + {108, 1, 1, 108, HYPER_THREADING_PROC, 108, -1}, {109, 1, 1, 109, HYPER_THREADING_PROC, 109, -1}, + {110, 1, 1, 110, HYPER_THREADING_PROC, 110, -1}, {111, 1, 1, 111, HYPER_THREADING_PROC, 111, -1}, + {112, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {113, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {114, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {115, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {116, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {117, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {118, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {119, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {120, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {121, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {122, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {123, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {124, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {125, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {126, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {127, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {128, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {129, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {130, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {131, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {132, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {133, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {134, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {135, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {136, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, {137, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, + {138, 0, 0, 26, MAIN_CORE_PROC, 26, -1}, {139, 0, 0, 27, MAIN_CORE_PROC, 27, -1}, + {140, 0, 0, 28, MAIN_CORE_PROC, 28, -1}, {141, 0, 0, 29, MAIN_CORE_PROC, 29, -1}, + {142, 0, 0, 30, MAIN_CORE_PROC, 30, -1}, {143, 0, 0, 31, MAIN_CORE_PROC, 31, -1}, + {144, 0, 0, 32, MAIN_CORE_PROC, 32, -1}, {145, 0, 0, 33, MAIN_CORE_PROC, 33, -1}, + {146, 0, 0, 34, MAIN_CORE_PROC, 34, -1}, {147, 0, 0, 35, MAIN_CORE_PROC, 35, -1}, + {148, 0, 0, 36, MAIN_CORE_PROC, 36, -1}, {149, 0, 0, 37, MAIN_CORE_PROC, 37, -1}, + {150, 0, 0, 38, MAIN_CORE_PROC, 38, -1}, {151, 0, 0, 39, MAIN_CORE_PROC, 39, -1}, + {152, 0, 0, 40, MAIN_CORE_PROC, 40, -1}, {153, 0, 0, 41, MAIN_CORE_PROC, 41, -1}, + {154, 0, 0, 42, MAIN_CORE_PROC, 42, -1}, {155, 0, 0, 43, MAIN_CORE_PROC, 43, -1}, + {156, 0, 0, 44, MAIN_CORE_PROC, 44, -1}, {157, 0, 0, 45, MAIN_CORE_PROC, 45, -1}, + {158, 0, 0, 46, MAIN_CORE_PROC, 46, -1}, {159, 0, 0, 47, MAIN_CORE_PROC, 47, -1}, + {160, 0, 0, 48, MAIN_CORE_PROC, 48, -1}, {161, 0, 0, 49, MAIN_CORE_PROC, 49, -1}, + {162, 0, 0, 50, MAIN_CORE_PROC, 50, -1}, {163, 0, 0, 51, MAIN_CORE_PROC, 51, -1}, + {164, 0, 0, 52, MAIN_CORE_PROC, 52, -1}, {165, 0, 0, 53, MAIN_CORE_PROC, 53, -1}, + {166, 0, 0, 54, MAIN_CORE_PROC, 54, -1}, {167, 0, 0, 55, MAIN_CORE_PROC, 55, -1}, + {168, 1, 1, 56, MAIN_CORE_PROC, 56, -1}, {169, 1, 1, 57, MAIN_CORE_PROC, 57, -1}, + {170, 1, 1, 58, MAIN_CORE_PROC, 58, -1}, {171, 1, 1, 59, MAIN_CORE_PROC, 59, -1}, + {172, 1, 1, 60, MAIN_CORE_PROC, 60, -1}, {173, 1, 1, 61, MAIN_CORE_PROC, 61, -1}, + {174, 1, 1, 62, MAIN_CORE_PROC, 62, -1}, {175, 1, 1, 63, MAIN_CORE_PROC, 63, -1}, + {176, 1, 1, 64, MAIN_CORE_PROC, 64, -1}, {177, 1, 1, 65, MAIN_CORE_PROC, 65, -1}, + {178, 1, 1, 66, MAIN_CORE_PROC, 66, -1}, {179, 1, 1, 67, MAIN_CORE_PROC, 67, -1}, + {180, 1, 1, 68, MAIN_CORE_PROC, 68, -1}, {181, 1, 1, 69, MAIN_CORE_PROC, 69, -1}, + {182, 1, 1, 70, MAIN_CORE_PROC, 70, -1}, {183, 1, 1, 71, MAIN_CORE_PROC, 71, -1}, + {184, 1, 1, 72, MAIN_CORE_PROC, 72, -1}, {185, 1, 1, 73, MAIN_CORE_PROC, 73, -1}, + {186, 1, 1, 74, MAIN_CORE_PROC, 74, -1}, {187, 1, 1, 75, MAIN_CORE_PROC, 75, -1}, + {188, 1, 1, 76, MAIN_CORE_PROC, 76, -1}, {189, 1, 1, 77, MAIN_CORE_PROC, 77, -1}, + {190, 1, 1, 78, MAIN_CORE_PROC, 78, -1}, {191, 1, 1, 79, MAIN_CORE_PROC, 79, -1}, + {192, 1, 1, 80, MAIN_CORE_PROC, 80, -1}, {193, 1, 1, 81, MAIN_CORE_PROC, 81, -1}, + {194, 1, 1, 82, MAIN_CORE_PROC, 82, -1}, {195, 1, 1, 83, MAIN_CORE_PROC, 83, -1}, + {196, 1, 1, 84, MAIN_CORE_PROC, 84, -1}, {197, 1, 1, 85, MAIN_CORE_PROC, 85, -1}, + {198, 1, 1, 86, MAIN_CORE_PROC, 86, -1}, {199, 1, 1, 87, MAIN_CORE_PROC, 87, -1}, + {200, 1, 1, 88, MAIN_CORE_PROC, 88, -1}, {201, 1, 1, 89, MAIN_CORE_PROC, 89, -1}, + {202, 1, 1, 90, MAIN_CORE_PROC, 90, -1}, {203, 1, 1, 91, MAIN_CORE_PROC, 91, -1}, + {204, 1, 1, 92, MAIN_CORE_PROC, 92, -1}, {205, 1, 1, 93, MAIN_CORE_PROC, 93, -1}, + {206, 1, 1, 94, MAIN_CORE_PROC, 94, -1}, {207, 1, 1, 95, MAIN_CORE_PROC, 95, -1}, + {208, 1, 1, 96, MAIN_CORE_PROC, 96, -1}, {209, 1, 1, 97, MAIN_CORE_PROC, 97, -1}, + {210, 1, 1, 98, MAIN_CORE_PROC, 98, -1}, {211, 1, 1, 99, MAIN_CORE_PROC, 99, -1}, + {212, 1, 1, 100, MAIN_CORE_PROC, 100, -1}, {213, 1, 1, 101, MAIN_CORE_PROC, 101, -1}, + {214, 1, 1, 102, MAIN_CORE_PROC, 102, -1}, {215, 1, 1, 103, MAIN_CORE_PROC, 103, -1}, + {216, 1, 1, 104, MAIN_CORE_PROC, 104, -1}, {217, 1, 1, 105, MAIN_CORE_PROC, 105, -1}, + {218, 1, 1, 106, MAIN_CORE_PROC, 106, -1}, {219, 1, 1, 107, MAIN_CORE_PROC, 107, -1}, + {220, 1, 1, 108, MAIN_CORE_PROC, 108, -1}, {221, 1, 1, 109, MAIN_CORE_PROC, 109, -1}, + {222, 1, 1, 110, MAIN_CORE_PROC, 110, -1}, {223, 1, 1, 111, MAIN_CORE_PROC, 111, -1}, + }, // param[expected out]: The cpu_mapping_table of this simulated platform + { + {"0,112", "0", "2001000"}, {"1,113", "0", "2001000"}, {"2,114", "0", "2001000"}, + {"3,115", "0", "2001000"}, {"4,116", "0", "2001000"}, {"5,117", "0", "2001000"}, + {"6,118", "0", "2001000"}, {"7,119", "0", "2001000"}, {"8,120", "0", "2001000"}, + {"9,121", "0", "2001000"}, {"10,122", "0", "2001000"}, {"11,123", "0", "2001000"}, + {"12,124", "0", "2001000"}, {"13,125", "0", "2001000"}, {"14,126", "0", "2001000"}, + {"15,127", "0", "2001000"}, {"16,128", "0", "2001000"}, {"17,129", "0", "2001000"}, + {"18,130", "0", "2001000"}, {"19,131", "0", "2001000"}, {"20,132", "0", "2001000"}, + {"21,133", "0", "2001000"}, {"22,134", "0", "2001000"}, {"23,135", "0", "2001000"}, + {"24,136", "0", "2001000"}, {"25,137", "0", "2001000"}, {"26,138", "0", "2001000"}, + {"27,139", "0", "2001000"}, {"28,140", "0", "2001000"}, {"29,141", "0", "2001000"}, + {"30,142", "0", "2001000"}, {"31,143", "0", "2001000"}, {"32,144", "0", "2001000"}, + {"33,145", "0", "2001000"}, {"34,146", "0", "2001000"}, {"35,147", "0", "2001000"}, + {"36,148", "0", "2001000"}, {"37,149", "0", "2001000"}, {"38,150", "0", "2001000"}, + {"39,151", "0", "2001000"}, {"40,152", "0", "2001000"}, {"41,153", "0", "2001000"}, + {"42,154", "0", "2001000"}, {"43,155", "0", "2001000"}, {"44,156", "0", "2001000"}, + {"45,157", "0", "2001000"}, {"46,158", "0", "2001000"}, {"47,159", "0", "2001000"}, + {"48,160", "0", "2001000"}, {"49,161", "0", "2001000"}, {"50,162", "0", "2001000"}, + {"51,163", "0", "2001000"}, {"52,164", "0", "2001000"}, {"53,165", "0", "2001000"}, + {"54,166", "0", "2001000"}, {"55,167", "0", "2001000"}, {"56,168", "1", "2001000"}, + {"57,169", "1", "2001000"}, {"58,170", "1", "2001000"}, {"59,171", "1", "2001000"}, + {"60,172", "1", "2001000"}, {"61,173", "1", "2001000"}, {"62,174", "1", "2001000"}, + {"63,175", "1", "2001000"}, {"64,176", "1", "2001000"}, {"65,177", "1", "2001000"}, + {"66,178", "1", "2001000"}, {"67,179", "1", "2001000"}, {"68,180", "1", "2001000"}, + {"69,181", "1", "2001000"}, {"70,182", "1", "2001000"}, {"71,183", "1", "2001000"}, + {"72,184", "1", "2001000"}, {"73,185", "1", "2001000"}, {"74,186", "1", "2001000"}, + {"75,187", "1", "2001000"}, {"76,188", "1", "2001000"}, {"77,189", "1", "2001000"}, + {"78,190", "1", "2001000"}, {"79,191", "1", "2001000"}, {"80,192", "1", "2001000"}, + {"81,193", "1", "2001000"}, {"82,194", "1", "2001000"}, {"83,195", "1", "2001000"}, + {"84,196", "1", "2001000"}, {"85,197", "1", "2001000"}, {"86,198", "1", "2001000"}, + {"87,199", "1", "2001000"}, {"88,200", "1", "2001000"}, {"89,201", "1", "2001000"}, + {"90,202", "1", "2001000"}, {"91,203", "1", "2001000"}, {"92,204", "1", "2001000"}, + {"93,205", "1", "2001000"}, {"94,206", "1", "2001000"}, {"95,207", "1", "2001000"}, + {"96,208", "1", "2001000"}, {"97,209", "1", "2001000"}, {"98,210", "1", "2001000"}, + {"99,211", "1", "2001000"}, {"100,212", "1", "2001000"}, {"101,213", "1", "2001000"}, + {"102,214", "1", "2001000"}, {"103,215", "1", "2001000"}, {"104,216", "1", "2001000"}, + {"105,217", "1", "2001000"}, {"106,218", "1", "2001000"}, {"107,219", "1", "2001000"}, + {"108,220", "1", "2001000"}, {"109,221", "1", "2001000"}, {"110,222", "1", "2001000"}, + {"111,223", "1", "2001000"}, {"0,112", "0", "2001000"}, {"1,113", "0", "2001000"}, + {"2,114", "0", "2001000"}, {"3,115", "0", "2001000"}, {"4,116", "0", "2001000"}, + {"5,117", "0", "2001000"}, {"6,118", "0", "2001000"}, {"7,119", "0", "2001000"}, + {"8,120", "0", "2001000"}, {"9,121", "0", "2001000"}, {"10,122", "0", "2001000"}, + {"11,123", "0", "2001000"}, {"12,124", "0", "2001000"}, {"13,125", "0", "2001000"}, + {"14,126", "0", "2001000"}, {"15,127", "0", "2001000"}, {"16,128", "0", "2001000"}, + {"17,129", "0", "2001000"}, {"18,130", "0", "2001000"}, {"19,131", "0", "2001000"}, + {"20,132", "0", "2001000"}, {"21,133", "0", "2001000"}, {"22,134", "0", "2001000"}, + {"23,135", "0", "2001000"}, {"24,136", "0", "2001000"}, {"25,137", "0", "2001000"}, + {"26,138", "0", "2001000"}, {"27,139", "0", "2001000"}, {"28,140", "0", "2001000"}, + {"29,141", "0", "2001000"}, {"30,142", "0", "2001000"}, {"31,143", "0", "2001000"}, + {"32,144", "0", "2001000"}, {"33,145", "0", "2001000"}, {"34,146", "0", "2001000"}, + {"35,147", "0", "2001000"}, {"36,148", "0", "2001000"}, {"37,149", "0", "2001000"}, + {"38,150", "0", "2001000"}, {"39,151", "0", "2001000"}, {"40,152", "0", "2001000"}, + {"41,153", "0", "2001000"}, {"42,154", "0", "2001000"}, {"43,155", "0", "2001000"}, + {"44,156", "0", "2001000"}, {"45,157", "0", "2001000"}, {"46,158", "0", "2001000"}, + {"47,159", "0", "2001000"}, {"48,160", "0", "2001000"}, {"49,161", "0", "2001000"}, + {"50,162", "0", "2001000"}, {"51,163", "0", "2001000"}, {"52,164", "0", "2001000"}, + {"53,165", "0", "2001000"}, {"54,166", "0", "2001000"}, {"55,167", "0", "2001000"}, + {"56,168", "1", "2001000"}, {"57,169", "1", "2001000"}, {"58,170", "1", "2001000"}, + {"59,171", "1", "2001000"}, {"60,172", "1", "2001000"}, {"61,173", "1", "2001000"}, + {"62,174", "1", "2001000"}, {"63,175", "1", "2001000"}, {"64,176", "1", "2001000"}, + {"65,177", "1", "2001000"}, {"66,178", "1", "2001000"}, {"67,179", "1", "2001000"}, + {"68,180", "1", "2001000"}, {"69,181", "1", "2001000"}, {"70,182", "1", "2001000"}, + {"71,183", "1", "2001000"}, {"72,184", "1", "2001000"}, {"73,185", "1", "2001000"}, + {"74,186", "1", "2001000"}, {"75,187", "1", "2001000"}, {"76,188", "1", "2001000"}, + {"77,189", "1", "2001000"}, {"78,190", "1", "2001000"}, {"79,191", "1", "2001000"}, + {"80,192", "1", "2001000"}, {"81,193", "1", "2001000"}, {"82,194", "1", "2001000"}, + {"83,195", "1", "2001000"}, {"84,196", "1", "2001000"}, {"85,197", "1", "2001000"}, + {"86,198", "1", "2001000"}, {"87,199", "1", "2001000"}, {"88,200", "1", "2001000"}, + {"89,201", "1", "2001000"}, {"90,202", "1", "2001000"}, {"91,203", "1", "2001000"}, + {"92,204", "1", "2001000"}, {"93,205", "1", "2001000"}, {"94,206", "1", "2001000"}, + {"95,207", "1", "2001000"}, {"96,208", "1", "2001000"}, {"97,209", "1", "2001000"}, + {"98,210", "1", "2001000"}, {"99,211", "1", "2001000"}, {"100,212", "1", "2001000"}, + {"101,213", "1", "2001000"}, {"102,214", "1", "2001000"}, {"103,215", "1", "2001000"}, + {"104,216", "1", "2001000"}, {"105,217", "1", "2001000"}, {"106,218", "1", "2001000"}, + {"107,219", "1", "2001000"}, {"108,220", "1", "2001000"}, {"109,221", "1", "2001000"}, + {"110,222", "1", "2001000"}, {"111,223", "1", "2001000"}, + }, // 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_48cores_hyperthreading = { + 96, + 2, + 2, + 48, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 1, 1, 24, HYPER_THREADING_PROC, 24, -1}, {25, 1, 1, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 1, 1, 26, HYPER_THREADING_PROC, 26, -1}, {27, 1, 1, 27, HYPER_THREADING_PROC, 27, -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, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {49, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {50, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {51, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {52, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {53, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {54, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {55, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {56, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {57, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {58, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {59, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {60, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {61, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {62, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {63, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {64, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {65, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {66, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {67, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {68, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {69, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {70, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {71, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {72, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, {73, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {74, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {75, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {76, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {77, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {78, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {79, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {80, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {81, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {82, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {83, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {84, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {85, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {86, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {87, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {88, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {89, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {90, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {91, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {92, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {93, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {94, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {95, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, + {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, + {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, + {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, + {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, + {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, + {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, + {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, + {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, + {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, + {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, + {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, + {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, + {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, + {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, + {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, + {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, + {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, + {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, + {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, + {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, + {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, + {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, + {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, + }, + { + {"0-23,48-71"}, + {"24-47,72-95"}, + }, + +}; +LinuxCpuMapTestCase freq_2sockets_48cores_hyperthreading_1 = { + 96, + 4, + 2, + 48, + {{96, 48, 0, 48, -1, -1}, + {24, 12, 0, 12, 0, 0}, + {24, 12, 0, 12, 1, 0}, + {24, 12, 0, 12, 2, 1}, + {24, 12, 0, 12, 3, 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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 1, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 1, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 1, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 1, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 2, 1, 24, HYPER_THREADING_PROC, 24, -1}, {25, 2, 1, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 2, 1, 26, HYPER_THREADING_PROC, 26, -1}, {27, 2, 1, 27, HYPER_THREADING_PROC, 27, -1}, + {28, 2, 1, 28, HYPER_THREADING_PROC, 28, -1}, {29, 2, 1, 29, HYPER_THREADING_PROC, 29, -1}, + {30, 2, 1, 30, HYPER_THREADING_PROC, 30, -1}, {31, 2, 1, 31, HYPER_THREADING_PROC, 31, -1}, + {32, 2, 1, 32, HYPER_THREADING_PROC, 32, -1}, {33, 2, 1, 33, HYPER_THREADING_PROC, 33, -1}, + {34, 2, 1, 34, HYPER_THREADING_PROC, 34, -1}, {35, 2, 1, 35, HYPER_THREADING_PROC, 35, -1}, + {36, 3, 1, 36, HYPER_THREADING_PROC, 36, -1}, {37, 3, 1, 37, HYPER_THREADING_PROC, 37, -1}, + {38, 3, 1, 38, HYPER_THREADING_PROC, 38, -1}, {39, 3, 1, 39, HYPER_THREADING_PROC, 39, -1}, + {40, 3, 1, 40, HYPER_THREADING_PROC, 40, -1}, {41, 3, 1, 41, HYPER_THREADING_PROC, 41, -1}, + {42, 3, 1, 42, HYPER_THREADING_PROC, 42, -1}, {43, 3, 1, 43, HYPER_THREADING_PROC, 43, -1}, + {44, 3, 1, 44, HYPER_THREADING_PROC, 44, -1}, {45, 3, 1, 45, HYPER_THREADING_PROC, 45, -1}, + {46, 3, 1, 46, HYPER_THREADING_PROC, 46, -1}, {47, 3, 1, 47, HYPER_THREADING_PROC, 47, -1}, + {48, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {49, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {50, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {51, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {52, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {53, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {54, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {55, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {56, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {57, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {58, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {59, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {60, 1, 0, 12, MAIN_CORE_PROC, 12, -1}, {61, 1, 0, 13, MAIN_CORE_PROC, 13, -1}, + {62, 1, 0, 14, MAIN_CORE_PROC, 14, -1}, {63, 1, 0, 15, MAIN_CORE_PROC, 15, -1}, + {64, 1, 0, 16, MAIN_CORE_PROC, 16, -1}, {65, 1, 0, 17, MAIN_CORE_PROC, 17, -1}, + {66, 1, 0, 18, MAIN_CORE_PROC, 18, -1}, {67, 1, 0, 19, MAIN_CORE_PROC, 19, -1}, + {68, 1, 0, 20, MAIN_CORE_PROC, 20, -1}, {69, 1, 0, 21, MAIN_CORE_PROC, 21, -1}, + {70, 1, 0, 22, MAIN_CORE_PROC, 22, -1}, {71, 1, 0, 23, MAIN_CORE_PROC, 23, -1}, + {72, 2, 1, 24, MAIN_CORE_PROC, 24, -1}, {73, 2, 1, 25, MAIN_CORE_PROC, 25, -1}, + {74, 2, 1, 26, MAIN_CORE_PROC, 26, -1}, {75, 2, 1, 27, MAIN_CORE_PROC, 27, -1}, + {76, 2, 1, 28, MAIN_CORE_PROC, 28, -1}, {77, 2, 1, 29, MAIN_CORE_PROC, 29, -1}, + {78, 2, 1, 30, MAIN_CORE_PROC, 30, -1}, {79, 2, 1, 31, MAIN_CORE_PROC, 31, -1}, + {80, 2, 1, 32, MAIN_CORE_PROC, 32, -1}, {81, 2, 1, 33, MAIN_CORE_PROC, 33, -1}, + {82, 2, 1, 34, MAIN_CORE_PROC, 34, -1}, {83, 2, 1, 35, MAIN_CORE_PROC, 35, -1}, + {84, 3, 1, 36, MAIN_CORE_PROC, 36, -1}, {85, 3, 1, 37, MAIN_CORE_PROC, 37, -1}, + {86, 3, 1, 38, MAIN_CORE_PROC, 38, -1}, {87, 3, 1, 39, MAIN_CORE_PROC, 39, -1}, + {88, 3, 1, 40, MAIN_CORE_PROC, 40, -1}, {89, 3, 1, 41, MAIN_CORE_PROC, 41, -1}, + {90, 3, 1, 42, MAIN_CORE_PROC, 42, -1}, {91, 3, 1, 43, MAIN_CORE_PROC, 43, -1}, + {92, 3, 1, 44, MAIN_CORE_PROC, 44, -1}, {93, 3, 1, 45, MAIN_CORE_PROC, 45, -1}, + {94, 3, 1, 46, MAIN_CORE_PROC, 46, -1}, {95, 3, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + { + {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, + {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, + {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, + {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, + {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, + {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, + {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, + {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, + {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, + {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, + {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, + {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, + {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, + {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, + {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, + {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, + {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, + {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, + {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, + {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, + {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, + {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, + {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, + {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, + }, + { + {"0-11,48-59"}, + {"12-23,60-71"}, + {"24-35,72-83"}, + {"36-47,84-95"}, + }, +}; +LinuxCpuMapTestCase freq_2sockets_24cores_hyperthreading = { + 48, + 2, + 2, + 24, + {{48, 24, 0, 24, -1, -1}, {24, 12, 0, 12, 0, 0}, {24, 12, 0, 12, 1, 1}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 1, 1, 1, HYPER_THREADING_PROC, 1, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 1, 1, 3, HYPER_THREADING_PROC, 3, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 1, 1, 5, HYPER_THREADING_PROC, 5, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 1, 1, 7, HYPER_THREADING_PROC, 7, -1}, + {8, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 1, 1, 9, HYPER_THREADING_PROC, 9, -1}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 1, 1, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 1, 1, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {25, 1, 1, 1, MAIN_CORE_PROC, 1, -1}, + {26, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {27, 1, 1, 3, MAIN_CORE_PROC, 3, -1}, + {28, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {29, 1, 1, 5, MAIN_CORE_PROC, 5, -1}, + {30, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {31, 1, 1, 7, MAIN_CORE_PROC, 7, -1}, + {32, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {33, 1, 1, 9, MAIN_CORE_PROC, 9, -1}, + {34, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {35, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {36, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {37, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {38, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {39, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {40, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {41, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {42, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {43, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + {44, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {45, 1, 1, 21, MAIN_CORE_PROC, 21, -1}, + {46, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {47, 1, 1, 23, MAIN_CORE_PROC, 23, -1}, + }, + { + {"0,24", "0", "3500000"}, {"1,25", "1", "3500000"}, {"2,26", "0", "3500000"}, {"3,27", "1", "3500000"}, + {"4,28", "0", "3500000"}, {"5,29", "1", "3500000"}, {"6,30", "0", "3500000"}, {"7,31", "1", "3500000"}, + {"8,32", "0", "3500000"}, {"9,33", "1", "3500000"}, {"10,34", "0", "3500000"}, {"11,35", "1", "3500000"}, + {"12,36", "0", "3500000"}, {"13,37", "1", "3500000"}, {"14,38", "0", "3500000"}, {"15,39", "1", "3500000"}, + {"16,40", "0", "3500000"}, {"17,41", "1", "3500000"}, {"18,42", "0", "3500000"}, {"19,43", "1", "3500000"}, + {"20,44", "0", "3500000"}, {"21,45", "1", "3500000"}, {"22,46", "0", "3500000"}, {"23,47", "1", "3500000"}, + {"0,24", "0", "3500000"}, {"1,25", "1", "3500000"}, {"2,26", "0", "3500000"}, {"3,27", "1", "3500000"}, + {"4,28", "0", "3500000"}, {"5,29", "1", "3500000"}, {"6,30", "0", "3500000"}, {"7,31", "1", "3500000"}, + {"8,32", "0", "3500000"}, {"9,33", "1", "3500000"}, {"10,34", "0", "3500000"}, {"11,35", "1", "3500000"}, + {"12,36", "0", "3500000"}, {"13,37", "1", "3500000"}, {"14,38", "0", "3500000"}, {"15,39", "1", "3500000"}, + {"16,40", "0", "3500000"}, {"17,41", "1", "3500000"}, {"18,42", "0", "3500000"}, {"19,43", "1", "3500000"}, + {"20,44", "0", "3500000"}, {"21,45", "1", "3500000"}, {"22,46", "0", "3500000"}, {"23,47", "1", "3500000"}, + }, + { + {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}, + {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}, + }, +}; +LinuxCpuMapTestCase freq_2sockets_24cores_hyperthreading_1 = { + 48, + 4, + 2, + 24, + {{48, 24, 0, 24, -1, -1}, {12, 6, 0, 6, 0, 0}, {12, 6, 0, 6, 1, 0}, {12, 6, 0, 6, 2, 1}, {12, 6, 0, 6, 3, 1}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 2, 1, 1, HYPER_THREADING_PROC, 1, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 2, 1, 3, HYPER_THREADING_PROC, 3, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 2, 1, 5, HYPER_THREADING_PROC, 5, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 2, 1, 7, HYPER_THREADING_PROC, 7, -1}, + {8, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 2, 1, 9, HYPER_THREADING_PROC, 9, -1}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 2, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 3, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 3, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 3, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 3, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 1, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 3, 1, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 1, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 3, 1, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {25, 2, 1, 1, MAIN_CORE_PROC, 1, -1}, + {26, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {27, 2, 1, 3, MAIN_CORE_PROC, 3, -1}, + {28, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {29, 2, 1, 5, MAIN_CORE_PROC, 5, -1}, + {30, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {31, 2, 1, 7, MAIN_CORE_PROC, 7, -1}, + {32, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {33, 2, 1, 9, MAIN_CORE_PROC, 9, -1}, + {34, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {35, 2, 1, 11, MAIN_CORE_PROC, 11, -1}, + {36, 1, 0, 12, MAIN_CORE_PROC, 12, -1}, {37, 3, 1, 13, MAIN_CORE_PROC, 13, -1}, + {38, 1, 0, 14, MAIN_CORE_PROC, 14, -1}, {39, 3, 1, 15, MAIN_CORE_PROC, 15, -1}, + {40, 1, 0, 16, MAIN_CORE_PROC, 16, -1}, {41, 3, 1, 17, MAIN_CORE_PROC, 17, -1}, + {42, 1, 0, 18, MAIN_CORE_PROC, 18, -1}, {43, 3, 1, 19, MAIN_CORE_PROC, 19, -1}, + {44, 1, 0, 20, MAIN_CORE_PROC, 20, -1}, {45, 3, 1, 21, MAIN_CORE_PROC, 21, -1}, + {46, 1, 0, 22, MAIN_CORE_PROC, 22, -1}, {47, 3, 1, 23, MAIN_CORE_PROC, 23, -1}, + }, + { + {"0,24", "0", "3500000"}, {"1,25", "1", "3500000"}, {"2,26", "0", "3500000"}, {"3,27", "1", "3500000"}, + {"4,28", "0", "3500000"}, {"5,29", "1", "3500000"}, {"6,30", "0", "3500000"}, {"7,31", "1", "3500000"}, + {"8,32", "0", "3500000"}, {"9,33", "1", "3500000"}, {"10,34", "0", "3500000"}, {"11,35", "1", "3500000"}, + {"12,36", "0", "3500000"}, {"13,37", "1", "3500000"}, {"14,38", "0", "3500000"}, {"15,39", "1", "3500000"}, + {"16,40", "0", "3500000"}, {"17,41", "1", "3500000"}, {"18,42", "0", "3500000"}, {"19,43", "1", "3500000"}, + {"20,44", "0", "3500000"}, {"21,45", "1", "3500000"}, {"22,46", "0", "3500000"}, {"23,47", "1", "3500000"}, + {"0,24", "0", "3500000"}, {"1,25", "1", "3500000"}, {"2,26", "0", "3500000"}, {"3,27", "1", "3500000"}, + {"4,28", "0", "3500000"}, {"5,29", "1", "3500000"}, {"6,30", "0", "3500000"}, {"7,31", "1", "3500000"}, + {"8,32", "0", "3500000"}, {"9,33", "1", "3500000"}, {"10,34", "0", "3500000"}, {"11,35", "1", "3500000"}, + {"12,36", "0", "3500000"}, {"13,37", "1", "3500000"}, {"14,38", "0", "3500000"}, {"15,39", "1", "3500000"}, + {"16,40", "0", "3500000"}, {"17,41", "1", "3500000"}, {"18,42", "0", "3500000"}, {"19,43", "1", "3500000"}, + {"20,44", "0", "3500000"}, {"21,45", "1", "3500000"}, {"22,46", "0", "3500000"}, {"23,47", "1", "3500000"}, + }, + { + {"0,2,4,6,8,10,24,26,28,30,32,34"}, + {"12,14,16,18,20,22,36,38,40,42,44,46"}, + {"1,3,5,7,9,11,25,27,29,31,33,35"}, + {"13,15,17,19,21,23,37,39,41,43,45,47"}, + }, +}; +LinuxCpuMapTestCase freq_2sockets_20cores_hyperthreading = { + 40, + 2, + 2, + 20, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 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}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {28, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {38, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + }, + { + {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, + {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, + {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, + {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, + {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, + {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, + {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, + {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, + {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, + {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, + }, + {{"0-9,20-29"}, {"10-19,30-39"}}, +}; +LinuxCpuMapTestCase freq_2sockets_20cores_hyperthreading_1 = { + 40, + 2, + 2, + 20, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 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}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 1, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 1, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 1, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 1, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {28, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {38, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + }, + { + {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, + {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, + {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, + {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, + {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, + {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, + {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, + {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, + {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, + {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, + }, + {}, +}; +LinuxCpuMapTestCase freq_2sockets_20cores = { + 20, + 2, + 2, + 20, + {{20, 20, 0, 0, -1, -1}, {10, 10, 0, 0, 0, 0}, {10, 10, 0, 0, 1, 1}}, + { + {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, MAIN_CORE_PROC, 4, -1}, {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {9, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {10, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, {11, 1, 1, 11, MAIN_CORE_PROC, 11, -1}, + {12, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, {13, 1, 1, 13, MAIN_CORE_PROC, 13, -1}, + {14, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, {15, 1, 1, 15, MAIN_CORE_PROC, 15, -1}, + {16, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, {17, 1, 1, 17, MAIN_CORE_PROC, 17, -1}, + {18, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, {19, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + }, + { + {"0", "0", "3000000"}, {"1", "0", "3000000"}, {"2", "0", "3000000"}, {"3", "0", "3000000"}, + {"4", "0", "3000000"}, {"5", "0", "3000000"}, {"6", "0", "3000000"}, {"7", "0", "3000000"}, + {"8", "0", "3000000"}, {"9", "0", "3000000"}, {"10", "1", "3000000"}, {"11", "1", "3000000"}, + {"12", "1", "3000000"}, {"13", "1", "3000000"}, {"14", "1", "3000000"}, {"15", "1", "3000000"}, + {"16", "1", "3000000"}, {"17", "1", "3000000"}, {"18", "1", "3000000"}, {"19", "1", "3000000"}, + }, + {{"0-9"}, {"10-19"}}, +}; +LinuxCpuMapTestCase freq_1sockets_32cores_hyperthreading = { + 64, + 1, + 1, + 32, + {{64, 32, 0, 32, 0, 0}}, + { + {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}, + {10, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, + {12, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, + {14, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, + {16, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, + {18, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, + {20, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, + {22, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, + {24, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, + {26, 0, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 0, 27, HYPER_THREADING_PROC, 27, -1}, + {28, 0, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 0, 29, HYPER_THREADING_PROC, 29, -1}, + {30, 0, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 0, 31, HYPER_THREADING_PROC, 31, -1}, + {32, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, {33, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {34, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, {35, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {36, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, {37, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {38, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {39, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {40, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {41, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {42, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {43, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {44, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {45, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {46, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {47, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {48, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {49, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {50, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {51, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {52, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {53, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {54, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {55, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {56, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, {57, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, + {58, 0, 0, 26, MAIN_CORE_PROC, 26, -1}, {59, 0, 0, 27, MAIN_CORE_PROC, 27, -1}, + {60, 0, 0, 28, MAIN_CORE_PROC, 28, -1}, {61, 0, 0, 29, MAIN_CORE_PROC, 29, -1}, + {62, 0, 0, 30, MAIN_CORE_PROC, 30, -1}, {63, 0, 0, 31, MAIN_CORE_PROC, 31, -1}, + }, + { + {"0,32", "0", "3400000"}, {"1,33", "0", "3400000"}, {"2,34", "0", "3400000"}, {"3,35", "0", "3400000"}, + {"4,36", "0", "3400000"}, {"5,37", "0", "3400000"}, {"6,38", "0", "3400000"}, {"7,39", "0", "3400000"}, + {"8,40", "0", "3400000"}, {"9,41", "0", "3400000"}, {"10,42", "0", "3400000"}, {"11,43", "0", "3400000"}, + {"12,44", "0", "3400000"}, {"13,45", "0", "3400000"}, {"14,46", "0", "3400000"}, {"15,47", "0", "3400000"}, + {"16,48", "0", "3400000"}, {"17,49", "0", "3400000"}, {"18,50", "0", "3400000"}, {"19,51", "0", "3400000"}, + {"20,52", "0", "3400000"}, {"21,53", "0", "3400000"}, {"22,54", "0", "3400000"}, {"23,55", "0", "3400000"}, + {"24,56", "0", "3400000"}, {"25,57", "0", "3400000"}, {"26,58", "0", "3400000"}, {"27,59", "0", "3400000"}, + {"28,60", "0", "3400000"}, {"29,61", "0", "3400000"}, {"30,62", "0", "3400000"}, {"31,63", "0", "3400000"}, + {"0,32", "0", "3400000"}, {"1,33", "0", "3400000"}, {"2,34", "0", "3400000"}, {"3,35", "0", "3400000"}, + {"4,36", "0", "3400000"}, {"5,37", "0", "3400000"}, {"6,38", "0", "3400000"}, {"7,39", "0", "3400000"}, + {"8,40", "0", "3400000"}, {"9,41", "0", "3400000"}, {"10,42", "0", "3400000"}, {"11,43", "0", "3400000"}, + {"12,44", "0", "3400000"}, {"13,45", "0", "3400000"}, {"14,46", "0", "3400000"}, {"15,47", "0", "3400000"}, + {"16,48", "0", "3400000"}, {"17,49", "0", "3400000"}, {"18,50", "0", "3400000"}, {"19,51", "0", "3400000"}, + {"20,52", "0", "3400000"}, {"21,53", "0", "3400000"}, {"22,54", "0", "3400000"}, {"23,55", "0", "3400000"}, + {"24,56", "0", "3400000"}, {"25,57", "0", "3400000"}, {"26,58", "0", "3400000"}, {"27,59", "0", "3400000"}, + {"28,60", "0", "3400000"}, {"29,61", "0", "3400000"}, {"30,62", "0", "3400000"}, {"31,63", "0", "3400000"}, + }, + {{"0-63"}}, +}; +LinuxCpuMapTestCase freq_1sockets_16cores_hyperthreading = { + 24, + 1, + 1, + 16, + {{24, 8, 8, 8, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {20, 0, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, {21, 0, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, + {22, 0, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, {23, 0, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, + }, + { + {"0-1", "0", "5376760"}, {"0-1", "0", "5376760"}, {"2-3", "0", "5376760"}, {"2-3", "0", "5376760"}, + {"4-5", "0", "5376760"}, {"4-5", "0", "5376760"}, {"6-7", "0", "5376760"}, {"6-7", "0", "5376760"}, + {"8-9", "0", "5400000"}, {"8-9", "0", "5400000"}, {"10-11", "0", "5400000"}, {"10-11", "0", "5400000"}, + {"12-13", "0", "5376760"}, {"12-13", "0", "5376760"}, {"14-15", "0", "5376760"}, {"14-15", "0", "5376760"}, + {"16", "0", "4200000"}, {"17", "0", "4200000"}, {"18", "0", "4200000"}, {"19", "0", "4200000"}, + {"20", "0", "4200000"}, {"21", "0", "4200000"}, {"22", "0", "4200000"}, {"23", "0", "4200000"}, + }, + {}, +}; +LinuxCpuMapTestCase freq_1sockets_16cores = { + 16, + 1, + 1, + 16, + {{16, 8, 8, 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, MAIN_CORE_PROC, 4, -1}, + {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {9, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {10, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {11, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {12, 0, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, + {13, 0, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, + {14, 0, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, + {15, 0, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, + }, + { + {"0", "0", "5376760"}, + {"1", "0", "5376760"}, + {"2", "0", "5376760"}, + {"3", "0", "5376760"}, + {"4", "0", "5400000"}, + {"5", "0", "5400000"}, + {"6", "0", "5376760"}, + {"7", "0", "5376760"}, + {"8", "0", "4200000"}, + {"9", "0", "4200000"}, + {"10", "0", "4200000"}, + {"11", "0", "4200000"}, + {"12", "0", "4200000"}, + {"13", "0", "4200000"}, + {"14", "0", "4200000"}, + {"15", "0", "4200000"}, + }, + {{"0-15"}}, +}; +LinuxCpuMapTestCase freq_1sockets_16cores_1_hyperthreading = { + 22, + 1, + 1, + 16, + {{22, 6, 10, 6, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, 7, -1}, + {14, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {15, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {16, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, {17, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {18, 0, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, {19, 0, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, + {20, 0, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, {21, 0, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, + }, + { + {"0-1", "2", "3200040"}, {"0-1", "2", "3200040"}, {"2-3", "3", "3200040"}, {"2-3", "3", "3200040"}, + {"4-5", "4", "3200040"}, {"4-5", "4", "3200040"}, {"6-7", "5", "3200040"}, {"6-7", "5", "3200040"}, + {"8-9", "6", "3200040"}, {"8-9", "6", "3200040"}, {"10-11", "7", "3200040"}, {"10-11", "7", "3200040"}, + {"12", "0", "3100000"}, {"13", "0", "3100000"}, {"14", "0", "3100000"}, {"15", "0", "3100000"}, + {"16", "1", "3100000"}, {"17", "1", "3100000"}, {"18", "1", "3100000"}, {"19", "1", "3100000"}, + {"20", "8", "1600011"}, {"21", "8", "1600011"}, + }, + {}, +}; +LinuxCpuMapTestCase freq_1sockets_12cores_hyperthreading = { + 14, + 1, + 1, + 12, + {{14, 2, 10, 2, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, EFFICIENT_CORE_PROC, 2, -1}, + {5, 0, 0, 3, EFFICIENT_CORE_PROC, 3, -1}, + {6, 0, 0, 4, EFFICIENT_CORE_PROC, 4, -1}, + {7, 0, 0, 5, EFFICIENT_CORE_PROC, 5, -1}, + {8, 0, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, + {9, 0, 0, 7, EFFICIENT_CORE_PROC, 7, -1}, + {10, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {11, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {12, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {13, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + }, + { + {"0-1", "2", "4100000"}, + {"0-1", "2", "4100000"}, + {"2-3", "3", "4100000"}, + {"2-3", "3", "4100000"}, + {"4", "0", "3100000"}, + {"5", "0", "3100000"}, + {"6", "0", "3100000"}, + {"7", "0", "3100000"}, + {"8", "1", "3100000"}, + {"9", "1", "3100000"}, + {"10", "1", "3100000"}, + {"11", "1", "3100000"}, + {"12", "8", "2100000"}, + {"13", "8", "2100000"}, + }, + {{"0-13"}}, +}; +LinuxCpuMapTestCase freq_1sockets_8cores_hyperthreading = { + 16, + 1, + 1, + 8, + {{16, 8, 0, 8, 0, 0}}, + { + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, + {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, + {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + }, + { + {"0-1", "0", "6100000"}, + {"0-1", "0", "6100000"}, + {"2-3", "0", "6100000"}, + {"2-3", "0", "6100000"}, + {"4-5", "0", "6100000"}, + {"4-5", "0", "6100000"}, + {"6-7", "0", "6100000"}, + {"6-7", "0", "6100000"}, + {"8-9", "0", "6300000"}, + {"8-9", "0", "6300000"}, + {"10-11", "0", "6300000"}, + {"10-11", "0", "6300000"}, + {"12-13", "0", "6100000"}, + {"12-13", "0", "6100000"}, + {"14-15", "0", "6100000"}, + {"14-15", "0", "6100000"}, + }, + {}, +}; +LinuxCpuMapTestCase freq_1sockets_8cores_hyperthreading_1 = { + 16, + 1, + 1, + 8, + {{16, 8, 0, 8, 0, 0}}, + { + {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, 0, MAIN_CORE_PROC, 0, -1}, + {9, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {10, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {11, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {12, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {13, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {14, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + }, + { + {"0,8", "0", "4700000"}, + {"1,9", "0", "4800000"}, + {"2,10", "0", "4800000"}, + {"3,11", "0", "4700000"}, + {"4,12", "0", "4700000"}, + {"5,13", "0", "4700000"}, + {"6,14", "0", "4700000"}, + {"7,15", "0", "4700000"}, + {"0,8", "0", "4700000"}, + {"1,9", "0", "4800000"}, + {"2,10", "0", "4800000"}, + {"3,11", "0", "4700000"}, + {"4,12", "0", "4700000"}, + {"5,13", "0", "4700000"}, + {"6,14", "0", "4700000"}, + {"7,15", "0", "4700000"}, + }, + {{"0-15"}}, +}; +LinuxCpuMapTestCase freq_1sockets_4cores = { + 4, + 1, + 1, + 4, + {{4, 4, 0, 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}, + }, + { + {"0", "0", "1800000"}, + {"1", "0", "1800000"}, + {"2", "0", "1800000"}, + {"3", "0", "1800000"}, + }, + {}, +}; + +TEST_P(LinuxCpuMapFreqParserTests, LinuxFreq) {} + +INSTANTIATE_TEST_SUITE_P(CPUMap, + LinuxCpuMapFreqParserTests, + testing::Values(freq_2sockets_112cores_hyperthreading, + freq_2sockets_48cores_hyperthreading, + freq_2sockets_48cores_hyperthreading_1, + freq_2sockets_24cores_hyperthreading, + freq_2sockets_24cores_hyperthreading_1, + freq_2sockets_20cores_hyperthreading, + freq_2sockets_20cores_hyperthreading_1, + freq_2sockets_20cores, + freq_1sockets_32cores_hyperthreading, + freq_1sockets_16cores_hyperthreading, + freq_1sockets_16cores, + freq_1sockets_16cores_1_hyperthreading, + freq_1sockets_12cores_hyperthreading, + freq_1sockets_8cores_hyperthreading, + freq_1sockets_8cores_hyperthreading_1, + freq_1sockets_4cores)); + +#endif +} // namespace \ No newline at end of file diff --git a/src/inference/tests/unit/cpu_map_parser.cpp b/src/inference/tests/unit/cpu_map_parser/parser_windows.cpp similarity index 62% rename from src/inference/tests/unit/cpu_map_parser.cpp rename to src/inference/tests/unit/cpu_map_parser/parser_windows.cpp index 06ade186b39..3898e5839f9 100644 --- a/src/inference/tests/unit/cpu_map_parser.cpp +++ b/src/inference/tests/unit/cpu_map_parser/parser_windows.cpp @@ -7,1300 +7,13 @@ #include #include "ie_system_conf.h" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" using namespace testing; using namespace ov; namespace { -#ifdef __linux__ - -struct LinuxCpuMapTestCase { - int _processors; - int _sockets; - int _cores; - std::vector> _proc_type_table; - std::vector> _cpu_mapping_table; - std::vector> system_info_table; -}; - -class LinuxCpuMapCacheParserTests : public CommonTestUtils::TestsCommon, - public testing::WithParamInterface> { -public: - void SetUp() override { - const auto& test_data = std::get<0>(GetParam()); - - int test_processors = 0; - int test_sockets = 0; - int test_cores = 0; - std::vector> test_proc_type_table; - std::vector> test_cpu_mapping_table; - - ov::parse_cache_info_linux(test_data.system_info_table, - test_processors, - test_sockets, - test_cores, - test_proc_type_table, - test_cpu_mapping_table); - - ASSERT_EQ(test_data._processors, test_processors); - ASSERT_EQ(test_data._sockets, test_sockets); - ASSERT_EQ(test_data._cores, test_cores); - ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); - ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); - } -}; - -class LinuxGetCpuMapFromCoresTests : public CommonTestUtils::TestsCommon, - public testing::WithParamInterface> { -public: - void SetUp() override { - const auto& test_data = std::get<0>(GetParam()); - - std::vector> test_proc_type_table; - std::vector> test_cpu_mapping_table; - - ov::get_cpu_mapping_from_cores(test_data._processors, - test_data._sockets, - test_data._cores, - test_proc_type_table, - test_cpu_mapping_table); - - ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); - ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); - } -}; - -LinuxCpuMapTestCase cache_2sockets_104cores_hyperthreading = { - 208, - 2, - 104, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {22, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {24, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 25, HYPER_THREADING_PROC, 25, -1}, - {26, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 27, HYPER_THREADING_PROC, 27, -1}, - {28, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 29, HYPER_THREADING_PROC, 29, -1}, - {30, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 31, HYPER_THREADING_PROC, 31, -1}, - {32, 0, 32, HYPER_THREADING_PROC, 32, -1}, {33, 0, 33, HYPER_THREADING_PROC, 33, -1}, - {34, 0, 34, HYPER_THREADING_PROC, 34, -1}, {35, 0, 35, HYPER_THREADING_PROC, 35, -1}, - {36, 0, 36, HYPER_THREADING_PROC, 36, -1}, {37, 0, 37, HYPER_THREADING_PROC, 37, -1}, - {38, 0, 38, HYPER_THREADING_PROC, 38, -1}, {39, 0, 39, HYPER_THREADING_PROC, 39, -1}, - {40, 0, 40, HYPER_THREADING_PROC, 40, -1}, {41, 0, 41, HYPER_THREADING_PROC, 41, -1}, - {42, 0, 42, HYPER_THREADING_PROC, 42, -1}, {43, 0, 43, HYPER_THREADING_PROC, 43, -1}, - {44, 0, 44, HYPER_THREADING_PROC, 44, -1}, {45, 0, 45, HYPER_THREADING_PROC, 45, -1}, - {46, 0, 46, HYPER_THREADING_PROC, 46, -1}, {47, 0, 47, HYPER_THREADING_PROC, 47, -1}, - {48, 0, 48, HYPER_THREADING_PROC, 48, -1}, {49, 0, 49, HYPER_THREADING_PROC, 49, -1}, - {50, 0, 50, HYPER_THREADING_PROC, 50, -1}, {51, 0, 51, HYPER_THREADING_PROC, 51, -1}, - {52, 1, 52, HYPER_THREADING_PROC, 52, -1}, {53, 1, 53, HYPER_THREADING_PROC, 53, -1}, - {54, 1, 54, HYPER_THREADING_PROC, 54, -1}, {55, 1, 55, HYPER_THREADING_PROC, 55, -1}, - {56, 1, 56, HYPER_THREADING_PROC, 56, -1}, {57, 1, 57, HYPER_THREADING_PROC, 57, -1}, - {58, 1, 58, HYPER_THREADING_PROC, 58, -1}, {59, 1, 59, HYPER_THREADING_PROC, 59, -1}, - {60, 1, 60, HYPER_THREADING_PROC, 60, -1}, {61, 1, 61, HYPER_THREADING_PROC, 61, -1}, - {62, 1, 62, HYPER_THREADING_PROC, 62, -1}, {63, 1, 63, HYPER_THREADING_PROC, 63, -1}, - {64, 1, 64, HYPER_THREADING_PROC, 64, -1}, {65, 1, 65, HYPER_THREADING_PROC, 65, -1}, - {66, 1, 66, HYPER_THREADING_PROC, 66, -1}, {67, 1, 67, HYPER_THREADING_PROC, 67, -1}, - {68, 1, 68, HYPER_THREADING_PROC, 68, -1}, {69, 1, 69, HYPER_THREADING_PROC, 69, -1}, - {70, 1, 70, HYPER_THREADING_PROC, 70, -1}, {71, 1, 71, HYPER_THREADING_PROC, 71, -1}, - {72, 1, 72, HYPER_THREADING_PROC, 72, -1}, {73, 1, 73, HYPER_THREADING_PROC, 73, -1}, - {74, 1, 74, HYPER_THREADING_PROC, 74, -1}, {75, 1, 75, HYPER_THREADING_PROC, 75, -1}, - {76, 1, 76, HYPER_THREADING_PROC, 76, -1}, {77, 1, 77, HYPER_THREADING_PROC, 77, -1}, - {78, 1, 78, HYPER_THREADING_PROC, 78, -1}, {79, 1, 79, HYPER_THREADING_PROC, 79, -1}, - {80, 1, 80, HYPER_THREADING_PROC, 80, -1}, {81, 1, 81, HYPER_THREADING_PROC, 81, -1}, - {82, 1, 82, HYPER_THREADING_PROC, 82, -1}, {83, 1, 83, HYPER_THREADING_PROC, 83, -1}, - {84, 1, 84, HYPER_THREADING_PROC, 84, -1}, {85, 1, 85, HYPER_THREADING_PROC, 85, -1}, - {86, 1, 86, HYPER_THREADING_PROC, 86, -1}, {87, 1, 87, HYPER_THREADING_PROC, 87, -1}, - {88, 1, 88, HYPER_THREADING_PROC, 88, -1}, {89, 1, 89, HYPER_THREADING_PROC, 89, -1}, - {90, 1, 90, HYPER_THREADING_PROC, 90, -1}, {91, 1, 91, HYPER_THREADING_PROC, 91, -1}, - {92, 1, 92, HYPER_THREADING_PROC, 92, -1}, {93, 1, 93, HYPER_THREADING_PROC, 93, -1}, - {94, 1, 94, HYPER_THREADING_PROC, 94, -1}, {95, 1, 95, HYPER_THREADING_PROC, 95, -1}, - {96, 1, 96, HYPER_THREADING_PROC, 96, -1}, {97, 1, 97, HYPER_THREADING_PROC, 97, -1}, - {98, 1, 98, HYPER_THREADING_PROC, 98, -1}, {99, 1, 99, HYPER_THREADING_PROC, 99, -1}, - {100, 1, 100, HYPER_THREADING_PROC, 100, -1}, {101, 1, 101, HYPER_THREADING_PROC, 101, -1}, - {102, 1, 102, HYPER_THREADING_PROC, 102, -1}, {103, 1, 103, HYPER_THREADING_PROC, 103, -1}, - {104, 0, 0, MAIN_CORE_PROC, 0, -1}, {105, 0, 1, MAIN_CORE_PROC, 1, -1}, - {106, 0, 2, MAIN_CORE_PROC, 2, -1}, {107, 0, 3, MAIN_CORE_PROC, 3, -1}, - {108, 0, 4, MAIN_CORE_PROC, 4, -1}, {109, 0, 5, MAIN_CORE_PROC, 5, -1}, - {110, 0, 6, MAIN_CORE_PROC, 6, -1}, {111, 0, 7, MAIN_CORE_PROC, 7, -1}, - {112, 0, 8, MAIN_CORE_PROC, 8, -1}, {113, 0, 9, MAIN_CORE_PROC, 9, -1}, - {114, 0, 10, MAIN_CORE_PROC, 10, -1}, {115, 0, 11, MAIN_CORE_PROC, 11, -1}, - {116, 0, 12, MAIN_CORE_PROC, 12, -1}, {117, 0, 13, MAIN_CORE_PROC, 13, -1}, - {118, 0, 14, MAIN_CORE_PROC, 14, -1}, {119, 0, 15, MAIN_CORE_PROC, 15, -1}, - {120, 0, 16, MAIN_CORE_PROC, 16, -1}, {121, 0, 17, MAIN_CORE_PROC, 17, -1}, - {122, 0, 18, MAIN_CORE_PROC, 18, -1}, {123, 0, 19, MAIN_CORE_PROC, 19, -1}, - {124, 0, 20, MAIN_CORE_PROC, 20, -1}, {125, 0, 21, MAIN_CORE_PROC, 21, -1}, - {126, 0, 22, MAIN_CORE_PROC, 22, -1}, {127, 0, 23, MAIN_CORE_PROC, 23, -1}, - {128, 0, 24, MAIN_CORE_PROC, 24, -1}, {129, 0, 25, MAIN_CORE_PROC, 25, -1}, - {130, 0, 26, MAIN_CORE_PROC, 26, -1}, {131, 0, 27, MAIN_CORE_PROC, 27, -1}, - {132, 0, 28, MAIN_CORE_PROC, 28, -1}, {133, 0, 29, MAIN_CORE_PROC, 29, -1}, - {134, 0, 30, MAIN_CORE_PROC, 30, -1}, {135, 0, 31, MAIN_CORE_PROC, 31, -1}, - {136, 0, 32, MAIN_CORE_PROC, 32, -1}, {137, 0, 33, MAIN_CORE_PROC, 33, -1}, - {138, 0, 34, MAIN_CORE_PROC, 34, -1}, {139, 0, 35, MAIN_CORE_PROC, 35, -1}, - {140, 0, 36, MAIN_CORE_PROC, 36, -1}, {141, 0, 37, MAIN_CORE_PROC, 37, -1}, - {142, 0, 38, MAIN_CORE_PROC, 38, -1}, {143, 0, 39, MAIN_CORE_PROC, 39, -1}, - {144, 0, 40, MAIN_CORE_PROC, 40, -1}, {145, 0, 41, MAIN_CORE_PROC, 41, -1}, - {146, 0, 42, MAIN_CORE_PROC, 42, -1}, {147, 0, 43, MAIN_CORE_PROC, 43, -1}, - {148, 0, 44, MAIN_CORE_PROC, 44, -1}, {149, 0, 45, MAIN_CORE_PROC, 45, -1}, - {150, 0, 46, MAIN_CORE_PROC, 46, -1}, {151, 0, 47, MAIN_CORE_PROC, 47, -1}, - {152, 0, 48, MAIN_CORE_PROC, 48, -1}, {153, 0, 49, MAIN_CORE_PROC, 49, -1}, - {154, 0, 50, MAIN_CORE_PROC, 50, -1}, {155, 0, 51, MAIN_CORE_PROC, 51, -1}, - {156, 1, 52, MAIN_CORE_PROC, 52, -1}, {157, 1, 53, MAIN_CORE_PROC, 53, -1}, - {158, 1, 54, MAIN_CORE_PROC, 54, -1}, {159, 1, 55, MAIN_CORE_PROC, 55, -1}, - {160, 1, 56, MAIN_CORE_PROC, 56, -1}, {161, 1, 57, MAIN_CORE_PROC, 57, -1}, - {162, 1, 58, MAIN_CORE_PROC, 58, -1}, {163, 1, 59, MAIN_CORE_PROC, 59, -1}, - {164, 1, 60, MAIN_CORE_PROC, 60, -1}, {165, 1, 61, MAIN_CORE_PROC, 61, -1}, - {166, 1, 62, MAIN_CORE_PROC, 62, -1}, {167, 1, 63, MAIN_CORE_PROC, 63, -1}, - {168, 1, 64, MAIN_CORE_PROC, 64, -1}, {169, 1, 65, MAIN_CORE_PROC, 65, -1}, - {170, 1, 66, MAIN_CORE_PROC, 66, -1}, {171, 1, 67, MAIN_CORE_PROC, 67, -1}, - {172, 1, 68, MAIN_CORE_PROC, 68, -1}, {173, 1, 69, MAIN_CORE_PROC, 69, -1}, - {174, 1, 70, MAIN_CORE_PROC, 70, -1}, {175, 1, 71, MAIN_CORE_PROC, 71, -1}, - {176, 1, 72, MAIN_CORE_PROC, 72, -1}, {177, 1, 73, MAIN_CORE_PROC, 73, -1}, - {178, 1, 74, MAIN_CORE_PROC, 74, -1}, {179, 1, 75, MAIN_CORE_PROC, 75, -1}, - {180, 1, 76, MAIN_CORE_PROC, 76, -1}, {181, 1, 77, MAIN_CORE_PROC, 77, -1}, - {182, 1, 78, MAIN_CORE_PROC, 78, -1}, {183, 1, 79, MAIN_CORE_PROC, 79, -1}, - {184, 1, 80, MAIN_CORE_PROC, 80, -1}, {185, 1, 81, MAIN_CORE_PROC, 81, -1}, - {186, 1, 82, MAIN_CORE_PROC, 82, -1}, {187, 1, 83, MAIN_CORE_PROC, 83, -1}, - {188, 1, 84, MAIN_CORE_PROC, 84, -1}, {189, 1, 85, MAIN_CORE_PROC, 85, -1}, - {190, 1, 86, MAIN_CORE_PROC, 86, -1}, {191, 1, 87, MAIN_CORE_PROC, 87, -1}, - {192, 1, 88, MAIN_CORE_PROC, 88, -1}, {193, 1, 89, MAIN_CORE_PROC, 89, -1}, - {194, 1, 90, MAIN_CORE_PROC, 90, -1}, {195, 1, 91, MAIN_CORE_PROC, 91, -1}, - {196, 1, 92, MAIN_CORE_PROC, 92, -1}, {197, 1, 93, MAIN_CORE_PROC, 93, -1}, - {198, 1, 94, MAIN_CORE_PROC, 94, -1}, {199, 1, 95, MAIN_CORE_PROC, 95, -1}, - {200, 1, 96, MAIN_CORE_PROC, 96, -1}, {201, 1, 97, MAIN_CORE_PROC, 97, -1}, - {202, 1, 98, MAIN_CORE_PROC, 98, -1}, {203, 1, 99, MAIN_CORE_PROC, 99, -1}, - {204, 1, 100, MAIN_CORE_PROC, 100, -1}, {205, 1, 101, MAIN_CORE_PROC, 101, -1}, - {206, 1, 102, MAIN_CORE_PROC, 102, -1}, {207, 1, 103, MAIN_CORE_PROC, 103, -1}, - }, - { - {{"0,104"}, {"0,104"}, {"0-51,104-155"}}, {{"1,105"}, {"1,105"}, {"0-51,104-155"}}, - {{"2,106"}, {"2,106"}, {"0-51,104-155"}}, {{"3,107"}, {"3,107"}, {"0-51,104-155"}}, - {{"4,108"}, {"4,108"}, {"0-51,104-155"}}, {{"5,109"}, {"5,109"}, {"0-51,104-155"}}, - {{"6,110"}, {"6,110"}, {"0-51,104-155"}}, {{"7,111"}, {"7,111"}, {"0-51,104-155"}}, - {{"8,112"}, {"8,112"}, {"0-51,104-155"}}, {{"9,113"}, {"9,113"}, {"0-51,104-155"}}, - {{"10,114"}, {"10,114"}, {"0-51,104-155"}}, {{"11,115"}, {"11,115"}, {"0-51,104-155"}}, - {{"12,116"}, {"12,116"}, {"0-51,104-155"}}, {{"13,117"}, {"13,117"}, {"0-51,104-155"}}, - {{"14,118"}, {"14,118"}, {"0-51,104-155"}}, {{"15,119"}, {"15,119"}, {"0-51,104-155"}}, - {{"16,120"}, {"16,120"}, {"0-51,104-155"}}, {{"17,121"}, {"17,121"}, {"0-51,104-155"}}, - {{"18,122"}, {"18,122"}, {"0-51,104-155"}}, {{"19,123"}, {"19,123"}, {"0-51,104-155"}}, - {{"20,124"}, {"20,124"}, {"0-51,104-155"}}, {{"21,125"}, {"21,125"}, {"0-51,104-155"}}, - {{"22,126"}, {"22,126"}, {"0-51,104-155"}}, {{"23,127"}, {"23,127"}, {"0-51,104-155"}}, - {{"24,128"}, {"24,128"}, {"0-51,104-155"}}, {{"25,129"}, {"25,129"}, {"0-51,104-155"}}, - {{"26,130"}, {"26,130"}, {"0-51,104-155"}}, {{"27,131"}, {"27,131"}, {"0-51,104-155"}}, - {{"28,132"}, {"28,132"}, {"0-51,104-155"}}, {{"29,133"}, {"29,133"}, {"0-51,104-155"}}, - {{"30,134"}, {"30,134"}, {"0-51,104-155"}}, {{"31,135"}, {"31,135"}, {"0-51,104-155"}}, - {{"32,136"}, {"32,136"}, {"0-51,104-155"}}, {{"33,137"}, {"33,137"}, {"0-51,104-155"}}, - {{"34,138"}, {"34,138"}, {"0-51,104-155"}}, {{"35,139"}, {"35,139"}, {"0-51,104-155"}}, - {{"36,140"}, {"36,140"}, {"0-51,104-155"}}, {{"37,141"}, {"37,141"}, {"0-51,104-155"}}, - {{"38,142"}, {"38,142"}, {"0-51,104-155"}}, {{"39,143"}, {"39,143"}, {"0-51,104-155"}}, - {{"40,144"}, {"40,144"}, {"0-51,104-155"}}, {{"41,145"}, {"41,145"}, {"0-51,104-155"}}, - {{"42,146"}, {"42,146"}, {"0-51,104-155"}}, {{"43,147"}, {"43,147"}, {"0-51,104-155"}}, - {{"44,148"}, {"44,148"}, {"0-51,104-155"}}, {{"45,149"}, {"45,149"}, {"0-51,104-155"}}, - {{"46,150"}, {"46,150"}, {"0-51,104-155"}}, {{"47,151"}, {"47,151"}, {"0-51,104-155"}}, - {{"48,152"}, {"48,152"}, {"0-51,104-155"}}, {{"49,153"}, {"49,153"}, {"0-51,104-155"}}, - {{"50,154"}, {"50,154"}, {"0-51,104-155"}}, {{"51,155"}, {"51,155"}, {"0-51,104-155"}}, - {{"52,156"}, {"52,156"}, {"52-103,156-207"}}, {{"53,157"}, {"53,157"}, {"52-103,156-207"}}, - {{"54,158"}, {"54,158"}, {"52-103,156-207"}}, {{"55,159"}, {"55,159"}, {"52-103,156-207"}}, - {{"56,160"}, {"56,160"}, {"52-103,156-207"}}, {{"57,161"}, {"57,161"}, {"52-103,156-207"}}, - {{"58,162"}, {"58,162"}, {"52-103,156-207"}}, {{"59,163"}, {"59,163"}, {"52-103,156-207"}}, - {{"60,164"}, {"60,164"}, {"52-103,156-207"}}, {{"61,165"}, {"61,165"}, {"52-103,156-207"}}, - {{"62,166"}, {"62,166"}, {"52-103,156-207"}}, {{"63,167"}, {"63,167"}, {"52-103,156-207"}}, - {{"64,168"}, {"64,168"}, {"52-103,156-207"}}, {{"65,169"}, {"65,169"}, {"52-103,156-207"}}, - {{"66,170"}, {"66,170"}, {"52-103,156-207"}}, {{"67,171"}, {"67,171"}, {"52-103,156-207"}}, - {{"68,172"}, {"68,172"}, {"52-103,156-207"}}, {{"69,173"}, {"69,173"}, {"52-103,156-207"}}, - {{"70,174"}, {"70,174"}, {"52-103,156-207"}}, {{"71,175"}, {"71,175"}, {"52-103,156-207"}}, - {{"72,176"}, {"72,176"}, {"52-103,156-207"}}, {{"73,177"}, {"73,177"}, {"52-103,156-207"}}, - {{"74,178"}, {"74,178"}, {"52-103,156-207"}}, {{"75,179"}, {"75,179"}, {"52-103,156-207"}}, - {{"76,180"}, {"76,180"}, {"52-103,156-207"}}, {{"77,181"}, {"77,181"}, {"52-103,156-207"}}, - {{"78,182"}, {"78,182"}, {"52-103,156-207"}}, {{"79,183"}, {"79,183"}, {"52-103,156-207"}}, - {{"80,184"}, {"80,184"}, {"52-103,156-207"}}, {{"81,185"}, {"81,185"}, {"52-103,156-207"}}, - {{"82,186"}, {"82,186"}, {"52-103,156-207"}}, {{"83,187"}, {"83,187"}, {"52-103,156-207"}}, - {{"84,188"}, {"84,188"}, {"52-103,156-207"}}, {{"85,189"}, {"85,189"}, {"52-103,156-207"}}, - {{"86,190"}, {"86,190"}, {"52-103,156-207"}}, {{"87,191"}, {"87,191"}, {"52-103,156-207"}}, - {{"88,192"}, {"88,192"}, {"52-103,156-207"}}, {{"89,193"}, {"89,193"}, {"52-103,156-207"}}, - {{"90,194"}, {"90,194"}, {"52-103,156-207"}}, {{"91,195"}, {"91,195"}, {"52-103,156-207"}}, - {{"92,196"}, {"92,196"}, {"52-103,156-207"}}, {{"93,197"}, {"93,197"}, {"52-103,156-207"}}, - {{"94,198"}, {"94,198"}, {"52-103,156-207"}}, {{"95,199"}, {"95,199"}, {"52-103,156-207"}}, - {{"96,200"}, {"96,200"}, {"52-103,156-207"}}, {{"97,201"}, {"97,201"}, {"52-103,156-207"}}, - {{"98,202"}, {"98,202"}, {"52-103,156-207"}}, {{"99,203"}, {"99,203"}, {"52-103,156-207"}}, - {{"100,204"}, {"100,204"}, {"52-103,156-207"}}, {{"101,205"}, {"101,205"}, {"52-103,156-207"}}, - {{"102,206"}, {"102,206"}, {"52-103,156-207"}}, {{"103,207"}, {"103,207"}, {"52-103,156-207"}}, - {{"0,104"}, {"0,104"}, {"0-51,104-155"}}, {{"1,105"}, {"1,105"}, {"0-51,104-155"}}, - {{"2,106"}, {"2,106"}, {"0-51,104-155"}}, {{"3,107"}, {"3,107"}, {"0-51,104-155"}}, - {{"4,108"}, {"4,108"}, {"0-51,104-155"}}, {{"5,109"}, {"5,109"}, {"0-51,104-155"}}, - {{"6,110"}, {"6,110"}, {"0-51,104-155"}}, {{"7,111"}, {"7,111"}, {"0-51,104-155"}}, - {{"8,112"}, {"8,112"}, {"0-51,104-155"}}, {{"9,113"}, {"9,113"}, {"0-51,104-155"}}, - {{"10,114"}, {"10,114"}, {"0-51,104-155"}}, {{"11,115"}, {"11,115"}, {"0-51,104-155"}}, - {{"12,116"}, {"12,116"}, {"0-51,104-155"}}, {{"13,117"}, {"13,117"}, {"0-51,104-155"}}, - {{"14,118"}, {"14,118"}, {"0-51,104-155"}}, {{"15,119"}, {"15,119"}, {"0-51,104-155"}}, - {{"16,120"}, {"16,120"}, {"0-51,104-155"}}, {{"17,121"}, {"17,121"}, {"0-51,104-155"}}, - {{"18,122"}, {"18,122"}, {"0-51,104-155"}}, {{"19,123"}, {"19,123"}, {"0-51,104-155"}}, - {{"20,124"}, {"20,124"}, {"0-51,104-155"}}, {{"21,125"}, {"21,125"}, {"0-51,104-155"}}, - {{"22,126"}, {"22,126"}, {"0-51,104-155"}}, {{"23,127"}, {"23,127"}, {"0-51,104-155"}}, - {{"24,128"}, {"24,128"}, {"0-51,104-155"}}, {{"25,129"}, {"25,129"}, {"0-51,104-155"}}, - {{"26,130"}, {"26,130"}, {"0-51,104-155"}}, {{"27,131"}, {"27,131"}, {"0-51,104-155"}}, - {{"28,132"}, {"28,132"}, {"0-51,104-155"}}, {{"29,133"}, {"29,133"}, {"0-51,104-155"}}, - {{"30,134"}, {"30,134"}, {"0-51,104-155"}}, {{"31,135"}, {"31,135"}, {"0-51,104-155"}}, - {{"32,136"}, {"32,136"}, {"0-51,104-155"}}, {{"33,137"}, {"33,137"}, {"0-51,104-155"}}, - {{"34,138"}, {"34,138"}, {"0-51,104-155"}}, {{"35,139"}, {"35,139"}, {"0-51,104-155"}}, - {{"36,140"}, {"36,140"}, {"0-51,104-155"}}, {{"37,141"}, {"37,141"}, {"0-51,104-155"}}, - {{"38,142"}, {"38,142"}, {"0-51,104-155"}}, {{"39,143"}, {"39,143"}, {"0-51,104-155"}}, - {{"40,144"}, {"40,144"}, {"0-51,104-155"}}, {{"41,145"}, {"41,145"}, {"0-51,104-155"}}, - {{"42,146"}, {"42,146"}, {"0-51,104-155"}}, {{"43,147"}, {"43,147"}, {"0-51,104-155"}}, - {{"44,148"}, {"44,148"}, {"0-51,104-155"}}, {{"45,149"}, {"45,149"}, {"0-51,104-155"}}, - {{"46,150"}, {"46,150"}, {"0-51,104-155"}}, {{"47,151"}, {"47,151"}, {"0-51,104-155"}}, - {{"48,152"}, {"48,152"}, {"0-51,104-155"}}, {{"49,153"}, {"49,153"}, {"0-51,104-155"}}, - {{"50,154"}, {"50,154"}, {"0-51,104-155"}}, {{"51,155"}, {"51,155"}, {"0-51,104-155"}}, - {{"52,156"}, {"52,156"}, {"52-103,156-207"}}, {{"53,157"}, {"53,157"}, {"52-103,156-207"}}, - {{"54,158"}, {"54,158"}, {"52-103,156-207"}}, {{"55,159"}, {"55,159"}, {"52-103,156-207"}}, - {{"56,160"}, {"56,160"}, {"52-103,156-207"}}, {{"57,161"}, {"57,161"}, {"52-103,156-207"}}, - {{"58,162"}, {"58,162"}, {"52-103,156-207"}}, {{"59,163"}, {"59,163"}, {"52-103,156-207"}}, - {{"60,164"}, {"60,164"}, {"52-103,156-207"}}, {{"61,165"}, {"61,165"}, {"52-103,156-207"}}, - {{"62,166"}, {"62,166"}, {"52-103,156-207"}}, {{"63,167"}, {"63,167"}, {"52-103,156-207"}}, - {{"64,168"}, {"64,168"}, {"52-103,156-207"}}, {{"65,169"}, {"65,169"}, {"52-103,156-207"}}, - {{"66,170"}, {"66,170"}, {"52-103,156-207"}}, {{"67,171"}, {"67,171"}, {"52-103,156-207"}}, - {{"68,172"}, {"68,172"}, {"52-103,156-207"}}, {{"69,173"}, {"69,173"}, {"52-103,156-207"}}, - {{"70,174"}, {"70,174"}, {"52-103,156-207"}}, {{"71,175"}, {"71,175"}, {"52-103,156-207"}}, - {{"72,176"}, {"72,176"}, {"52-103,156-207"}}, {{"73,177"}, {"73,177"}, {"52-103,156-207"}}, - {{"74,178"}, {"74,178"}, {"52-103,156-207"}}, {{"75,179"}, {"75,179"}, {"52-103,156-207"}}, - {{"76,180"}, {"76,180"}, {"52-103,156-207"}}, {{"77,181"}, {"77,181"}, {"52-103,156-207"}}, - {{"78,182"}, {"78,182"}, {"52-103,156-207"}}, {{"79,183"}, {"79,183"}, {"52-103,156-207"}}, - {{"80,184"}, {"80,184"}, {"52-103,156-207"}}, {{"81,185"}, {"81,185"}, {"52-103,156-207"}}, - {{"82,186"}, {"82,186"}, {"52-103,156-207"}}, {{"83,187"}, {"83,187"}, {"52-103,156-207"}}, - {{"84,188"}, {"84,188"}, {"52-103,156-207"}}, {{"85,189"}, {"85,189"}, {"52-103,156-207"}}, - {{"86,190"}, {"86,190"}, {"52-103,156-207"}}, {{"87,191"}, {"87,191"}, {"52-103,156-207"}}, - {{"88,192"}, {"88,192"}, {"52-103,156-207"}}, {{"89,193"}, {"89,193"}, {"52-103,156-207"}}, - {{"90,194"}, {"90,194"}, {"52-103,156-207"}}, {{"91,195"}, {"91,195"}, {"52-103,156-207"}}, - {{"92,196"}, {"92,196"}, {"52-103,156-207"}}, {{"93,197"}, {"93,197"}, {"52-103,156-207"}}, - {{"94,198"}, {"94,198"}, {"52-103,156-207"}}, {{"95,199"}, {"95,199"}, {"52-103,156-207"}}, - {{"96,200"}, {"96,200"}, {"52-103,156-207"}}, {{"97,201"}, {"97,201"}, {"52-103,156-207"}}, - {{"98,202"}, {"98,202"}, {"52-103,156-207"}}, {{"99,203"}, {"99,203"}, {"52-103,156-207"}}, - {{"100,204"}, {"100,204"}, {"52-103,156-207"}}, {{"101,205"}, {"101,205"}, {"52-103,156-207"}}, - {{"102,206"}, {"102,206"}, {"52-103,156-207"}}, {{"103,207"}, {"103,207"}, {"52-103,156-207"}}, - }, -}; -LinuxCpuMapTestCase cache_2sockets_24cores_hyperthreading = { - 48, - 2, - 24, - {{48, 24, 0, 24}, {24, 12, 0, 12}, {24, 12, 0, 12}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 1, 12, HYPER_THREADING_PROC, 12, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 1, 13, HYPER_THREADING_PROC, 13, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 1, 14, HYPER_THREADING_PROC, 14, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 1, 15, HYPER_THREADING_PROC, 15, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 1, 16, HYPER_THREADING_PROC, 16, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 1, 17, HYPER_THREADING_PROC, 17, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 1, 18, HYPER_THREADING_PROC, 18, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 1, 19, HYPER_THREADING_PROC, 19, -1}, - {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 1, 20, HYPER_THREADING_PROC, 20, -1}, - {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 1, 21, HYPER_THREADING_PROC, 21, -1}, - {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 1, 22, HYPER_THREADING_PROC, 22, -1}, - {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 1, 23, HYPER_THREADING_PROC, 23, -1}, - {24, 0, 0, MAIN_CORE_PROC, 0, -1}, {25, 1, 12, MAIN_CORE_PROC, 12, -1}, - {26, 0, 1, MAIN_CORE_PROC, 1, -1}, {27, 1, 13, MAIN_CORE_PROC, 13, -1}, - {28, 0, 2, MAIN_CORE_PROC, 2, -1}, {29, 1, 14, MAIN_CORE_PROC, 14, -1}, - {30, 0, 3, MAIN_CORE_PROC, 3, -1}, {31, 1, 15, MAIN_CORE_PROC, 15, -1}, - {32, 0, 4, MAIN_CORE_PROC, 4, -1}, {33, 1, 16, MAIN_CORE_PROC, 16, -1}, - {34, 0, 5, MAIN_CORE_PROC, 5, -1}, {35, 1, 17, MAIN_CORE_PROC, 17, -1}, - {36, 0, 6, MAIN_CORE_PROC, 6, -1}, {37, 1, 18, MAIN_CORE_PROC, 18, -1}, - {38, 0, 7, MAIN_CORE_PROC, 7, -1}, {39, 1, 19, MAIN_CORE_PROC, 19, -1}, - {40, 0, 8, MAIN_CORE_PROC, 8, -1}, {41, 1, 20, MAIN_CORE_PROC, 20, -1}, - {42, 0, 9, MAIN_CORE_PROC, 9, -1}, {43, 1, 21, MAIN_CORE_PROC, 21, -1}, - {44, 0, 10, MAIN_CORE_PROC, 10, -1}, {45, 1, 22, MAIN_CORE_PROC, 22, -1}, - {46, 0, 11, MAIN_CORE_PROC, 11, -1}, {47, 1, 23, MAIN_CORE_PROC, 23, -1}, - }, - { - {{"0,24"}, {"0,24"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"1,25"}, {"1,25"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"2,26"}, {"2,26"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"3,27"}, {"3,27"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"4,28"}, {"4,28"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"5,29"}, {"5,29"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"6,30"}, {"6,30"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"7,31"}, {"7,31"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"8,32"}, {"8,32"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"9,33"}, {"9,33"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"10,34"}, {"10,34"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"11,35"}, {"11,35"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"12,36"}, {"12,36"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"13,37"}, {"13,37"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"14,38"}, {"14,38"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"15,39"}, {"15,39"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"16,40"}, {"16,40"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"17,41"}, {"17,41"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"18,42"}, {"18,42"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"19,43"}, {"19,43"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"20,44"}, {"20,44"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"21,45"}, {"21,45"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"22,46"}, {"22,46"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"23,47"}, {"23,47"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"0,24"}, {"0,24"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"1,25"}, {"1,25"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"2,26"}, {"2,26"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"3,27"}, {"3,27"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"4,28"}, {"4,28"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"5,29"}, {"5,29"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"6,30"}, {"6,30"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"7,31"}, {"7,31"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"8,32"}, {"8,32"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"9,33"}, {"9,33"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"10,34"}, {"10,34"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"11,35"}, {"11,35"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"12,36"}, {"12,36"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"13,37"}, {"13,37"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"14,38"}, {"14,38"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"15,39"}, {"15,39"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"16,40"}, {"16,40"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"17,41"}, {"17,41"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"18,42"}, {"18,42"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"19,43"}, {"19,43"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"20,44"}, {"20,44"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"21,45"}, {"21,45"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - {{"22,46"}, {"22,46"}, {"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46"}}, - {{"23,47"}, {"23,47"}, {"1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47"}}, - }, -}; -LinuxCpuMapTestCase cache_2sockets_48cores = { - 48, - 2, - 48, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, - { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, {1, 0, 1, MAIN_CORE_PROC, 1, -1}, {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 3, MAIN_CORE_PROC, 3, -1}, {4, 0, 4, MAIN_CORE_PROC, 4, -1}, {5, 0, 5, MAIN_CORE_PROC, 5, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 7, MAIN_CORE_PROC, 7, -1}, {8, 0, 8, MAIN_CORE_PROC, 8, -1}, - {9, 0, 9, MAIN_CORE_PROC, 9, -1}, {10, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 11, MAIN_CORE_PROC, 11, -1}, - {12, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 13, MAIN_CORE_PROC, 13, -1}, {14, 0, 14, MAIN_CORE_PROC, 14, -1}, - {15, 0, 15, MAIN_CORE_PROC, 15, -1}, {16, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 17, MAIN_CORE_PROC, 17, -1}, - {18, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 19, MAIN_CORE_PROC, 19, -1}, {20, 0, 20, MAIN_CORE_PROC, 20, -1}, - {21, 0, 21, MAIN_CORE_PROC, 21, -1}, {22, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 23, MAIN_CORE_PROC, 23, -1}, - {24, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 25, MAIN_CORE_PROC, 25, -1}, {26, 1, 26, MAIN_CORE_PROC, 26, -1}, - {27, 1, 27, MAIN_CORE_PROC, 27, -1}, {28, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 29, MAIN_CORE_PROC, 29, -1}, - {30, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 31, MAIN_CORE_PROC, 31, -1}, {32, 1, 32, MAIN_CORE_PROC, 32, -1}, - {33, 1, 33, MAIN_CORE_PROC, 33, -1}, {34, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 35, MAIN_CORE_PROC, 35, -1}, - {36, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 37, MAIN_CORE_PROC, 37, -1}, {38, 1, 38, MAIN_CORE_PROC, 38, -1}, - {39, 1, 39, MAIN_CORE_PROC, 39, -1}, {40, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 41, MAIN_CORE_PROC, 41, -1}, - {42, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 43, MAIN_CORE_PROC, 43, -1}, {44, 1, 44, MAIN_CORE_PROC, 44, -1}, - {45, 1, 45, MAIN_CORE_PROC, 45, -1}, {46, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 47, MAIN_CORE_PROC, 47, -1}, - }, - { - {{"0"}, {"0"}, {"0-23"}}, {{"1"}, {"1"}, {"0-23"}}, {{"2"}, {"2"}, {"0-23"}}, - {{"3"}, {"3"}, {"0-23"}}, {{"4"}, {"4"}, {"0-23"}}, {{"5"}, {"5"}, {"0-23"}}, - {{"6"}, {"6"}, {"0-23"}}, {{"7"}, {"7"}, {"0-23"}}, {{"8"}, {"8"}, {"0-23"}}, - {{"9"}, {"9"}, {"0-23"}}, {{"10"}, {"10"}, {"0-23"}}, {{"11"}, {"11"}, {"0-23"}}, - {{"12"}, {"12"}, {"0-23"}}, {{"13"}, {"13"}, {"0-23"}}, {{"14"}, {"14"}, {"0-23"}}, - {{"15"}, {"15"}, {"0-23"}}, {{"16"}, {"16"}, {"0-23"}}, {{"17"}, {"17"}, {"0-23"}}, - {{"18"}, {"18"}, {"0-23"}}, {{"19"}, {"19"}, {"0-23"}}, {{"20"}, {"20"}, {"0-23"}}, - {{"21"}, {"21"}, {"0-23"}}, {{"22"}, {"22"}, {"0-23"}}, {{"23"}, {"23"}, {"0-23"}}, - {{"24"}, {"24"}, {"24-47"}}, {{"25"}, {"25"}, {"24-47"}}, {{"26"}, {"26"}, {"24-47"}}, - {{"27"}, {"27"}, {"24-47"}}, {{"28"}, {"28"}, {"24-47"}}, {{"29"}, {"29"}, {"24-47"}}, - {{"30"}, {"30"}, {"24-47"}}, {{"31"}, {"31"}, {"24-47"}}, {{"32"}, {"32"}, {"24-47"}}, - {{"33"}, {"33"}, {"24-47"}}, {{"34"}, {"34"}, {"24-47"}}, {{"35"}, {"35"}, {"24-47"}}, - {{"36"}, {"36"}, {"24-47"}}, {{"37"}, {"37"}, {"24-47"}}, {{"38"}, {"38"}, {"24-47"}}, - {{"39"}, {"39"}, {"24-47"}}, {{"40"}, {"40"}, {"24-47"}}, {{"41"}, {"41"}, {"24-47"}}, - {{"42"}, {"42"}, {"24-47"}}, {{"43"}, {"43"}, {"24-47"}}, {{"44"}, {"44"}, {"24-47"}}, - {{"45"}, {"45"}, {"24-47"}}, {{"46"}, {"46"}, {"24-47"}}, {{"47"}, {"47"}, {"24-47"}}, - }, -}; -LinuxCpuMapTestCase cache_2sockets_20cores_hyperthreading = { - 40, - 2, - 20, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 7, MAIN_CORE_PROC, 7, -1}, - {28, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 9, MAIN_CORE_PROC, 9, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 11, MAIN_CORE_PROC, 11, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 13, MAIN_CORE_PROC, 13, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 15, MAIN_CORE_PROC, 15, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 17, MAIN_CORE_PROC, 17, -1}, - {38, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 19, MAIN_CORE_PROC, 19, -1}, - }, - { - {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, - {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, - {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, - {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, - {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, - {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, - {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, - {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, - {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, - {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, - {{"0,20"}, {"0,20"}, {"0-9,20-29"}}, {{"1,21"}, {"1,21"}, {"0-9,20-29"}}, - {{"2,22"}, {"2,22"}, {"0-9,20-29"}}, {{"3,23"}, {"3,23"}, {"0-9,20-29"}}, - {{"4,24"}, {"4,24"}, {"0-9,20-29"}}, {{"5,25"}, {"5,25"}, {"0-9,20-29"}}, - {{"6,26"}, {"6,26"}, {"0-9,20-29"}}, {{"7,27"}, {"7,27"}, {"0-9,20-29"}}, - {{"8,28"}, {"8,28"}, {"0-9,20-29"}}, {{"9,29"}, {"9,29"}, {"0-9,20-29"}}, - {{"10,30"}, {"10,30"}, {"10-19,30-39"}}, {{"11,31"}, {"11,31"}, {"10-19,30-39"}}, - {{"12,32"}, {"12,32"}, {"10-19,30-39"}}, {{"13,33"}, {"13,33"}, {"10-19,30-39"}}, - {{"14,34"}, {"14,34"}, {"10-19,30-39"}}, {{"15,35"}, {"15,35"}, {"10-19,30-39"}}, - {{"16,36"}, {"16,36"}, {"10-19,30-39"}}, {{"17,37"}, {"17,37"}, {"10-19,30-39"}}, - {{"18,38"}, {"18,38"}, {"10-19,30-39"}}, {{"19,39"}, {"19,39"}, {"10-19,30-39"}}, - }, -}; -LinuxCpuMapTestCase cache_1sockets_14cores_hyperthreading = { - 20, - 1, - 14, - {{20, 6, 8, 6}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, - {14, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, - {16, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, - {18, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, - }, - { - {{"0-1"}, {"0-1"}, {"0-19"}}, {{"0-1"}, {"0-1"}, {"0-19"}}, {{"2-3"}, {"2-3"}, {"0-19"}}, - {{"2-3"}, {"2-3"}, {"0-19"}}, {{"4-5"}, {"4-5"}, {"0-19"}}, {{"4-5"}, {"4-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"}}, - }, -}; -LinuxCpuMapTestCase cache_1sockets_10cores_hyperthreading{ - 12, - 1, - 10, - {{12, 2, 8, 2}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, EFFICIENT_CORE_PROC, 2, -1}, - {5, 0, 3, EFFICIENT_CORE_PROC, 2, -1}, - {6, 0, 4, EFFICIENT_CORE_PROC, 2, -1}, - {7, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, - {8, 0, 6, EFFICIENT_CORE_PROC, 3, -1}, - {9, 0, 7, EFFICIENT_CORE_PROC, 3, -1}, - {10, 0, 8, EFFICIENT_CORE_PROC, 3, -1}, - {11, 0, 9, EFFICIENT_CORE_PROC, 3, -1}, - }, - { - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"4"}, {"4-7"}, {"0-11"}}, - {{"5"}, {"4-7"}, {"0-11"}}, - {{"6"}, {"4-7"}, {"0-11"}}, - {{"7"}, {"4-7"}, {"0-11"}}, - {{"8"}, {"8-11"}, {"0-11"}}, - {{"9"}, {"8-11"}, {"0-11"}}, - {{"10"}, {"8-11"}, {"0-11"}}, - {{"11"}, {"8-11"}, {"0-11"}}, - }, -}; -LinuxCpuMapTestCase cache_1sockets_8cores_hyperthreading = { - 12, - 1, - 8, - {{12, 4, 4, 4}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, EFFICIENT_CORE_PROC, 4, -1}, - {9, 0, 5, EFFICIENT_CORE_PROC, 4, -1}, - {10, 0, 6, EFFICIENT_CORE_PROC, 4, -1}, - {11, 0, 7, EFFICIENT_CORE_PROC, 4, -1}, - }, - { - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"4-5"}, {"4-5"}, {"0-11"}}, - {{"4-5"}, {"4-5"}, {"0-11"}}, - {{"6-7"}, {"6-7"}, {"0-11"}}, - {{"6-7"}, {"6-7"}, {"0-11"}}, - {{"8"}, {"8-11"}, {"0-11"}}, - {{"9"}, {"8-11"}, {"0-11"}}, - {{"10"}, {"8-11"}, {"0-11"}}, - {{"11"}, {"8-11"}, {"0-11"}}, - }, -}; -LinuxCpuMapTestCase cache_1sockets_6cores_hyperthreading = { - 12, - 1, - 6, - {{12, 6, 0, 6}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - }, - { - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"0-1"}, {"0-1"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"2-3"}, {"2-3"}, {"0-11"}}, - {{"4-5"}, {"4-5"}, {"0-11"}}, - {{"4-5"}, {"4-5"}, {"0-11"}}, - {{"6-7"}, {"6-7"}, {"0-11"}}, - {{"6-7"}, {"6-7"}, {"0-11"}}, - {{"8-9"}, {"8-9"}, {"0-11"}}, - {{"8-9"}, {"8-9"}, {"0-11"}}, - {{"10-11"}, {"10-11"}, {"0-11"}}, - {{"10-11"}, {"10-11"}, {"0-11"}}, - }, -}; - -TEST_P(LinuxCpuMapCacheParserTests, LinuxCpuMapCache) {} - -INSTANTIATE_TEST_SUITE_P(CPUMap, - LinuxCpuMapCacheParserTests, - testing::Values(cache_2sockets_104cores_hyperthreading, - cache_2sockets_24cores_hyperthreading, - cache_2sockets_48cores, - cache_2sockets_20cores_hyperthreading, - cache_1sockets_14cores_hyperthreading, - cache_1sockets_10cores_hyperthreading, - cache_1sockets_8cores_hyperthreading, - cache_1sockets_6cores_hyperthreading)); - -TEST_P(LinuxGetCpuMapFromCoresTests, LinuxCpuMap) {} - -INSTANTIATE_TEST_SUITE_P(CPUMapFromCore, - LinuxGetCpuMapFromCoresTests, - testing::Values(cache_2sockets_104cores_hyperthreading, - cache_2sockets_48cores, - cache_2sockets_20cores_hyperthreading, - cache_1sockets_14cores_hyperthreading, - cache_1sockets_10cores_hyperthreading, - cache_1sockets_8cores_hyperthreading)); - -class LinuxCpuMapFreqParserTests : public CommonTestUtils::TestsCommon, - public testing::WithParamInterface> { -public: - void SetUp() override { - const auto& test_data = std::get<0>(GetParam()); - - int test_processors = 0; - int test_sockets = 0; - int test_cores = 0; - std::vector> test_proc_type_table; - std::vector> test_cpu_mapping_table; - - ov::parse_freq_info_linux(test_data.system_info_table, - test_processors, - test_sockets, - test_cores, - test_proc_type_table, - test_cpu_mapping_table); - - ASSERT_EQ(test_data._processors, test_processors); - ASSERT_EQ(test_data._sockets, test_sockets); - ASSERT_EQ(test_data._cores, test_cores); - ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); - ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); - } -}; - -LinuxCpuMapTestCase freq_2sockets_112cores_hyperthreading = { - 224, - 2, - 112, - {{224, 112, 0, 112}, {112, 56, 0, 56}, {112, 56, 0, 56}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {22, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {24, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 25, HYPER_THREADING_PROC, 25, -1}, - {26, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 27, HYPER_THREADING_PROC, 27, -1}, - {28, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 29, HYPER_THREADING_PROC, 29, -1}, - {30, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 31, HYPER_THREADING_PROC, 31, -1}, - {32, 0, 32, HYPER_THREADING_PROC, 32, -1}, {33, 0, 33, HYPER_THREADING_PROC, 33, -1}, - {34, 0, 34, HYPER_THREADING_PROC, 34, -1}, {35, 0, 35, HYPER_THREADING_PROC, 35, -1}, - {36, 0, 36, HYPER_THREADING_PROC, 36, -1}, {37, 0, 37, HYPER_THREADING_PROC, 37, -1}, - {38, 0, 38, HYPER_THREADING_PROC, 38, -1}, {39, 0, 39, HYPER_THREADING_PROC, 39, -1}, - {40, 0, 40, HYPER_THREADING_PROC, 40, -1}, {41, 0, 41, HYPER_THREADING_PROC, 41, -1}, - {42, 0, 42, HYPER_THREADING_PROC, 42, -1}, {43, 0, 43, HYPER_THREADING_PROC, 43, -1}, - {44, 0, 44, HYPER_THREADING_PROC, 44, -1}, {45, 0, 45, HYPER_THREADING_PROC, 45, -1}, - {46, 0, 46, HYPER_THREADING_PROC, 46, -1}, {47, 0, 47, HYPER_THREADING_PROC, 47, -1}, - {48, 0, 48, HYPER_THREADING_PROC, 48, -1}, {49, 0, 49, HYPER_THREADING_PROC, 49, -1}, - {50, 0, 50, HYPER_THREADING_PROC, 50, -1}, {51, 0, 51, HYPER_THREADING_PROC, 51, -1}, - {52, 0, 52, HYPER_THREADING_PROC, 52, -1}, {53, 0, 53, HYPER_THREADING_PROC, 53, -1}, - {54, 0, 54, HYPER_THREADING_PROC, 54, -1}, {55, 0, 55, HYPER_THREADING_PROC, 55, -1}, - {56, 1, 56, HYPER_THREADING_PROC, 56, -1}, {57, 1, 57, HYPER_THREADING_PROC, 57, -1}, - {58, 1, 58, HYPER_THREADING_PROC, 58, -1}, {59, 1, 59, HYPER_THREADING_PROC, 59, -1}, - {60, 1, 60, HYPER_THREADING_PROC, 60, -1}, {61, 1, 61, HYPER_THREADING_PROC, 61, -1}, - {62, 1, 62, HYPER_THREADING_PROC, 62, -1}, {63, 1, 63, HYPER_THREADING_PROC, 63, -1}, - {64, 1, 64, HYPER_THREADING_PROC, 64, -1}, {65, 1, 65, HYPER_THREADING_PROC, 65, -1}, - {66, 1, 66, HYPER_THREADING_PROC, 66, -1}, {67, 1, 67, HYPER_THREADING_PROC, 67, -1}, - {68, 1, 68, HYPER_THREADING_PROC, 68, -1}, {69, 1, 69, HYPER_THREADING_PROC, 69, -1}, - {70, 1, 70, HYPER_THREADING_PROC, 70, -1}, {71, 1, 71, HYPER_THREADING_PROC, 71, -1}, - {72, 1, 72, HYPER_THREADING_PROC, 72, -1}, {73, 1, 73, HYPER_THREADING_PROC, 73, -1}, - {74, 1, 74, HYPER_THREADING_PROC, 74, -1}, {75, 1, 75, HYPER_THREADING_PROC, 75, -1}, - {76, 1, 76, HYPER_THREADING_PROC, 76, -1}, {77, 1, 77, HYPER_THREADING_PROC, 77, -1}, - {78, 1, 78, HYPER_THREADING_PROC, 78, -1}, {79, 1, 79, HYPER_THREADING_PROC, 79, -1}, - {80, 1, 80, HYPER_THREADING_PROC, 80, -1}, {81, 1, 81, HYPER_THREADING_PROC, 81, -1}, - {82, 1, 82, HYPER_THREADING_PROC, 82, -1}, {83, 1, 83, HYPER_THREADING_PROC, 83, -1}, - {84, 1, 84, HYPER_THREADING_PROC, 84, -1}, {85, 1, 85, HYPER_THREADING_PROC, 85, -1}, - {86, 1, 86, HYPER_THREADING_PROC, 86, -1}, {87, 1, 87, HYPER_THREADING_PROC, 87, -1}, - {88, 1, 88, HYPER_THREADING_PROC, 88, -1}, {89, 1, 89, HYPER_THREADING_PROC, 89, -1}, - {90, 1, 90, HYPER_THREADING_PROC, 90, -1}, {91, 1, 91, HYPER_THREADING_PROC, 91, -1}, - {92, 1, 92, HYPER_THREADING_PROC, 92, -1}, {93, 1, 93, HYPER_THREADING_PROC, 93, -1}, - {94, 1, 94, HYPER_THREADING_PROC, 94, -1}, {95, 1, 95, HYPER_THREADING_PROC, 95, -1}, - {96, 1, 96, HYPER_THREADING_PROC, 96, -1}, {97, 1, 97, HYPER_THREADING_PROC, 97, -1}, - {98, 1, 98, HYPER_THREADING_PROC, 98, -1}, {99, 1, 99, HYPER_THREADING_PROC, 99, -1}, - {100, 1, 100, HYPER_THREADING_PROC, 100, -1}, {101, 1, 101, HYPER_THREADING_PROC, 101, -1}, - {102, 1, 102, HYPER_THREADING_PROC, 102, -1}, {103, 1, 103, HYPER_THREADING_PROC, 103, -1}, - {104, 1, 104, HYPER_THREADING_PROC, 104, -1}, {105, 1, 105, HYPER_THREADING_PROC, 105, -1}, - {106, 1, 106, HYPER_THREADING_PROC, 106, -1}, {107, 1, 107, HYPER_THREADING_PROC, 107, -1}, - {108, 1, 108, HYPER_THREADING_PROC, 108, -1}, {109, 1, 109, HYPER_THREADING_PROC, 109, -1}, - {110, 1, 110, HYPER_THREADING_PROC, 110, -1}, {111, 1, 111, HYPER_THREADING_PROC, 111, -1}, - {112, 0, 0, MAIN_CORE_PROC, 0, -1}, {113, 0, 1, MAIN_CORE_PROC, 1, -1}, - {114, 0, 2, MAIN_CORE_PROC, 2, -1}, {115, 0, 3, MAIN_CORE_PROC, 3, -1}, - {116, 0, 4, MAIN_CORE_PROC, 4, -1}, {117, 0, 5, MAIN_CORE_PROC, 5, -1}, - {118, 0, 6, MAIN_CORE_PROC, 6, -1}, {119, 0, 7, MAIN_CORE_PROC, 7, -1}, - {120, 0, 8, MAIN_CORE_PROC, 8, -1}, {121, 0, 9, MAIN_CORE_PROC, 9, -1}, - {122, 0, 10, MAIN_CORE_PROC, 10, -1}, {123, 0, 11, MAIN_CORE_PROC, 11, -1}, - {124, 0, 12, MAIN_CORE_PROC, 12, -1}, {125, 0, 13, MAIN_CORE_PROC, 13, -1}, - {126, 0, 14, MAIN_CORE_PROC, 14, -1}, {127, 0, 15, MAIN_CORE_PROC, 15, -1}, - {128, 0, 16, MAIN_CORE_PROC, 16, -1}, {129, 0, 17, MAIN_CORE_PROC, 17, -1}, - {130, 0, 18, MAIN_CORE_PROC, 18, -1}, {131, 0, 19, MAIN_CORE_PROC, 19, -1}, - {132, 0, 20, MAIN_CORE_PROC, 20, -1}, {133, 0, 21, MAIN_CORE_PROC, 21, -1}, - {134, 0, 22, MAIN_CORE_PROC, 22, -1}, {135, 0, 23, MAIN_CORE_PROC, 23, -1}, - {136, 0, 24, MAIN_CORE_PROC, 24, -1}, {137, 0, 25, MAIN_CORE_PROC, 25, -1}, - {138, 0, 26, MAIN_CORE_PROC, 26, -1}, {139, 0, 27, MAIN_CORE_PROC, 27, -1}, - {140, 0, 28, MAIN_CORE_PROC, 28, -1}, {141, 0, 29, MAIN_CORE_PROC, 29, -1}, - {142, 0, 30, MAIN_CORE_PROC, 30, -1}, {143, 0, 31, MAIN_CORE_PROC, 31, -1}, - {144, 0, 32, MAIN_CORE_PROC, 32, -1}, {145, 0, 33, MAIN_CORE_PROC, 33, -1}, - {146, 0, 34, MAIN_CORE_PROC, 34, -1}, {147, 0, 35, MAIN_CORE_PROC, 35, -1}, - {148, 0, 36, MAIN_CORE_PROC, 36, -1}, {149, 0, 37, MAIN_CORE_PROC, 37, -1}, - {150, 0, 38, MAIN_CORE_PROC, 38, -1}, {151, 0, 39, MAIN_CORE_PROC, 39, -1}, - {152, 0, 40, MAIN_CORE_PROC, 40, -1}, {153, 0, 41, MAIN_CORE_PROC, 41, -1}, - {154, 0, 42, MAIN_CORE_PROC, 42, -1}, {155, 0, 43, MAIN_CORE_PROC, 43, -1}, - {156, 0, 44, MAIN_CORE_PROC, 44, -1}, {157, 0, 45, MAIN_CORE_PROC, 45, -1}, - {158, 0, 46, MAIN_CORE_PROC, 46, -1}, {159, 0, 47, MAIN_CORE_PROC, 47, -1}, - {160, 0, 48, MAIN_CORE_PROC, 48, -1}, {161, 0, 49, MAIN_CORE_PROC, 49, -1}, - {162, 0, 50, MAIN_CORE_PROC, 50, -1}, {163, 0, 51, MAIN_CORE_PROC, 51, -1}, - {164, 0, 52, MAIN_CORE_PROC, 52, -1}, {165, 0, 53, MAIN_CORE_PROC, 53, -1}, - {166, 0, 54, MAIN_CORE_PROC, 54, -1}, {167, 0, 55, MAIN_CORE_PROC, 55, -1}, - {168, 1, 56, MAIN_CORE_PROC, 56, -1}, {169, 1, 57, MAIN_CORE_PROC, 57, -1}, - {170, 1, 58, MAIN_CORE_PROC, 58, -1}, {171, 1, 59, MAIN_CORE_PROC, 59, -1}, - {172, 1, 60, MAIN_CORE_PROC, 60, -1}, {173, 1, 61, MAIN_CORE_PROC, 61, -1}, - {174, 1, 62, MAIN_CORE_PROC, 62, -1}, {175, 1, 63, MAIN_CORE_PROC, 63, -1}, - {176, 1, 64, MAIN_CORE_PROC, 64, -1}, {177, 1, 65, MAIN_CORE_PROC, 65, -1}, - {178, 1, 66, MAIN_CORE_PROC, 66, -1}, {179, 1, 67, MAIN_CORE_PROC, 67, -1}, - {180, 1, 68, MAIN_CORE_PROC, 68, -1}, {181, 1, 69, MAIN_CORE_PROC, 69, -1}, - {182, 1, 70, MAIN_CORE_PROC, 70, -1}, {183, 1, 71, MAIN_CORE_PROC, 71, -1}, - {184, 1, 72, MAIN_CORE_PROC, 72, -1}, {185, 1, 73, MAIN_CORE_PROC, 73, -1}, - {186, 1, 74, MAIN_CORE_PROC, 74, -1}, {187, 1, 75, MAIN_CORE_PROC, 75, -1}, - {188, 1, 76, MAIN_CORE_PROC, 76, -1}, {189, 1, 77, MAIN_CORE_PROC, 77, -1}, - {190, 1, 78, MAIN_CORE_PROC, 78, -1}, {191, 1, 79, MAIN_CORE_PROC, 79, -1}, - {192, 1, 80, MAIN_CORE_PROC, 80, -1}, {193, 1, 81, MAIN_CORE_PROC, 81, -1}, - {194, 1, 82, MAIN_CORE_PROC, 82, -1}, {195, 1, 83, MAIN_CORE_PROC, 83, -1}, - {196, 1, 84, MAIN_CORE_PROC, 84, -1}, {197, 1, 85, MAIN_CORE_PROC, 85, -1}, - {198, 1, 86, MAIN_CORE_PROC, 86, -1}, {199, 1, 87, MAIN_CORE_PROC, 87, -1}, - {200, 1, 88, MAIN_CORE_PROC, 88, -1}, {201, 1, 89, MAIN_CORE_PROC, 89, -1}, - {202, 1, 90, MAIN_CORE_PROC, 90, -1}, {203, 1, 91, MAIN_CORE_PROC, 91, -1}, - {204, 1, 92, MAIN_CORE_PROC, 92, -1}, {205, 1, 93, MAIN_CORE_PROC, 93, -1}, - {206, 1, 94, MAIN_CORE_PROC, 94, -1}, {207, 1, 95, MAIN_CORE_PROC, 95, -1}, - {208, 1, 96, MAIN_CORE_PROC, 96, -1}, {209, 1, 97, MAIN_CORE_PROC, 97, -1}, - {210, 1, 98, MAIN_CORE_PROC, 98, -1}, {211, 1, 99, MAIN_CORE_PROC, 99, -1}, - {212, 1, 100, MAIN_CORE_PROC, 100, -1}, {213, 1, 101, MAIN_CORE_PROC, 101, -1}, - {214, 1, 102, MAIN_CORE_PROC, 102, -1}, {215, 1, 103, MAIN_CORE_PROC, 103, -1}, - {216, 1, 104, MAIN_CORE_PROC, 104, -1}, {217, 1, 105, MAIN_CORE_PROC, 105, -1}, - {218, 1, 106, MAIN_CORE_PROC, 106, -1}, {219, 1, 107, MAIN_CORE_PROC, 107, -1}, - {220, 1, 108, MAIN_CORE_PROC, 108, -1}, {221, 1, 109, MAIN_CORE_PROC, 109, -1}, - {222, 1, 110, MAIN_CORE_PROC, 110, -1}, {223, 1, 111, MAIN_CORE_PROC, 111, -1}, - }, - { - {"0,112", "0", "2001000"}, {"1,113", "0", "2001000"}, {"2,114", "0", "2001000"}, - {"3,115", "0", "2001000"}, {"4,116", "0", "2001000"}, {"5,117", "0", "2001000"}, - {"6,118", "0", "2001000"}, {"7,119", "0", "2001000"}, {"8,120", "0", "2001000"}, - {"9,121", "0", "2001000"}, {"10,122", "0", "2001000"}, {"11,123", "0", "2001000"}, - {"12,124", "0", "2001000"}, {"13,125", "0", "2001000"}, {"14,126", "0", "2001000"}, - {"15,127", "0", "2001000"}, {"16,128", "0", "2001000"}, {"17,129", "0", "2001000"}, - {"18,130", "0", "2001000"}, {"19,131", "0", "2001000"}, {"20,132", "0", "2001000"}, - {"21,133", "0", "2001000"}, {"22,134", "0", "2001000"}, {"23,135", "0", "2001000"}, - {"24,136", "0", "2001000"}, {"25,137", "0", "2001000"}, {"26,138", "0", "2001000"}, - {"27,139", "0", "2001000"}, {"28,140", "0", "2001000"}, {"29,141", "0", "2001000"}, - {"30,142", "0", "2001000"}, {"31,143", "0", "2001000"}, {"32,144", "0", "2001000"}, - {"33,145", "0", "2001000"}, {"34,146", "0", "2001000"}, {"35,147", "0", "2001000"}, - {"36,148", "0", "2001000"}, {"37,149", "0", "2001000"}, {"38,150", "0", "2001000"}, - {"39,151", "0", "2001000"}, {"40,152", "0", "2001000"}, {"41,153", "0", "2001000"}, - {"42,154", "0", "2001000"}, {"43,155", "0", "2001000"}, {"44,156", "0", "2001000"}, - {"45,157", "0", "2001000"}, {"46,158", "0", "2001000"}, {"47,159", "0", "2001000"}, - {"48,160", "0", "2001000"}, {"49,161", "0", "2001000"}, {"50,162", "0", "2001000"}, - {"51,163", "0", "2001000"}, {"52,164", "0", "2001000"}, {"53,165", "0", "2001000"}, - {"54,166", "0", "2001000"}, {"55,167", "0", "2001000"}, {"56,168", "1", "2001000"}, - {"57,169", "1", "2001000"}, {"58,170", "1", "2001000"}, {"59,171", "1", "2001000"}, - {"60,172", "1", "2001000"}, {"61,173", "1", "2001000"}, {"62,174", "1", "2001000"}, - {"63,175", "1", "2001000"}, {"64,176", "1", "2001000"}, {"65,177", "1", "2001000"}, - {"66,178", "1", "2001000"}, {"67,179", "1", "2001000"}, {"68,180", "1", "2001000"}, - {"69,181", "1", "2001000"}, {"70,182", "1", "2001000"}, {"71,183", "1", "2001000"}, - {"72,184", "1", "2001000"}, {"73,185", "1", "2001000"}, {"74,186", "1", "2001000"}, - {"75,187", "1", "2001000"}, {"76,188", "1", "2001000"}, {"77,189", "1", "2001000"}, - {"78,190", "1", "2001000"}, {"79,191", "1", "2001000"}, {"80,192", "1", "2001000"}, - {"81,193", "1", "2001000"}, {"82,194", "1", "2001000"}, {"83,195", "1", "2001000"}, - {"84,196", "1", "2001000"}, {"85,197", "1", "2001000"}, {"86,198", "1", "2001000"}, - {"87,199", "1", "2001000"}, {"88,200", "1", "2001000"}, {"89,201", "1", "2001000"}, - {"90,202", "1", "2001000"}, {"91,203", "1", "2001000"}, {"92,204", "1", "2001000"}, - {"93,205", "1", "2001000"}, {"94,206", "1", "2001000"}, {"95,207", "1", "2001000"}, - {"96,208", "1", "2001000"}, {"97,209", "1", "2001000"}, {"98,210", "1", "2001000"}, - {"99,211", "1", "2001000"}, {"100,212", "1", "2001000"}, {"101,213", "1", "2001000"}, - {"102,214", "1", "2001000"}, {"103,215", "1", "2001000"}, {"104,216", "1", "2001000"}, - {"105,217", "1", "2001000"}, {"106,218", "1", "2001000"}, {"107,219", "1", "2001000"}, - {"108,220", "1", "2001000"}, {"109,221", "1", "2001000"}, {"110,222", "1", "2001000"}, - {"111,223", "1", "2001000"}, {"0,112", "0", "2001000"}, {"1,113", "0", "2001000"}, - {"2,114", "0", "2001000"}, {"3,115", "0", "2001000"}, {"4,116", "0", "2001000"}, - {"5,117", "0", "2001000"}, {"6,118", "0", "2001000"}, {"7,119", "0", "2001000"}, - {"8,120", "0", "2001000"}, {"9,121", "0", "2001000"}, {"10,122", "0", "2001000"}, - {"11,123", "0", "2001000"}, {"12,124", "0", "2001000"}, {"13,125", "0", "2001000"}, - {"14,126", "0", "2001000"}, {"15,127", "0", "2001000"}, {"16,128", "0", "2001000"}, - {"17,129", "0", "2001000"}, {"18,130", "0", "2001000"}, {"19,131", "0", "2001000"}, - {"20,132", "0", "2001000"}, {"21,133", "0", "2001000"}, {"22,134", "0", "2001000"}, - {"23,135", "0", "2001000"}, {"24,136", "0", "2001000"}, {"25,137", "0", "2001000"}, - {"26,138", "0", "2001000"}, {"27,139", "0", "2001000"}, {"28,140", "0", "2001000"}, - {"29,141", "0", "2001000"}, {"30,142", "0", "2001000"}, {"31,143", "0", "2001000"}, - {"32,144", "0", "2001000"}, {"33,145", "0", "2001000"}, {"34,146", "0", "2001000"}, - {"35,147", "0", "2001000"}, {"36,148", "0", "2001000"}, {"37,149", "0", "2001000"}, - {"38,150", "0", "2001000"}, {"39,151", "0", "2001000"}, {"40,152", "0", "2001000"}, - {"41,153", "0", "2001000"}, {"42,154", "0", "2001000"}, {"43,155", "0", "2001000"}, - {"44,156", "0", "2001000"}, {"45,157", "0", "2001000"}, {"46,158", "0", "2001000"}, - {"47,159", "0", "2001000"}, {"48,160", "0", "2001000"}, {"49,161", "0", "2001000"}, - {"50,162", "0", "2001000"}, {"51,163", "0", "2001000"}, {"52,164", "0", "2001000"}, - {"53,165", "0", "2001000"}, {"54,166", "0", "2001000"}, {"55,167", "0", "2001000"}, - {"56,168", "1", "2001000"}, {"57,169", "1", "2001000"}, {"58,170", "1", "2001000"}, - {"59,171", "1", "2001000"}, {"60,172", "1", "2001000"}, {"61,173", "1", "2001000"}, - {"62,174", "1", "2001000"}, {"63,175", "1", "2001000"}, {"64,176", "1", "2001000"}, - {"65,177", "1", "2001000"}, {"66,178", "1", "2001000"}, {"67,179", "1", "2001000"}, - {"68,180", "1", "2001000"}, {"69,181", "1", "2001000"}, {"70,182", "1", "2001000"}, - {"71,183", "1", "2001000"}, {"72,184", "1", "2001000"}, {"73,185", "1", "2001000"}, - {"74,186", "1", "2001000"}, {"75,187", "1", "2001000"}, {"76,188", "1", "2001000"}, - {"77,189", "1", "2001000"}, {"78,190", "1", "2001000"}, {"79,191", "1", "2001000"}, - {"80,192", "1", "2001000"}, {"81,193", "1", "2001000"}, {"82,194", "1", "2001000"}, - {"83,195", "1", "2001000"}, {"84,196", "1", "2001000"}, {"85,197", "1", "2001000"}, - {"86,198", "1", "2001000"}, {"87,199", "1", "2001000"}, {"88,200", "1", "2001000"}, - {"89,201", "1", "2001000"}, {"90,202", "1", "2001000"}, {"91,203", "1", "2001000"}, - {"92,204", "1", "2001000"}, {"93,205", "1", "2001000"}, {"94,206", "1", "2001000"}, - {"95,207", "1", "2001000"}, {"96,208", "1", "2001000"}, {"97,209", "1", "2001000"}, - {"98,210", "1", "2001000"}, {"99,211", "1", "2001000"}, {"100,212", "1", "2001000"}, - {"101,213", "1", "2001000"}, {"102,214", "1", "2001000"}, {"103,215", "1", "2001000"}, - {"104,216", "1", "2001000"}, {"105,217", "1", "2001000"}, {"106,218", "1", "2001000"}, - {"107,219", "1", "2001000"}, {"108,220", "1", "2001000"}, {"109,221", "1", "2001000"}, - {"110,222", "1", "2001000"}, {"111,223", "1", "2001000"}, - }, -}; -LinuxCpuMapTestCase freq_2sockets_48cores_hyperthreading = { - 96, - 2, - 48, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {22, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {24, 1, 24, HYPER_THREADING_PROC, 24, -1}, {25, 1, 25, HYPER_THREADING_PROC, 25, -1}, - {26, 1, 26, HYPER_THREADING_PROC, 26, -1}, {27, 1, 27, HYPER_THREADING_PROC, 27, -1}, - {28, 1, 28, HYPER_THREADING_PROC, 28, -1}, {29, 1, 29, HYPER_THREADING_PROC, 29, -1}, - {30, 1, 30, HYPER_THREADING_PROC, 30, -1}, {31, 1, 31, HYPER_THREADING_PROC, 31, -1}, - {32, 1, 32, HYPER_THREADING_PROC, 32, -1}, {33, 1, 33, HYPER_THREADING_PROC, 33, -1}, - {34, 1, 34, HYPER_THREADING_PROC, 34, -1}, {35, 1, 35, HYPER_THREADING_PROC, 35, -1}, - {36, 1, 36, HYPER_THREADING_PROC, 36, -1}, {37, 1, 37, HYPER_THREADING_PROC, 37, -1}, - {38, 1, 38, HYPER_THREADING_PROC, 38, -1}, {39, 1, 39, HYPER_THREADING_PROC, 39, -1}, - {40, 1, 40, HYPER_THREADING_PROC, 40, -1}, {41, 1, 41, HYPER_THREADING_PROC, 41, -1}, - {42, 1, 42, HYPER_THREADING_PROC, 42, -1}, {43, 1, 43, HYPER_THREADING_PROC, 43, -1}, - {44, 1, 44, HYPER_THREADING_PROC, 44, -1}, {45, 1, 45, HYPER_THREADING_PROC, 45, -1}, - {46, 1, 46, HYPER_THREADING_PROC, 46, -1}, {47, 1, 47, HYPER_THREADING_PROC, 47, -1}, - {48, 0, 0, MAIN_CORE_PROC, 0, -1}, {49, 0, 1, MAIN_CORE_PROC, 1, -1}, - {50, 0, 2, MAIN_CORE_PROC, 2, -1}, {51, 0, 3, MAIN_CORE_PROC, 3, -1}, - {52, 0, 4, MAIN_CORE_PROC, 4, -1}, {53, 0, 5, MAIN_CORE_PROC, 5, -1}, - {54, 0, 6, MAIN_CORE_PROC, 6, -1}, {55, 0, 7, MAIN_CORE_PROC, 7, -1}, - {56, 0, 8, MAIN_CORE_PROC, 8, -1}, {57, 0, 9, MAIN_CORE_PROC, 9, -1}, - {58, 0, 10, MAIN_CORE_PROC, 10, -1}, {59, 0, 11, MAIN_CORE_PROC, 11, -1}, - {60, 0, 12, MAIN_CORE_PROC, 12, -1}, {61, 0, 13, MAIN_CORE_PROC, 13, -1}, - {62, 0, 14, MAIN_CORE_PROC, 14, -1}, {63, 0, 15, MAIN_CORE_PROC, 15, -1}, - {64, 0, 16, MAIN_CORE_PROC, 16, -1}, {65, 0, 17, MAIN_CORE_PROC, 17, -1}, - {66, 0, 18, MAIN_CORE_PROC, 18, -1}, {67, 0, 19, MAIN_CORE_PROC, 19, -1}, - {68, 0, 20, MAIN_CORE_PROC, 20, -1}, {69, 0, 21, MAIN_CORE_PROC, 21, -1}, - {70, 0, 22, MAIN_CORE_PROC, 22, -1}, {71, 0, 23, MAIN_CORE_PROC, 23, -1}, - {72, 1, 24, MAIN_CORE_PROC, 24, -1}, {73, 1, 25, MAIN_CORE_PROC, 25, -1}, - {74, 1, 26, MAIN_CORE_PROC, 26, -1}, {75, 1, 27, MAIN_CORE_PROC, 27, -1}, - {76, 1, 28, MAIN_CORE_PROC, 28, -1}, {77, 1, 29, MAIN_CORE_PROC, 29, -1}, - {78, 1, 30, MAIN_CORE_PROC, 30, -1}, {79, 1, 31, MAIN_CORE_PROC, 31, -1}, - {80, 1, 32, MAIN_CORE_PROC, 32, -1}, {81, 1, 33, MAIN_CORE_PROC, 33, -1}, - {82, 1, 34, MAIN_CORE_PROC, 34, -1}, {83, 1, 35, MAIN_CORE_PROC, 35, -1}, - {84, 1, 36, MAIN_CORE_PROC, 36, -1}, {85, 1, 37, MAIN_CORE_PROC, 37, -1}, - {86, 1, 38, MAIN_CORE_PROC, 38, -1}, {87, 1, 39, MAIN_CORE_PROC, 39, -1}, - {88, 1, 40, MAIN_CORE_PROC, 40, -1}, {89, 1, 41, MAIN_CORE_PROC, 41, -1}, - {90, 1, 42, MAIN_CORE_PROC, 42, -1}, {91, 1, 43, MAIN_CORE_PROC, 43, -1}, - {92, 1, 44, MAIN_CORE_PROC, 44, -1}, {93, 1, 45, MAIN_CORE_PROC, 45, -1}, - {94, 1, 46, MAIN_CORE_PROC, 46, -1}, {95, 1, 47, MAIN_CORE_PROC, 47, -1}, - }, - { - {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, - {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, - {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, - {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, - {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, - {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, - {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, - {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, - {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, - {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, - {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, - {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, - {"0,48", "0", "3600000"}, {"1,49", "0", "3600000"}, {"2,50", "0", "3600000"}, {"3,51", "0", "3600000"}, - {"4,52", "0", "3600000"}, {"5,53", "0", "3600000"}, {"6,54", "0", "3600000"}, {"7,55", "0", "3600000"}, - {"8,56", "0", "3600000"}, {"9,57", "0", "3600000"}, {"10,58", "0", "3600000"}, {"11,59", "0", "3600000"}, - {"12,60", "0", "3600000"}, {"13,61", "0", "3600000"}, {"14,62", "0", "3600000"}, {"15,63", "0", "3600000"}, - {"16,64", "0", "3600000"}, {"17,65", "0", "3600000"}, {"18,66", "0", "3600000"}, {"19,67", "0", "3600000"}, - {"20,68", "0", "3600000"}, {"21,69", "0", "3600000"}, {"22,70", "0", "3600000"}, {"23,71", "0", "3600000"}, - {"24,72", "1", "3600000"}, {"25,73", "1", "3600000"}, {"26,74", "1", "3600000"}, {"27,75", "1", "3600000"}, - {"28,76", "1", "3600000"}, {"29,77", "1", "3600000"}, {"30,78", "1", "3600000"}, {"31,79", "1", "3600000"}, - {"32,80", "1", "3600000"}, {"33,81", "1", "3600000"}, {"34,82", "1", "3600000"}, {"35,83", "1", "3600000"}, - {"36,84", "1", "3600000"}, {"37,85", "1", "3600000"}, {"38,86", "1", "3600000"}, {"39,87", "1", "3600000"}, - {"40,88", "1", "3600000"}, {"41,89", "1", "3600000"}, {"42,90", "1", "3600000"}, {"43,91", "1", "3600000"}, - {"44,92", "1", "3600000"}, {"45,93", "1", "3600000"}, {"46,94", "1", "3600000"}, {"47,95", "1", "3600000"}, - }, -}; -LinuxCpuMapTestCase freq_2sockets_20cores_hyperthreading = { - 40, - 2, - 20, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, {11, 1, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, {13, 1, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, {15, 1, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, {17, 1, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 1, 18, HYPER_THREADING_PROC, 18, -1}, {19, 1, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, {27, 0, 7, MAIN_CORE_PROC, 7, -1}, - {28, 0, 8, MAIN_CORE_PROC, 8, -1}, {29, 0, 9, MAIN_CORE_PROC, 9, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, {31, 1, 11, MAIN_CORE_PROC, 11, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, {33, 1, 13, MAIN_CORE_PROC, 13, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, {35, 1, 15, MAIN_CORE_PROC, 15, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, {37, 1, 17, MAIN_CORE_PROC, 17, -1}, - {38, 1, 18, MAIN_CORE_PROC, 18, -1}, {39, 1, 19, MAIN_CORE_PROC, 19, -1}, - }, - { - {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, - {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, - {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, - {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, - {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, - {"0,20", "0", "3000000"}, {"1,21", "0", "3000000"}, {"2,22", "0", "3000000"}, {"3,23", "0", "3000000"}, - {"4,24", "0", "3000000"}, {"5,25", "0", "3000000"}, {"6,26", "0", "3000000"}, {"7,27", "0", "3000000"}, - {"8,28", "0", "3000000"}, {"9,29", "0", "3000000"}, {"10,30", "1", "3000000"}, {"11,31", "1", "3000000"}, - {"12,32", "1", "3000000"}, {"13,33", "1", "3000000"}, {"14,34", "1", "3000000"}, {"15,35", "1", "3000000"}, - {"16,36", "1", "3000000"}, {"17,37", "1", "3000000"}, {"18,38", "1", "3000000"}, {"19,39", "1", "3000000"}, - }, -}; -LinuxCpuMapTestCase freq_2sockets_20cores = { - 20, - 2, - 20, - {{20, 20, 0, 0}, {10, 10, 0, 0}, {10, 10, 0, 0}}, - { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, {1, 0, 1, MAIN_CORE_PROC, 1, -1}, {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 3, MAIN_CORE_PROC, 3, -1}, {4, 0, 4, MAIN_CORE_PROC, 4, -1}, {5, 0, 5, MAIN_CORE_PROC, 5, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 7, MAIN_CORE_PROC, 7, -1}, {8, 0, 8, MAIN_CORE_PROC, 8, -1}, - {9, 0, 9, MAIN_CORE_PROC, 9, -1}, {10, 1, 10, MAIN_CORE_PROC, 10, -1}, {11, 1, 11, MAIN_CORE_PROC, 11, -1}, - {12, 1, 12, MAIN_CORE_PROC, 12, -1}, {13, 1, 13, MAIN_CORE_PROC, 13, -1}, {14, 1, 14, MAIN_CORE_PROC, 14, -1}, - {15, 1, 15, MAIN_CORE_PROC, 15, -1}, {16, 1, 16, MAIN_CORE_PROC, 16, -1}, {17, 1, 17, MAIN_CORE_PROC, 17, -1}, - {18, 1, 18, MAIN_CORE_PROC, 18, -1}, {19, 1, 19, MAIN_CORE_PROC, 19, -1}, - }, - { - {"0", "0", "3000000"}, {"1", "0", "3000000"}, {"2", "0", "3000000"}, {"3", "0", "3000000"}, - {"4", "0", "3000000"}, {"5", "0", "3000000"}, {"6", "0", "3000000"}, {"7", "0", "3000000"}, - {"8", "0", "3000000"}, {"9", "0", "3000000"}, {"10", "1", "3000000"}, {"11", "1", "3000000"}, - {"12", "1", "3000000"}, {"13", "1", "3000000"}, {"14", "1", "3000000"}, {"15", "1", "3000000"}, - {"16", "1", "3000000"}, {"17", "1", "3000000"}, {"18", "1", "3000000"}, {"19", "1", "3000000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_32cores_hyperthreading = { - 64, - 1, - 32, - {{64, 32, 0, 32}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 8, HYPER_THREADING_PROC, 8, -1}, {9, 0, 9, HYPER_THREADING_PROC, 9, -1}, - {10, 0, 10, HYPER_THREADING_PROC, 10, -1}, {11, 0, 11, HYPER_THREADING_PROC, 11, -1}, - {12, 0, 12, HYPER_THREADING_PROC, 12, -1}, {13, 0, 13, HYPER_THREADING_PROC, 13, -1}, - {14, 0, 14, HYPER_THREADING_PROC, 14, -1}, {15, 0, 15, HYPER_THREADING_PROC, 15, -1}, - {16, 0, 16, HYPER_THREADING_PROC, 16, -1}, {17, 0, 17, HYPER_THREADING_PROC, 17, -1}, - {18, 0, 18, HYPER_THREADING_PROC, 18, -1}, {19, 0, 19, HYPER_THREADING_PROC, 19, -1}, - {20, 0, 20, HYPER_THREADING_PROC, 20, -1}, {21, 0, 21, HYPER_THREADING_PROC, 21, -1}, - {22, 0, 22, HYPER_THREADING_PROC, 22, -1}, {23, 0, 23, HYPER_THREADING_PROC, 23, -1}, - {24, 0, 24, HYPER_THREADING_PROC, 24, -1}, {25, 0, 25, HYPER_THREADING_PROC, 25, -1}, - {26, 0, 26, HYPER_THREADING_PROC, 26, -1}, {27, 0, 27, HYPER_THREADING_PROC, 27, -1}, - {28, 0, 28, HYPER_THREADING_PROC, 28, -1}, {29, 0, 29, HYPER_THREADING_PROC, 29, -1}, - {30, 0, 30, HYPER_THREADING_PROC, 30, -1}, {31, 0, 31, HYPER_THREADING_PROC, 31, -1}, - {32, 0, 0, MAIN_CORE_PROC, 0, -1}, {33, 0, 1, MAIN_CORE_PROC, 1, -1}, - {34, 0, 2, MAIN_CORE_PROC, 2, -1}, {35, 0, 3, MAIN_CORE_PROC, 3, -1}, - {36, 0, 4, MAIN_CORE_PROC, 4, -1}, {37, 0, 5, MAIN_CORE_PROC, 5, -1}, - {38, 0, 6, MAIN_CORE_PROC, 6, -1}, {39, 0, 7, MAIN_CORE_PROC, 7, -1}, - {40, 0, 8, MAIN_CORE_PROC, 8, -1}, {41, 0, 9, MAIN_CORE_PROC, 9, -1}, - {42, 0, 10, MAIN_CORE_PROC, 10, -1}, {43, 0, 11, MAIN_CORE_PROC, 11, -1}, - {44, 0, 12, MAIN_CORE_PROC, 12, -1}, {45, 0, 13, MAIN_CORE_PROC, 13, -1}, - {46, 0, 14, MAIN_CORE_PROC, 14, -1}, {47, 0, 15, MAIN_CORE_PROC, 15, -1}, - {48, 0, 16, MAIN_CORE_PROC, 16, -1}, {49, 0, 17, MAIN_CORE_PROC, 17, -1}, - {50, 0, 18, MAIN_CORE_PROC, 18, -1}, {51, 0, 19, MAIN_CORE_PROC, 19, -1}, - {52, 0, 20, MAIN_CORE_PROC, 20, -1}, {53, 0, 21, MAIN_CORE_PROC, 21, -1}, - {54, 0, 22, MAIN_CORE_PROC, 22, -1}, {55, 0, 23, MAIN_CORE_PROC, 23, -1}, - {56, 0, 24, MAIN_CORE_PROC, 24, -1}, {57, 0, 25, MAIN_CORE_PROC, 25, -1}, - {58, 0, 26, MAIN_CORE_PROC, 26, -1}, {59, 0, 27, MAIN_CORE_PROC, 27, -1}, - {60, 0, 28, MAIN_CORE_PROC, 28, -1}, {61, 0, 29, MAIN_CORE_PROC, 29, -1}, - {62, 0, 30, MAIN_CORE_PROC, 30, -1}, {63, 0, 31, MAIN_CORE_PROC, 31, -1}, - }, - { - {"0,32", "0", "3400000"}, {"1,33", "0", "3400000"}, {"2,34", "0", "3400000"}, {"3,35", "0", "3400000"}, - {"4,36", "0", "3400000"}, {"5,37", "0", "3400000"}, {"6,38", "0", "3400000"}, {"7,39", "0", "3400000"}, - {"8,40", "0", "3400000"}, {"9,41", "0", "3400000"}, {"10,42", "0", "3400000"}, {"11,43", "0", "3400000"}, - {"12,44", "0", "3400000"}, {"13,45", "0", "3400000"}, {"14,46", "0", "3400000"}, {"15,47", "0", "3400000"}, - {"16,48", "0", "3400000"}, {"17,49", "0", "3400000"}, {"18,50", "0", "3400000"}, {"19,51", "0", "3400000"}, - {"20,52", "0", "3400000"}, {"21,53", "0", "3400000"}, {"22,54", "0", "3400000"}, {"23,55", "0", "3400000"}, - {"24,56", "0", "3400000"}, {"25,57", "0", "3400000"}, {"26,58", "0", "3400000"}, {"27,59", "0", "3400000"}, - {"28,60", "0", "3400000"}, {"29,61", "0", "3400000"}, {"30,62", "0", "3400000"}, {"31,63", "0", "3400000"}, - {"0,32", "0", "3400000"}, {"1,33", "0", "3400000"}, {"2,34", "0", "3400000"}, {"3,35", "0", "3400000"}, - {"4,36", "0", "3400000"}, {"5,37", "0", "3400000"}, {"6,38", "0", "3400000"}, {"7,39", "0", "3400000"}, - {"8,40", "0", "3400000"}, {"9,41", "0", "3400000"}, {"10,42", "0", "3400000"}, {"11,43", "0", "3400000"}, - {"12,44", "0", "3400000"}, {"13,45", "0", "3400000"}, {"14,46", "0", "3400000"}, {"15,47", "0", "3400000"}, - {"16,48", "0", "3400000"}, {"17,49", "0", "3400000"}, {"18,50", "0", "3400000"}, {"19,51", "0", "3400000"}, - {"20,52", "0", "3400000"}, {"21,53", "0", "3400000"}, {"22,54", "0", "3400000"}, {"23,55", "0", "3400000"}, - {"24,56", "0", "3400000"}, {"25,57", "0", "3400000"}, {"26,58", "0", "3400000"}, {"27,59", "0", "3400000"}, - {"28,60", "0", "3400000"}, {"29,61", "0", "3400000"}, {"30,62", "0", "3400000"}, {"31,63", "0", "3400000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_16cores_hyperthreading = { - 24, - 1, - 16, - {{24, 8, 8, 8}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, - {20, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, {21, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, - {22, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, {23, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, - }, - { - {"0-1", "0", "5376760"}, {"0-1", "0", "5376760"}, {"2-3", "0", "5376760"}, {"2-3", "0", "5376760"}, - {"4-5", "0", "5376760"}, {"4-5", "0", "5376760"}, {"6-7", "0", "5376760"}, {"6-7", "0", "5376760"}, - {"8-9", "0", "5400000"}, {"8-9", "0", "5400000"}, {"10-11", "0", "5400000"}, {"10-11", "0", "5400000"}, - {"12-13", "0", "5376760"}, {"12-13", "0", "5376760"}, {"14-15", "0", "5376760"}, {"14-15", "0", "5376760"}, - {"16", "0", "4200000"}, {"17", "0", "4200000"}, {"18", "0", "4200000"}, {"19", "0", "4200000"}, - {"20", "0", "4200000"}, {"21", "0", "4200000"}, {"22", "0", "4200000"}, {"23", "0", "4200000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_16cores = { - 16, - 1, - 16, - {{16, 8, 8, 0}}, - { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {1, 0, 1, MAIN_CORE_PROC, 1, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 3, MAIN_CORE_PROC, 3, -1}, - {4, 0, 4, MAIN_CORE_PROC, 4, -1}, - {5, 0, 5, MAIN_CORE_PROC, 5, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, - {7, 0, 7, MAIN_CORE_PROC, 7, -1}, - {8, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {9, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {10, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {11, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, - {12, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, - {13, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, - {14, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, - {15, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, - }, - { - {"0", "0", "5376760"}, - {"1", "0", "5376760"}, - {"2", "0", "5376760"}, - {"3", "0", "5376760"}, - {"4", "0", "5400000"}, - {"5", "0", "5400000"}, - {"6", "0", "5376760"}, - {"7", "0", "5376760"}, - {"8", "0", "4200000"}, - {"9", "0", "4200000"}, - {"10", "0", "4200000"}, - {"11", "0", "4200000"}, - {"12", "0", "4200000"}, - {"13", "0", "4200000"}, - {"14", "0", "4200000"}, - {"15", "0", "4200000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_16cores_1_hyperthreading = { - 22, - 1, - 16, - {{22, 6, 10, 6}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 7, -1}, - {14, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {16, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, - {18, 0, 12, EFFICIENT_CORE_PROC, 12, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 13, -1}, - {20, 0, 14, EFFICIENT_CORE_PROC, 14, -1}, {21, 0, 15, EFFICIENT_CORE_PROC, 15, -1}, - }, - { - {"0-1", "2", "3200040"}, {"0-1", "2", "3200040"}, {"2-3", "3", "3200040"}, {"2-3", "3", "3200040"}, - {"4-5", "4", "3200040"}, {"4-5", "4", "3200040"}, {"6-7", "5", "3200040"}, {"6-7", "5", "3200040"}, - {"8-9", "6", "3200040"}, {"8-9", "6", "3200040"}, {"10-11", "7", "3200040"}, {"10-11", "7", "3200040"}, - {"12", "0", "3100000"}, {"13", "0", "3100000"}, {"14", "0", "3100000"}, {"15", "0", "3100000"}, - {"16", "1", "3100000"}, {"17", "1", "3100000"}, {"18", "1", "3100000"}, {"19", "1", "3100000"}, - {"20", "8", "1600011"}, {"21", "8", "1600011"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_12cores_hyperthreading = { - 14, - 1, - 12, - {{14, 2, 10, 2}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, EFFICIENT_CORE_PROC, 2, -1}, - {5, 0, 3, EFFICIENT_CORE_PROC, 3, -1}, - {6, 0, 4, EFFICIENT_CORE_PROC, 4, -1}, - {7, 0, 5, EFFICIENT_CORE_PROC, 5, -1}, - {8, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, - {9, 0, 7, EFFICIENT_CORE_PROC, 7, -1}, - {10, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {11, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {12, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {13, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, - }, - { - {"0-1", "2", "4100000"}, - {"0-1", "2", "4100000"}, - {"2-3", "3", "4100000"}, - {"2-3", "3", "4100000"}, - {"4", "0", "3100000"}, - {"5", "0", "3100000"}, - {"6", "0", "3100000"}, - {"7", "0", "3100000"}, - {"8", "1", "3100000"}, - {"9", "1", "3100000"}, - {"10", "1", "3100000"}, - {"11", "1", "3100000"}, - {"12", "8", "2100000"}, - {"13", "8", "2100000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_8cores_hyperthreading = { - 16, - 1, - 8, - {{16, 8, 0, 8}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - }, - { - {"0-1", "0", "6100000"}, - {"0-1", "0", "6100000"}, - {"2-3", "0", "6100000"}, - {"2-3", "0", "6100000"}, - {"4-5", "0", "6100000"}, - {"4-5", "0", "6100000"}, - {"6-7", "0", "6100000"}, - {"6-7", "0", "6100000"}, - {"8-9", "0", "6300000"}, - {"8-9", "0", "6300000"}, - {"10-11", "0", "6300000"}, - {"10-11", "0", "6300000"}, - {"12-13", "0", "6100000"}, - {"12-13", "0", "6100000"}, - {"14-15", "0", "6100000"}, - {"14-15", "0", "6100000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_8cores_1_hyperthreading = { - 16, - 1, - 8, - {{16, 8, 0, 8}}, - { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {3, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {5, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {7, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {8, 0, 0, MAIN_CORE_PROC, 0, -1}, - {9, 0, 1, MAIN_CORE_PROC, 1, -1}, - {10, 0, 2, MAIN_CORE_PROC, 2, -1}, - {11, 0, 3, MAIN_CORE_PROC, 3, -1}, - {12, 0, 4, MAIN_CORE_PROC, 4, -1}, - {13, 0, 5, MAIN_CORE_PROC, 5, -1}, - {14, 0, 6, MAIN_CORE_PROC, 6, -1}, - {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - }, - { - {"0,8", "0", "4700000"}, - {"1,9", "0", "4800000"}, - {"2,10", "0", "4800000"}, - {"3,11", "0", "4700000"}, - {"4,12", "0", "4700000"}, - {"5,13", "0", "4700000"}, - {"6,14", "0", "4700000"}, - {"7,15", "0", "4700000"}, - {"0,8", "0", "4700000"}, - {"1,9", "0", "4800000"}, - {"2,10", "0", "4800000"}, - {"3,11", "0", "4700000"}, - {"4,12", "0", "4700000"}, - {"5,13", "0", "4700000"}, - {"6,14", "0", "4700000"}, - {"7,15", "0", "4700000"}, - }, -}; -LinuxCpuMapTestCase freq_1sockets_4cores = { - 4, - 1, - 4, - {{4, 4, 0, 0}}, - { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {1, 0, 1, MAIN_CORE_PROC, 1, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 3, MAIN_CORE_PROC, 3, -1}, - }, - { - {"0", "0", "1800000"}, - {"1", "0", "1800000"}, - {"2", "0", "1800000"}, - {"3", "0", "1800000"}, - }, -}; - -TEST_P(LinuxCpuMapFreqParserTests, LinuxCpuMapFreq) {} - -INSTANTIATE_TEST_SUITE_P(CPUMap, - LinuxCpuMapFreqParserTests, - testing::Values(freq_2sockets_112cores_hyperthreading, - freq_2sockets_48cores_hyperthreading, - freq_2sockets_20cores_hyperthreading, - freq_2sockets_20cores, - freq_1sockets_32cores_hyperthreading, - freq_1sockets_16cores_hyperthreading, - freq_1sockets_16cores, - freq_1sockets_16cores_1_hyperthreading, - freq_1sockets_12cores_hyperthreading, - freq_1sockets_8cores_hyperthreading, - freq_1sockets_8cores_1_hyperthreading, - freq_1sockets_4cores)); - -#endif - #if defined(_WIN32) int Hex2Int(char c) { @@ -1317,6 +30,7 @@ void Hex2Bin(const char* hex, std::size_t sz, char* out) { struct WinCpuMapTestCase { int _processors; + int _numa_nodes; int _sockets; int _cores; std::vector> _proc_type_table; @@ -1339,6 +53,7 @@ public: Hex2Bin(test_ptr, test_len, test_info_ptr); int test_processors = 0; + int test_numa_nodes = 0; int test_sockets = 0; int test_cores = 0; unsigned long len = (unsigned long)(test_len / 2); @@ -1348,12 +63,14 @@ public: ov::parse_processor_info_win(test_info_ptr, len, test_processors, + test_numa_nodes, test_sockets, test_cores, test_proc_type_table, test_cpu_mapping_table); ASSERT_EQ(test_data._processors, test_processors); + ASSERT_EQ(test_data._numa_nodes, test_numa_nodes); ASSERT_EQ(test_data._sockets, test_sockets); ASSERT_EQ(test_data._cores, test_cores); ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); @@ -1362,116 +79,119 @@ public: }; WinCpuMapTestCase _2sockets_104cores_hyperthreading = { - 208, - 2, - 104, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + 208, // param[expected out]: total 208 logcial processors on this simulated platform + 2, // param[expected out]: total 2 numa nodes on this simulated platform + 2, // param[expected out]: total 2 sockets on this simulated platform + 104, // param[expected out]: total 104 CPU cores on this simulated platform + {{208, 104, 0, 104, -1, -1}, + {104, 52, 0, 52, 0, 0}, + {104, 52, 0, 52, 1, 1}}, // param[expected out]: The proc_type_table of this simulated platform { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 8, MAIN_CORE_PROC, 8, -1}, - {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 9, MAIN_CORE_PROC, 9, -1}, - {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 10, MAIN_CORE_PROC, 10, -1}, - {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 11, MAIN_CORE_PROC, 11, -1}, - {24, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 12, MAIN_CORE_PROC, 12, -1}, - {26, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 13, MAIN_CORE_PROC, 13, -1}, - {28, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 14, MAIN_CORE_PROC, 14, -1}, - {30, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 15, MAIN_CORE_PROC, 15, -1}, - {32, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 16, MAIN_CORE_PROC, 16, -1}, - {34, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 17, MAIN_CORE_PROC, 17, -1}, - {36, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 18, MAIN_CORE_PROC, 18, -1}, - {38, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 19, MAIN_CORE_PROC, 19, -1}, - {40, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 20, MAIN_CORE_PROC, 20, -1}, - {42, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 21, MAIN_CORE_PROC, 21, -1}, - {44, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 22, MAIN_CORE_PROC, 22, -1}, - {46, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 23, MAIN_CORE_PROC, 23, -1}, - {48, 0, 24, HYPER_THREADING_PROC, 24, -1}, {49, 0, 24, MAIN_CORE_PROC, 24, -1}, - {50, 0, 25, HYPER_THREADING_PROC, 25, -1}, {51, 0, 25, MAIN_CORE_PROC, 25, -1}, - {52, 0, 26, HYPER_THREADING_PROC, 26, -1}, {53, 0, 26, MAIN_CORE_PROC, 26, -1}, - {54, 0, 27, HYPER_THREADING_PROC, 27, -1}, {55, 0, 27, MAIN_CORE_PROC, 27, -1}, - {56, 0, 28, HYPER_THREADING_PROC, 28, -1}, {57, 0, 28, MAIN_CORE_PROC, 28, -1}, - {58, 0, 29, HYPER_THREADING_PROC, 29, -1}, {59, 0, 29, MAIN_CORE_PROC, 29, -1}, - {60, 0, 30, HYPER_THREADING_PROC, 30, -1}, {61, 0, 30, MAIN_CORE_PROC, 30, -1}, - {62, 0, 31, HYPER_THREADING_PROC, 31, -1}, {63, 0, 31, MAIN_CORE_PROC, 31, -1}, - {64, 0, 32, HYPER_THREADING_PROC, 32, -1}, {65, 0, 32, MAIN_CORE_PROC, 32, -1}, - {66, 0, 33, HYPER_THREADING_PROC, 33, -1}, {67, 0, 33, MAIN_CORE_PROC, 33, -1}, - {68, 0, 34, HYPER_THREADING_PROC, 34, -1}, {69, 0, 34, MAIN_CORE_PROC, 34, -1}, - {70, 0, 35, HYPER_THREADING_PROC, 35, -1}, {71, 0, 35, MAIN_CORE_PROC, 35, -1}, - {72, 0, 36, HYPER_THREADING_PROC, 36, -1}, {73, 0, 36, MAIN_CORE_PROC, 36, -1}, - {74, 0, 37, HYPER_THREADING_PROC, 37, -1}, {75, 0, 37, MAIN_CORE_PROC, 37, -1}, - {76, 0, 38, HYPER_THREADING_PROC, 38, -1}, {77, 0, 38, MAIN_CORE_PROC, 38, -1}, - {78, 0, 39, HYPER_THREADING_PROC, 39, -1}, {79, 0, 39, MAIN_CORE_PROC, 39, -1}, - {80, 0, 40, HYPER_THREADING_PROC, 40, -1}, {81, 0, 40, MAIN_CORE_PROC, 40, -1}, - {82, 0, 41, HYPER_THREADING_PROC, 41, -1}, {83, 0, 41, MAIN_CORE_PROC, 41, -1}, - {84, 0, 42, HYPER_THREADING_PROC, 42, -1}, {85, 0, 42, MAIN_CORE_PROC, 42, -1}, - {86, 0, 43, HYPER_THREADING_PROC, 43, -1}, {87, 0, 43, MAIN_CORE_PROC, 43, -1}, - {88, 0, 44, HYPER_THREADING_PROC, 44, -1}, {89, 0, 44, MAIN_CORE_PROC, 44, -1}, - {90, 0, 45, HYPER_THREADING_PROC, 45, -1}, {91, 0, 45, MAIN_CORE_PROC, 45, -1}, - {92, 0, 46, HYPER_THREADING_PROC, 46, -1}, {93, 0, 46, MAIN_CORE_PROC, 46, -1}, - {94, 0, 47, HYPER_THREADING_PROC, 47, -1}, {95, 0, 47, MAIN_CORE_PROC, 47, -1}, - {96, 0, 48, HYPER_THREADING_PROC, 48, -1}, {97, 0, 48, MAIN_CORE_PROC, 48, -1}, - {98, 0, 49, HYPER_THREADING_PROC, 49, -1}, {99, 0, 49, MAIN_CORE_PROC, 49, -1}, - {100, 0, 50, HYPER_THREADING_PROC, 50, -1}, {101, 0, 50, MAIN_CORE_PROC, 50, -1}, - {102, 0, 51, HYPER_THREADING_PROC, 51, -1}, {103, 0, 51, MAIN_CORE_PROC, 51, -1}, - {104, 1, 52, HYPER_THREADING_PROC, 52, -1}, {105, 1, 52, MAIN_CORE_PROC, 52, -1}, - {106, 1, 53, HYPER_THREADING_PROC, 53, -1}, {107, 1, 53, MAIN_CORE_PROC, 53, -1}, - {108, 1, 54, HYPER_THREADING_PROC, 54, -1}, {109, 1, 54, MAIN_CORE_PROC, 54, -1}, - {110, 1, 55, HYPER_THREADING_PROC, 55, -1}, {111, 1, 55, MAIN_CORE_PROC, 55, -1}, - {112, 1, 56, HYPER_THREADING_PROC, 56, -1}, {113, 1, 56, MAIN_CORE_PROC, 56, -1}, - {114, 1, 57, HYPER_THREADING_PROC, 57, -1}, {115, 1, 57, MAIN_CORE_PROC, 57, -1}, - {116, 1, 58, HYPER_THREADING_PROC, 58, -1}, {117, 1, 58, MAIN_CORE_PROC, 58, -1}, - {118, 1, 59, HYPER_THREADING_PROC, 59, -1}, {119, 1, 59, MAIN_CORE_PROC, 59, -1}, - {120, 1, 60, HYPER_THREADING_PROC, 60, -1}, {121, 1, 60, MAIN_CORE_PROC, 60, -1}, - {122, 1, 61, HYPER_THREADING_PROC, 61, -1}, {123, 1, 61, MAIN_CORE_PROC, 61, -1}, - {124, 1, 62, HYPER_THREADING_PROC, 62, -1}, {125, 1, 62, MAIN_CORE_PROC, 62, -1}, - {126, 1, 63, HYPER_THREADING_PROC, 63, -1}, {127, 1, 63, MAIN_CORE_PROC, 63, -1}, - {128, 1, 64, HYPER_THREADING_PROC, 64, -1}, {129, 1, 64, MAIN_CORE_PROC, 64, -1}, - {130, 1, 65, HYPER_THREADING_PROC, 65, -1}, {131, 1, 65, MAIN_CORE_PROC, 65, -1}, - {132, 1, 66, HYPER_THREADING_PROC, 66, -1}, {133, 1, 66, MAIN_CORE_PROC, 66, -1}, - {134, 1, 67, HYPER_THREADING_PROC, 67, -1}, {135, 1, 67, MAIN_CORE_PROC, 67, -1}, - {136, 1, 68, HYPER_THREADING_PROC, 68, -1}, {137, 1, 68, MAIN_CORE_PROC, 68, -1}, - {138, 1, 69, HYPER_THREADING_PROC, 69, -1}, {139, 1, 69, MAIN_CORE_PROC, 69, -1}, - {140, 1, 70, HYPER_THREADING_PROC, 70, -1}, {141, 1, 70, MAIN_CORE_PROC, 70, -1}, - {142, 1, 71, HYPER_THREADING_PROC, 71, -1}, {143, 1, 71, MAIN_CORE_PROC, 71, -1}, - {144, 1, 72, HYPER_THREADING_PROC, 72, -1}, {145, 1, 72, MAIN_CORE_PROC, 72, -1}, - {146, 1, 73, HYPER_THREADING_PROC, 73, -1}, {147, 1, 73, MAIN_CORE_PROC, 73, -1}, - {148, 1, 74, HYPER_THREADING_PROC, 74, -1}, {149, 1, 74, MAIN_CORE_PROC, 74, -1}, - {150, 1, 75, HYPER_THREADING_PROC, 75, -1}, {151, 1, 75, MAIN_CORE_PROC, 75, -1}, - {152, 1, 76, HYPER_THREADING_PROC, 76, -1}, {153, 1, 76, MAIN_CORE_PROC, 76, -1}, - {154, 1, 77, HYPER_THREADING_PROC, 77, -1}, {155, 1, 77, MAIN_CORE_PROC, 77, -1}, - {156, 1, 78, HYPER_THREADING_PROC, 78, -1}, {157, 1, 78, MAIN_CORE_PROC, 78, -1}, - {158, 1, 79, HYPER_THREADING_PROC, 79, -1}, {159, 1, 79, MAIN_CORE_PROC, 79, -1}, - {160, 1, 80, HYPER_THREADING_PROC, 80, -1}, {161, 1, 80, MAIN_CORE_PROC, 80, -1}, - {162, 1, 81, HYPER_THREADING_PROC, 81, -1}, {163, 1, 81, MAIN_CORE_PROC, 81, -1}, - {164, 1, 82, HYPER_THREADING_PROC, 82, -1}, {165, 1, 82, MAIN_CORE_PROC, 82, -1}, - {166, 1, 83, HYPER_THREADING_PROC, 83, -1}, {167, 1, 83, MAIN_CORE_PROC, 83, -1}, - {168, 1, 84, HYPER_THREADING_PROC, 84, -1}, {169, 1, 84, MAIN_CORE_PROC, 84, -1}, - {170, 1, 85, HYPER_THREADING_PROC, 85, -1}, {171, 1, 85, MAIN_CORE_PROC, 85, -1}, - {172, 1, 86, HYPER_THREADING_PROC, 86, -1}, {173, 1, 86, MAIN_CORE_PROC, 86, -1}, - {174, 1, 87, HYPER_THREADING_PROC, 87, -1}, {175, 1, 87, MAIN_CORE_PROC, 87, -1}, - {176, 1, 88, HYPER_THREADING_PROC, 88, -1}, {177, 1, 88, MAIN_CORE_PROC, 88, -1}, - {178, 1, 89, HYPER_THREADING_PROC, 89, -1}, {179, 1, 89, MAIN_CORE_PROC, 89, -1}, - {180, 1, 90, HYPER_THREADING_PROC, 90, -1}, {181, 1, 90, MAIN_CORE_PROC, 90, -1}, - {182, 1, 91, HYPER_THREADING_PROC, 91, -1}, {183, 1, 91, MAIN_CORE_PROC, 91, -1}, - {184, 1, 92, HYPER_THREADING_PROC, 92, -1}, {185, 1, 92, MAIN_CORE_PROC, 92, -1}, - {186, 1, 93, HYPER_THREADING_PROC, 93, -1}, {187, 1, 93, MAIN_CORE_PROC, 93, -1}, - {188, 1, 94, HYPER_THREADING_PROC, 94, -1}, {189, 1, 94, MAIN_CORE_PROC, 94, -1}, - {190, 1, 95, HYPER_THREADING_PROC, 95, -1}, {191, 1, 95, MAIN_CORE_PROC, 95, -1}, - {192, 1, 96, HYPER_THREADING_PROC, 96, -1}, {193, 1, 96, MAIN_CORE_PROC, 96, -1}, - {194, 1, 97, HYPER_THREADING_PROC, 97, -1}, {195, 1, 97, MAIN_CORE_PROC, 97, -1}, - {196, 1, 98, HYPER_THREADING_PROC, 98, -1}, {197, 1, 98, MAIN_CORE_PROC, 98, -1}, - {198, 1, 99, HYPER_THREADING_PROC, 99, -1}, {199, 1, 99, MAIN_CORE_PROC, 99, -1}, - {200, 1, 100, HYPER_THREADING_PROC, 100, -1}, {201, 1, 100, MAIN_CORE_PROC, 100, -1}, - {202, 1, 101, HYPER_THREADING_PROC, 101, -1}, {203, 1, 101, MAIN_CORE_PROC, 101, -1}, - {204, 1, 102, HYPER_THREADING_PROC, 102, -1}, {205, 1, 102, MAIN_CORE_PROC, 102, -1}, - {206, 1, 103, HYPER_THREADING_PROC, 103, -1}, {207, 1, 103, MAIN_CORE_PROC, 103, -1}, - }, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, + {18, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {20, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, + {22, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {24, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {36, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, + {38, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {40, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, + {42, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {44, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, + {46, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {48, 0, 0, 24, HYPER_THREADING_PROC, 24, -1}, {49, 0, 0, 24, MAIN_CORE_PROC, 24, -1}, + {50, 0, 0, 25, HYPER_THREADING_PROC, 25, -1}, {51, 0, 0, 25, MAIN_CORE_PROC, 25, -1}, + {52, 0, 0, 26, HYPER_THREADING_PROC, 26, -1}, {53, 0, 0, 26, MAIN_CORE_PROC, 26, -1}, + {54, 0, 0, 27, HYPER_THREADING_PROC, 27, -1}, {55, 0, 0, 27, MAIN_CORE_PROC, 27, -1}, + {56, 0, 0, 28, HYPER_THREADING_PROC, 28, -1}, {57, 0, 0, 28, MAIN_CORE_PROC, 28, -1}, + {58, 0, 0, 29, HYPER_THREADING_PROC, 29, -1}, {59, 0, 0, 29, MAIN_CORE_PROC, 29, -1}, + {60, 0, 0, 30, HYPER_THREADING_PROC, 30, -1}, {61, 0, 0, 30, MAIN_CORE_PROC, 30, -1}, + {62, 0, 0, 31, HYPER_THREADING_PROC, 31, -1}, {63, 0, 0, 31, MAIN_CORE_PROC, 31, -1}, + {64, 0, 0, 32, HYPER_THREADING_PROC, 32, -1}, {65, 0, 0, 32, MAIN_CORE_PROC, 32, -1}, + {66, 0, 0, 33, HYPER_THREADING_PROC, 33, -1}, {67, 0, 0, 33, MAIN_CORE_PROC, 33, -1}, + {68, 0, 0, 34, HYPER_THREADING_PROC, 34, -1}, {69, 0, 0, 34, MAIN_CORE_PROC, 34, -1}, + {70, 0, 0, 35, HYPER_THREADING_PROC, 35, -1}, {71, 0, 0, 35, MAIN_CORE_PROC, 35, -1}, + {72, 0, 0, 36, HYPER_THREADING_PROC, 36, -1}, {73, 0, 0, 36, MAIN_CORE_PROC, 36, -1}, + {74, 0, 0, 37, HYPER_THREADING_PROC, 37, -1}, {75, 0, 0, 37, MAIN_CORE_PROC, 37, -1}, + {76, 0, 0, 38, HYPER_THREADING_PROC, 38, -1}, {77, 0, 0, 38, MAIN_CORE_PROC, 38, -1}, + {78, 0, 0, 39, HYPER_THREADING_PROC, 39, -1}, {79, 0, 0, 39, MAIN_CORE_PROC, 39, -1}, + {80, 0, 0, 40, HYPER_THREADING_PROC, 40, -1}, {81, 0, 0, 40, MAIN_CORE_PROC, 40, -1}, + {82, 0, 0, 41, HYPER_THREADING_PROC, 41, -1}, {83, 0, 0, 41, MAIN_CORE_PROC, 41, -1}, + {84, 0, 0, 42, HYPER_THREADING_PROC, 42, -1}, {85, 0, 0, 42, MAIN_CORE_PROC, 42, -1}, + {86, 0, 0, 43, HYPER_THREADING_PROC, 43, -1}, {87, 0, 0, 43, MAIN_CORE_PROC, 43, -1}, + {88, 0, 0, 44, HYPER_THREADING_PROC, 44, -1}, {89, 0, 0, 44, MAIN_CORE_PROC, 44, -1}, + {90, 0, 0, 45, HYPER_THREADING_PROC, 45, -1}, {91, 0, 0, 45, MAIN_CORE_PROC, 45, -1}, + {92, 0, 0, 46, HYPER_THREADING_PROC, 46, -1}, {93, 0, 0, 46, MAIN_CORE_PROC, 46, -1}, + {94, 0, 0, 47, HYPER_THREADING_PROC, 47, -1}, {95, 0, 0, 47, MAIN_CORE_PROC, 47, -1}, + {96, 0, 0, 48, HYPER_THREADING_PROC, 48, -1}, {97, 0, 0, 48, MAIN_CORE_PROC, 48, -1}, + {98, 0, 0, 49, HYPER_THREADING_PROC, 49, -1}, {99, 0, 0, 49, MAIN_CORE_PROC, 49, -1}, + {100, 0, 0, 50, HYPER_THREADING_PROC, 50, -1}, {101, 0, 0, 50, MAIN_CORE_PROC, 50, -1}, + {102, 0, 0, 51, HYPER_THREADING_PROC, 51, -1}, {103, 0, 0, 51, MAIN_CORE_PROC, 51, -1}, + {104, 1, 1, 52, HYPER_THREADING_PROC, 52, -1}, {105, 1, 1, 52, MAIN_CORE_PROC, 52, -1}, + {106, 1, 1, 53, HYPER_THREADING_PROC, 53, -1}, {107, 1, 1, 53, MAIN_CORE_PROC, 53, -1}, + {108, 1, 1, 54, HYPER_THREADING_PROC, 54, -1}, {109, 1, 1, 54, MAIN_CORE_PROC, 54, -1}, + {110, 1, 1, 55, HYPER_THREADING_PROC, 55, -1}, {111, 1, 1, 55, MAIN_CORE_PROC, 55, -1}, + {112, 1, 1, 56, HYPER_THREADING_PROC, 56, -1}, {113, 1, 1, 56, MAIN_CORE_PROC, 56, -1}, + {114, 1, 1, 57, HYPER_THREADING_PROC, 57, -1}, {115, 1, 1, 57, MAIN_CORE_PROC, 57, -1}, + {116, 1, 1, 58, HYPER_THREADING_PROC, 58, -1}, {117, 1, 1, 58, MAIN_CORE_PROC, 58, -1}, + {118, 1, 1, 59, HYPER_THREADING_PROC, 59, -1}, {119, 1, 1, 59, MAIN_CORE_PROC, 59, -1}, + {120, 1, 1, 60, HYPER_THREADING_PROC, 60, -1}, {121, 1, 1, 60, MAIN_CORE_PROC, 60, -1}, + {122, 1, 1, 61, HYPER_THREADING_PROC, 61, -1}, {123, 1, 1, 61, MAIN_CORE_PROC, 61, -1}, + {124, 1, 1, 62, HYPER_THREADING_PROC, 62, -1}, {125, 1, 1, 62, MAIN_CORE_PROC, 62, -1}, + {126, 1, 1, 63, HYPER_THREADING_PROC, 63, -1}, {127, 1, 1, 63, MAIN_CORE_PROC, 63, -1}, + {128, 1, 1, 64, HYPER_THREADING_PROC, 64, -1}, {129, 1, 1, 64, MAIN_CORE_PROC, 64, -1}, + {130, 1, 1, 65, HYPER_THREADING_PROC, 65, -1}, {131, 1, 1, 65, MAIN_CORE_PROC, 65, -1}, + {132, 1, 1, 66, HYPER_THREADING_PROC, 66, -1}, {133, 1, 1, 66, MAIN_CORE_PROC, 66, -1}, + {134, 1, 1, 67, HYPER_THREADING_PROC, 67, -1}, {135, 1, 1, 67, MAIN_CORE_PROC, 67, -1}, + {136, 1, 1, 68, HYPER_THREADING_PROC, 68, -1}, {137, 1, 1, 68, MAIN_CORE_PROC, 68, -1}, + {138, 1, 1, 69, HYPER_THREADING_PROC, 69, -1}, {139, 1, 1, 69, MAIN_CORE_PROC, 69, -1}, + {140, 1, 1, 70, HYPER_THREADING_PROC, 70, -1}, {141, 1, 1, 70, MAIN_CORE_PROC, 70, -1}, + {142, 1, 1, 71, HYPER_THREADING_PROC, 71, -1}, {143, 1, 1, 71, MAIN_CORE_PROC, 71, -1}, + {144, 1, 1, 72, HYPER_THREADING_PROC, 72, -1}, {145, 1, 1, 72, MAIN_CORE_PROC, 72, -1}, + {146, 1, 1, 73, HYPER_THREADING_PROC, 73, -1}, {147, 1, 1, 73, MAIN_CORE_PROC, 73, -1}, + {148, 1, 1, 74, HYPER_THREADING_PROC, 74, -1}, {149, 1, 1, 74, MAIN_CORE_PROC, 74, -1}, + {150, 1, 1, 75, HYPER_THREADING_PROC, 75, -1}, {151, 1, 1, 75, MAIN_CORE_PROC, 75, -1}, + {152, 1, 1, 76, HYPER_THREADING_PROC, 76, -1}, {153, 1, 1, 76, MAIN_CORE_PROC, 76, -1}, + {154, 1, 1, 77, HYPER_THREADING_PROC, 77, -1}, {155, 1, 1, 77, MAIN_CORE_PROC, 77, -1}, + {156, 1, 1, 78, HYPER_THREADING_PROC, 78, -1}, {157, 1, 1, 78, MAIN_CORE_PROC, 78, -1}, + {158, 1, 1, 79, HYPER_THREADING_PROC, 79, -1}, {159, 1, 1, 79, MAIN_CORE_PROC, 79, -1}, + {160, 1, 1, 80, HYPER_THREADING_PROC, 80, -1}, {161, 1, 1, 80, MAIN_CORE_PROC, 80, -1}, + {162, 1, 1, 81, HYPER_THREADING_PROC, 81, -1}, {163, 1, 1, 81, MAIN_CORE_PROC, 81, -1}, + {164, 1, 1, 82, HYPER_THREADING_PROC, 82, -1}, {165, 1, 1, 82, MAIN_CORE_PROC, 82, -1}, + {166, 1, 1, 83, HYPER_THREADING_PROC, 83, -1}, {167, 1, 1, 83, MAIN_CORE_PROC, 83, -1}, + {168, 1, 1, 84, HYPER_THREADING_PROC, 84, -1}, {169, 1, 1, 84, MAIN_CORE_PROC, 84, -1}, + {170, 1, 1, 85, HYPER_THREADING_PROC, 85, -1}, {171, 1, 1, 85, MAIN_CORE_PROC, 85, -1}, + {172, 1, 1, 86, HYPER_THREADING_PROC, 86, -1}, {173, 1, 1, 86, MAIN_CORE_PROC, 86, -1}, + {174, 1, 1, 87, HYPER_THREADING_PROC, 87, -1}, {175, 1, 1, 87, MAIN_CORE_PROC, 87, -1}, + {176, 1, 1, 88, HYPER_THREADING_PROC, 88, -1}, {177, 1, 1, 88, MAIN_CORE_PROC, 88, -1}, + {178, 1, 1, 89, HYPER_THREADING_PROC, 89, -1}, {179, 1, 1, 89, MAIN_CORE_PROC, 89, -1}, + {180, 1, 1, 90, HYPER_THREADING_PROC, 90, -1}, {181, 1, 1, 90, MAIN_CORE_PROC, 90, -1}, + {182, 1, 1, 91, HYPER_THREADING_PROC, 91, -1}, {183, 1, 1, 91, MAIN_CORE_PROC, 91, -1}, + {184, 1, 1, 92, HYPER_THREADING_PROC, 92, -1}, {185, 1, 1, 92, MAIN_CORE_PROC, 92, -1}, + {186, 1, 1, 93, HYPER_THREADING_PROC, 93, -1}, {187, 1, 1, 93, MAIN_CORE_PROC, 93, -1}, + {188, 1, 1, 94, HYPER_THREADING_PROC, 94, -1}, {189, 1, 1, 94, MAIN_CORE_PROC, 94, -1}, + {190, 1, 1, 95, HYPER_THREADING_PROC, 95, -1}, {191, 1, 1, 95, MAIN_CORE_PROC, 95, -1}, + {192, 1, 1, 96, HYPER_THREADING_PROC, 96, -1}, {193, 1, 1, 96, MAIN_CORE_PROC, 96, -1}, + {194, 1, 1, 97, HYPER_THREADING_PROC, 97, -1}, {195, 1, 1, 97, MAIN_CORE_PROC, 97, -1}, + {196, 1, 1, 98, HYPER_THREADING_PROC, 98, -1}, {197, 1, 1, 98, MAIN_CORE_PROC, 98, -1}, + {198, 1, 1, 99, HYPER_THREADING_PROC, 99, -1}, {199, 1, 1, 99, MAIN_CORE_PROC, 99, -1}, + {200, 1, 1, 100, HYPER_THREADING_PROC, 100, -1}, {201, 1, 1, 100, MAIN_CORE_PROC, 100, -1}, + {202, 1, 1, 101, HYPER_THREADING_PROC, 101, -1}, {203, 1, 1, 101, MAIN_CORE_PROC, 101, -1}, + {204, 1, 1, 102, HYPER_THREADING_PROC, 102, -1}, {205, 1, 1, 102, MAIN_CORE_PROC, 102, -1}, + {206, 1, 1, 103, HYPER_THREADING_PROC, 103, -1}, {207, 1, 1, 103, MAIN_CORE_PROC, 103, -1}, + }, // param[expected out]: The cpu_mapping_table of this simulated platform {"0300000040000000000000000000000000000000000000000000000000000200ffffffffffffffff0000000000000000ffffffffff0000000" "10000000000000000000000300000000100000000000000000000000000000000000000000001000300000000000000000000000000000007" "00000030000000000000000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010" @@ -1969,63 +689,64 @@ WinCpuMapTestCase _2sockets_104cores_hyperthreading = { "0000000000000000000000000000000000ffffffffffffffff282800000000000000000000000000000000000000000000000000000000000" "00000000000000000ffffffffff00000040400000000000000000000000000000000000000000000000000000000000000000000000000000" "ffffffffffffffff28280000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffff00000" - "0"}, + "0"}, // param[in]: The CPU information string of this simulated platform }; WinCpuMapTestCase _2sockets_48cores_hyperthreading = { 96, 2, + 2, 48, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 8, MAIN_CORE_PROC, 8, -1}, - {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 9, MAIN_CORE_PROC, 9, -1}, - {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 10, MAIN_CORE_PROC, 10, -1}, - {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 11, MAIN_CORE_PROC, 11, -1}, - {24, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 12, MAIN_CORE_PROC, 12, -1}, - {26, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 13, MAIN_CORE_PROC, 13, -1}, - {28, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 14, MAIN_CORE_PROC, 14, -1}, - {30, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 15, MAIN_CORE_PROC, 15, -1}, - {32, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 16, MAIN_CORE_PROC, 16, -1}, - {34, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 17, MAIN_CORE_PROC, 17, -1}, - {36, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 18, MAIN_CORE_PROC, 18, -1}, - {38, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 19, MAIN_CORE_PROC, 19, -1}, - {40, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 20, MAIN_CORE_PROC, 20, -1}, - {42, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 21, MAIN_CORE_PROC, 21, -1}, - {44, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 22, MAIN_CORE_PROC, 22, -1}, - {46, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 23, MAIN_CORE_PROC, 23, -1}, - {48, 1, 24, HYPER_THREADING_PROC, 24, -1}, {49, 1, 24, MAIN_CORE_PROC, 24, -1}, - {50, 1, 25, HYPER_THREADING_PROC, 25, -1}, {51, 1, 25, MAIN_CORE_PROC, 25, -1}, - {52, 1, 26, HYPER_THREADING_PROC, 26, -1}, {53, 1, 26, MAIN_CORE_PROC, 26, -1}, - {54, 1, 27, HYPER_THREADING_PROC, 27, -1}, {55, 1, 27, MAIN_CORE_PROC, 27, -1}, - {56, 1, 28, HYPER_THREADING_PROC, 28, -1}, {57, 1, 28, MAIN_CORE_PROC, 28, -1}, - {58, 1, 29, HYPER_THREADING_PROC, 29, -1}, {59, 1, 29, MAIN_CORE_PROC, 29, -1}, - {60, 1, 30, HYPER_THREADING_PROC, 30, -1}, {61, 1, 30, MAIN_CORE_PROC, 30, -1}, - {62, 1, 31, HYPER_THREADING_PROC, 31, -1}, {63, 1, 31, MAIN_CORE_PROC, 31, -1}, - {64, 1, 32, HYPER_THREADING_PROC, 32, -1}, {65, 1, 32, MAIN_CORE_PROC, 32, -1}, - {66, 1, 33, HYPER_THREADING_PROC, 33, -1}, {67, 1, 33, MAIN_CORE_PROC, 33, -1}, - {68, 1, 34, HYPER_THREADING_PROC, 34, -1}, {69, 1, 34, MAIN_CORE_PROC, 34, -1}, - {70, 1, 35, HYPER_THREADING_PROC, 35, -1}, {71, 1, 35, MAIN_CORE_PROC, 35, -1}, - {72, 1, 36, HYPER_THREADING_PROC, 36, -1}, {73, 1, 36, MAIN_CORE_PROC, 36, -1}, - {74, 1, 37, HYPER_THREADING_PROC, 37, -1}, {75, 1, 37, MAIN_CORE_PROC, 37, -1}, - {76, 1, 38, HYPER_THREADING_PROC, 38, -1}, {77, 1, 38, MAIN_CORE_PROC, 38, -1}, - {78, 1, 39, HYPER_THREADING_PROC, 39, -1}, {79, 1, 39, MAIN_CORE_PROC, 39, -1}, - {80, 1, 40, HYPER_THREADING_PROC, 40, -1}, {81, 1, 40, MAIN_CORE_PROC, 40, -1}, - {82, 1, 41, HYPER_THREADING_PROC, 41, -1}, {83, 1, 41, MAIN_CORE_PROC, 41, -1}, - {84, 1, 42, HYPER_THREADING_PROC, 42, -1}, {85, 1, 42, MAIN_CORE_PROC, 42, -1}, - {86, 1, 43, HYPER_THREADING_PROC, 43, -1}, {87, 1, 43, MAIN_CORE_PROC, 43, -1}, - {88, 1, 44, HYPER_THREADING_PROC, 44, -1}, {89, 1, 44, MAIN_CORE_PROC, 44, -1}, - {90, 1, 45, HYPER_THREADING_PROC, 45, -1}, {91, 1, 45, MAIN_CORE_PROC, 45, -1}, - {92, 1, 46, HYPER_THREADING_PROC, 46, -1}, {93, 1, 46, MAIN_CORE_PROC, 46, -1}, - {94, 1, 47, HYPER_THREADING_PROC, 47, -1}, {95, 1, 47, MAIN_CORE_PROC, 47, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, + {18, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {20, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, + {22, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {24, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {36, 0, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, + {38, 0, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {40, 0, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, + {42, 0, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {44, 0, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, + {46, 0, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {48, 1, 1, 24, HYPER_THREADING_PROC, 24, -1}, {49, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, + {50, 1, 1, 25, HYPER_THREADING_PROC, 25, -1}, {51, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {52, 1, 1, 26, HYPER_THREADING_PROC, 26, -1}, {53, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, + {54, 1, 1, 27, HYPER_THREADING_PROC, 27, -1}, {55, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {56, 1, 1, 28, HYPER_THREADING_PROC, 28, -1}, {57, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, + {58, 1, 1, 29, HYPER_THREADING_PROC, 29, -1}, {59, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {60, 1, 1, 30, HYPER_THREADING_PROC, 30, -1}, {61, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, + {62, 1, 1, 31, HYPER_THREADING_PROC, 31, -1}, {63, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {64, 1, 1, 32, HYPER_THREADING_PROC, 32, -1}, {65, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, + {66, 1, 1, 33, HYPER_THREADING_PROC, 33, -1}, {67, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {68, 1, 1, 34, HYPER_THREADING_PROC, 34, -1}, {69, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, + {70, 1, 1, 35, HYPER_THREADING_PROC, 35, -1}, {71, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {72, 1, 1, 36, HYPER_THREADING_PROC, 36, -1}, {73, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, + {74, 1, 1, 37, HYPER_THREADING_PROC, 37, -1}, {75, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {76, 1, 1, 38, HYPER_THREADING_PROC, 38, -1}, {77, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, + {78, 1, 1, 39, HYPER_THREADING_PROC, 39, -1}, {79, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {80, 1, 1, 40, HYPER_THREADING_PROC, 40, -1}, {81, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, + {82, 1, 1, 41, HYPER_THREADING_PROC, 41, -1}, {83, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {84, 1, 1, 42, HYPER_THREADING_PROC, 42, -1}, {85, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, + {86, 1, 1, 43, HYPER_THREADING_PROC, 43, -1}, {87, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {88, 1, 1, 44, HYPER_THREADING_PROC, 44, -1}, {89, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, + {90, 1, 1, 45, HYPER_THREADING_PROC, 45, -1}, {91, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {92, 1, 1, 46, HYPER_THREADING_PROC, 46, -1}, {93, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, + {94, 1, 1, 47, HYPER_THREADING_PROC, 47, -1}, {95, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffffffffffff0000000000000000000000000000300000000" "10000000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -2264,45 +985,46 @@ WinCpuMapTestCase _2sockets_48cores_hyperthreading = { WinCpuMapTestCase _2sockets_36cores_hyperthreading = { 72, 2, + 2, 36, - {{72, 36, 0, 36}, {36, 18, 0, 18}, {36, 18, 0, 18}}, + {{72, 36, 0, 36, -1, -1}, {36, 18, 0, 18, 0, 0}, {36, 18, 0, 18, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 8, MAIN_CORE_PROC, 8, -1}, - {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 9, MAIN_CORE_PROC, 9, -1}, - {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 10, MAIN_CORE_PROC, 10, -1}, - {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 11, MAIN_CORE_PROC, 11, -1}, - {24, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 12, MAIN_CORE_PROC, 12, -1}, - {26, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 13, MAIN_CORE_PROC, 13, -1}, - {28, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 14, MAIN_CORE_PROC, 14, -1}, - {30, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 15, MAIN_CORE_PROC, 15, -1}, - {32, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 16, MAIN_CORE_PROC, 16, -1}, - {34, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 17, MAIN_CORE_PROC, 17, -1}, - {36, 1, 18, HYPER_THREADING_PROC, 18, -1}, {37, 1, 18, MAIN_CORE_PROC, 18, -1}, - {38, 1, 19, HYPER_THREADING_PROC, 19, -1}, {39, 1, 19, MAIN_CORE_PROC, 19, -1}, - {40, 1, 20, HYPER_THREADING_PROC, 20, -1}, {41, 1, 20, MAIN_CORE_PROC, 20, -1}, - {42, 1, 21, HYPER_THREADING_PROC, 21, -1}, {43, 1, 21, MAIN_CORE_PROC, 21, -1}, - {44, 1, 22, HYPER_THREADING_PROC, 22, -1}, {45, 1, 22, MAIN_CORE_PROC, 22, -1}, - {46, 1, 23, HYPER_THREADING_PROC, 23, -1}, {47, 1, 23, MAIN_CORE_PROC, 23, -1}, - {48, 1, 24, HYPER_THREADING_PROC, 24, -1}, {49, 1, 24, MAIN_CORE_PROC, 24, -1}, - {50, 1, 25, HYPER_THREADING_PROC, 25, -1}, {51, 1, 25, MAIN_CORE_PROC, 25, -1}, - {52, 1, 26, HYPER_THREADING_PROC, 26, -1}, {53, 1, 26, MAIN_CORE_PROC, 26, -1}, - {54, 1, 27, HYPER_THREADING_PROC, 27, -1}, {55, 1, 27, MAIN_CORE_PROC, 27, -1}, - {56, 1, 28, HYPER_THREADING_PROC, 28, -1}, {57, 1, 28, MAIN_CORE_PROC, 28, -1}, - {58, 1, 29, HYPER_THREADING_PROC, 29, -1}, {59, 1, 29, MAIN_CORE_PROC, 29, -1}, - {60, 1, 30, HYPER_THREADING_PROC, 30, -1}, {61, 1, 30, MAIN_CORE_PROC, 30, -1}, - {62, 1, 31, HYPER_THREADING_PROC, 31, -1}, {63, 1, 31, MAIN_CORE_PROC, 31, -1}, - {64, 1, 32, HYPER_THREADING_PROC, 32, -1}, {65, 1, 32, MAIN_CORE_PROC, 32, -1}, - {66, 1, 33, HYPER_THREADING_PROC, 33, -1}, {67, 1, 33, MAIN_CORE_PROC, 33, -1}, - {68, 1, 34, HYPER_THREADING_PROC, 34, -1}, {69, 1, 34, MAIN_CORE_PROC, 34, -1}, - {70, 1, 35, HYPER_THREADING_PROC, 35, -1}, {71, 1, 35, MAIN_CORE_PROC, 35, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, + {18, 0, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {20, 0, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, + {22, 0, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {24, 0, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {36, 1, 1, 18, HYPER_THREADING_PROC, 18, -1}, {37, 1, 1, 18, MAIN_CORE_PROC, 18, -1}, + {38, 1, 1, 19, HYPER_THREADING_PROC, 19, -1}, {39, 1, 1, 19, MAIN_CORE_PROC, 19, -1}, + {40, 1, 1, 20, HYPER_THREADING_PROC, 20, -1}, {41, 1, 1, 20, MAIN_CORE_PROC, 20, -1}, + {42, 1, 1, 21, HYPER_THREADING_PROC, 21, -1}, {43, 1, 1, 21, MAIN_CORE_PROC, 21, -1}, + {44, 1, 1, 22, HYPER_THREADING_PROC, 22, -1}, {45, 1, 1, 22, MAIN_CORE_PROC, 22, -1}, + {46, 1, 1, 23, HYPER_THREADING_PROC, 23, -1}, {47, 1, 1, 23, MAIN_CORE_PROC, 23, -1}, + {48, 1, 1, 24, HYPER_THREADING_PROC, 24, -1}, {49, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, + {50, 1, 1, 25, HYPER_THREADING_PROC, 25, -1}, {51, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {52, 1, 1, 26, HYPER_THREADING_PROC, 26, -1}, {53, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, + {54, 1, 1, 27, HYPER_THREADING_PROC, 27, -1}, {55, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {56, 1, 1, 28, HYPER_THREADING_PROC, 28, -1}, {57, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, + {58, 1, 1, 29, HYPER_THREADING_PROC, 29, -1}, {59, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {60, 1, 1, 30, HYPER_THREADING_PROC, 30, -1}, {61, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, + {62, 1, 1, 31, HYPER_THREADING_PROC, 31, -1}, {63, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {64, 1, 1, 32, HYPER_THREADING_PROC, 32, -1}, {65, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, + {66, 1, 1, 33, HYPER_THREADING_PROC, 33, -1}, {67, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {68, 1, 1, 34, HYPER_THREADING_PROC, 34, -1}, {69, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, + {70, 1, 1, 35, HYPER_THREADING_PROC, 35, -1}, {71, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffffffff0f000000000000000000000000000000300000000" "10000000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c0000002" @@ -2455,25 +1177,34 @@ WinCpuMapTestCase _2sockets_36cores_hyperthreading = { WinCpuMapTestCase _2sockets_48cores = { 48, 2, + 2, 48, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, {1, 0, 1, MAIN_CORE_PROC, 1, -1}, {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {3, 0, 3, MAIN_CORE_PROC, 3, -1}, {4, 0, 4, MAIN_CORE_PROC, 4, -1}, {5, 0, 5, MAIN_CORE_PROC, 5, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 7, MAIN_CORE_PROC, 7, -1}, {8, 0, 8, MAIN_CORE_PROC, 8, -1}, - {9, 0, 9, MAIN_CORE_PROC, 9, -1}, {10, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 11, MAIN_CORE_PROC, 11, -1}, - {12, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 13, MAIN_CORE_PROC, 13, -1}, {14, 0, 14, MAIN_CORE_PROC, 14, -1}, - {15, 0, 15, MAIN_CORE_PROC, 15, -1}, {16, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 17, MAIN_CORE_PROC, 17, -1}, - {18, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 19, MAIN_CORE_PROC, 19, -1}, {20, 0, 20, MAIN_CORE_PROC, 20, -1}, - {21, 0, 21, MAIN_CORE_PROC, 21, -1}, {22, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 23, MAIN_CORE_PROC, 23, -1}, - {24, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 25, MAIN_CORE_PROC, 25, -1}, {26, 1, 26, MAIN_CORE_PROC, 26, -1}, - {27, 1, 27, MAIN_CORE_PROC, 27, -1}, {28, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 29, MAIN_CORE_PROC, 29, -1}, - {30, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 31, MAIN_CORE_PROC, 31, -1}, {32, 1, 32, MAIN_CORE_PROC, 32, -1}, - {33, 1, 33, MAIN_CORE_PROC, 33, -1}, {34, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 35, MAIN_CORE_PROC, 35, -1}, - {36, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 37, MAIN_CORE_PROC, 37, -1}, {38, 1, 38, MAIN_CORE_PROC, 38, -1}, - {39, 1, 39, MAIN_CORE_PROC, 39, -1}, {40, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 41, MAIN_CORE_PROC, 41, -1}, - {42, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 43, MAIN_CORE_PROC, 43, -1}, {44, 1, 44, MAIN_CORE_PROC, 44, -1}, - {45, 1, 45, MAIN_CORE_PROC, 45, -1}, {46, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 47, MAIN_CORE_PROC, 47, -1}, + {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, MAIN_CORE_PROC, 4, -1}, {5, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {8, 0, 0, 8, MAIN_CORE_PROC, 8, -1}, {9, 0, 0, 9, MAIN_CORE_PROC, 9, -1}, + {10, 0, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 0, 11, MAIN_CORE_PROC, 11, -1}, + {12, 0, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 0, 13, MAIN_CORE_PROC, 13, -1}, + {14, 0, 0, 14, MAIN_CORE_PROC, 14, -1}, {15, 0, 0, 15, MAIN_CORE_PROC, 15, -1}, + {16, 0, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 0, 17, MAIN_CORE_PROC, 17, -1}, + {18, 0, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 0, 19, MAIN_CORE_PROC, 19, -1}, + {20, 0, 0, 20, MAIN_CORE_PROC, 20, -1}, {21, 0, 0, 21, MAIN_CORE_PROC, 21, -1}, + {22, 0, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 0, 23, MAIN_CORE_PROC, 23, -1}, + {24, 1, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 1, 25, MAIN_CORE_PROC, 25, -1}, + {26, 1, 1, 26, MAIN_CORE_PROC, 26, -1}, {27, 1, 1, 27, MAIN_CORE_PROC, 27, -1}, + {28, 1, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 1, 29, MAIN_CORE_PROC, 29, -1}, + {30, 1, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 1, 31, MAIN_CORE_PROC, 31, -1}, + {32, 1, 1, 32, MAIN_CORE_PROC, 32, -1}, {33, 1, 1, 33, MAIN_CORE_PROC, 33, -1}, + {34, 1, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 1, 35, MAIN_CORE_PROC, 35, -1}, + {36, 1, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 1, 37, MAIN_CORE_PROC, 37, -1}, + {38, 1, 1, 38, MAIN_CORE_PROC, 38, -1}, {39, 1, 1, 39, MAIN_CORE_PROC, 39, -1}, + {40, 1, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 1, 41, MAIN_CORE_PROC, 41, -1}, + {42, 1, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 1, 43, MAIN_CORE_PROC, 43, -1}, + {44, 1, 1, 44, MAIN_CORE_PROC, 44, -1}, {45, 1, 1, 45, MAIN_CORE_PROC, 45, -1}, + {46, 1, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 1, 47, MAIN_CORE_PROC, 47, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffffff0000000000000000000000000000000000300000000" "00000000000000000000000000000000000000000000100010000000000000000000000000000000700000030000000000000000000000000" @@ -2712,25 +1443,26 @@ WinCpuMapTestCase _2sockets_48cores = { WinCpuMapTestCase _1sockets_24cores_hyperthreading_set1 = { 32, 1, + 1, 24, - {{32, 8, 16, 8}}, + {{32, 8, 16, 8, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, - {20, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, - {22, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, - {24, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, - {26, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, - {28, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, - {30, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, + {20, 0, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, + {22, 0, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, + {24, 0, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, + {26, 0, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, + {28, 0, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, + {30, 0, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffffffff00000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c0000002" @@ -2821,25 +1553,26 @@ WinCpuMapTestCase _1sockets_24cores_hyperthreading_set1 = { WinCpuMapTestCase _1sockets_24cores_hyperthreading_set2 = { 32, 1, + 1, 24, - {{32, 8, 16, 8}}, + {{32, 8, 16, 8, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, - {20, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, - {22, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, - {24, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, - {26, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, - {28, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, - {30, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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, HYPER_THREADING_PROC, 6, -1}, {13, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, + {20, 0, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, + {22, 0, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, + {24, 0, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, + {26, 0, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, + {28, 0, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, + {30, 0, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffffffff00000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -2941,20 +1674,21 @@ WinCpuMapTestCase _1sockets_24cores_hyperthreading_set2 = { WinCpuMapTestCase _1sockets_22cores_hyperthreading = { 22, 1, + 1, 16, - {{22, 6, 10, 6}}, + {{22, 6, 10, 6, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, - {4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, - {6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, - {8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, - {10, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 9, MAIN_CORE_PROC, 3, -1}, - {12, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 10, MAIN_CORE_PROC, 4, -1}, - {14, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 11, MAIN_CORE_PROC, 5, -1}, - {16, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 12, MAIN_CORE_PROC, 6, -1}, - {18, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 13, MAIN_CORE_PROC, 7, -1}, - {20, 0, 14, EFFICIENT_CORE_PROC, 8, -1}, {21, 0, 15, EFFICIENT_CORE_PROC, 8, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, + {4, 0, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, + {6, 0, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, + {10, 0, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 0, 9, MAIN_CORE_PROC, 3, -1}, + {12, 0, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 0, 10, MAIN_CORE_PROC, 4, -1}, + {14, 0, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 0, 11, MAIN_CORE_PROC, 5, -1}, + {16, 0, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 0, 12, MAIN_CORE_PROC, 6, -1}, + {18, 0, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 0, 13, MAIN_CORE_PROC, 7, -1}, + {20, 0, 0, 14, EFFICIENT_CORE_PROC, 8, -1}, {21, 0, 0, 15, EFFICIENT_CORE_PROC, 8, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffff3f0000000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -3027,19 +1761,20 @@ WinCpuMapTestCase _1sockets_22cores_hyperthreading = { WinCpuMapTestCase _1sockets_14cores_hyperthreading_set1 = { 20, 1, + 1, 14, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, - {14, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, - {16, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, - {18, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c0000002" @@ -3098,19 +1833,20 @@ WinCpuMapTestCase _1sockets_14cores_hyperthreading_set1 = { WinCpuMapTestCase _1sockets_14cores_hyperthreading_set2 = { 20, 1, + 1, 14, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, - {4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, - {6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, - {8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, - {10, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 9, MAIN_CORE_PROC, 3, -1}, - {12, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 10, MAIN_CORE_PROC, 4, -1}, - {14, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 11, MAIN_CORE_PROC, 5, -1}, - {16, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 12, MAIN_CORE_PROC, 6, -1}, - {18, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 13, MAIN_CORE_PROC, 7, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, + {4, 0, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, + {6, 0, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, + {10, 0, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 0, 9, MAIN_CORE_PROC, 3, -1}, + {12, 0, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 0, 10, MAIN_CORE_PROC, 4, -1}, + {14, 0, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 0, 11, MAIN_CORE_PROC, 5, -1}, + {16, 0, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 0, 12, MAIN_CORE_PROC, 6, -1}, + {18, 0, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 0, 13, MAIN_CORE_PROC, 7, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -3176,19 +1912,20 @@ WinCpuMapTestCase _1sockets_14cores_hyperthreading_set2 = { WinCpuMapTestCase _1sockets_14cores_hyperthreading_set3 = { 20, 1, + 1, 14, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, - {14, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, - {16, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, - {18, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 0, 2, MAIN_CORE_PROC, 2, -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}, }, {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -3254,21 +1991,22 @@ WinCpuMapTestCase _1sockets_14cores_hyperthreading_set3 = { WinCpuMapTestCase _1sockets_10cores_hyperthreading = { 12, 1, + 1, 10, - {{12, 2, 8, 2}}, + {{12, 2, 8, 2, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, - {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, - {4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, - {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, - {6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, - {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, - {8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, - {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, - {10, 0, 9, HYPER_THREADING_PROC, 3, -1}, - {11, 0, 9, MAIN_CORE_PROC, 3, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, + {3, 0, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, + {4, 0, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, + {5, 0, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, + {6, 0, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, + {7, 0, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, + {9, 0, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, + {10, 0, 0, 9, HYPER_THREADING_PROC, 3, -1}, + {11, 0, 0, 9, MAIN_CORE_PROC, 3, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ff0f000000000000000000000000000000000000300000000" "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" @@ -3315,17 +2053,18 @@ WinCpuMapTestCase _1sockets_10cores_hyperthreading = { WinCpuMapTestCase _1sockets_4cores_hyperthreading = { 8, 1, + 1, 4, - {{8, 4, 0, 4}}, + {{8, 4, 0, 4, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, }, {"0300000030000000000000000000000000000000000000000000000000000100ff00000000000000000000000000000000000000300000000" "10000000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010840000080000002" @@ -3349,7 +2088,7 @@ WinCpuMapTestCase _1sockets_4cores_hyperthreading = { "00000000000000000000000000000ff00000000000000"}, }; -TEST_P(WinCpuMapParserTests, WinCpuMap) {} +TEST_P(WinCpuMapParserTests, WinCache) {} INSTANTIATE_TEST_SUITE_P(CPUMap, WinCpuMapParserTests, diff --git a/src/inference/tests/unit/cpu_map_parser/valid_proc_check.cpp b/src/inference/tests/unit/cpu_map_parser/valid_proc_check.cpp index 89e57124cb2..7ffe8b08f3b 100644 --- a/src/inference/tests/unit/cpu_map_parser/valid_proc_check.cpp +++ b/src/inference/tests/unit/cpu_map_parser/valid_proc_check.cpp @@ -7,7 +7,7 @@ #include #include "ie_system_conf.h" -#include "streams_executor.hpp" +#include "os/cpu_map_info.hpp" using namespace testing; using namespace ov; @@ -53,366 +53,366 @@ public: LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_1 = { {}, // param[in]: The logical processors selected in this simulation case does not include the physical core of // Pcore - {{40, 20, 0, 20}, - {20, 10, 0, 10}, - {20, 10, 0, 10}}, // param[in]: The proc_type_table of simulated platform which is 2 sockets, 20 Pcores - // and 40 logical processors with hyper-threading enabled. + {{40, 20, 0, 20, -1, -1}, + {20, 10, 0, 10, 0, 0}, + {20, 10, 0, 10, 1, 1}}, // param[in]: The proc_type_table of simulated platform which is 2 sockets, 20 Pcores + // and 40 logical processors with hyper-threading enabled. { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, }, // param[in]: This simulation case select logcial processor 0, 2, 4 and 6 which is marked as logcial core of // Pcore in original cpu_mapping_table. 1, // param[expected out]: Since all selected logical processors are in one socket, the number of sockets changes // to 1. 4, // param[expected out]: Since only 4 logical processors are selected, the number of cores changes to 4. - {{4, 4, 0, 0}}, // param[expected out]: The proc_type_table changes to 4 Pcores only + {{4, 4, 0, 0, 0, 0}}, // param[expected out]: The proc_type_table changes to 4 Pcores only { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {4, 0, 4, MAIN_CORE_PROC, 4, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, + {0, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {4, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, }, // param[expected out]: cpu_mapping_table changes to physical core of Pcore. }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_2 = { {1, 3, 5, 7}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {27, 0, 7, MAIN_CORE_PROC, 7, -1}, + {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, }, 1, 4, - {{4, 4, 0, 0}}, + {{4, 4, 0, 0, 0, 0}}, { - {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {27, 0, 7, MAIN_CORE_PROC, 7, -1}, + {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_3 = { {1, 3, 5, 7}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {27, 0, 7, MAIN_CORE_PROC, 7, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, }, 1, 8, - {{8, 8, 0, 0}}, + {{8, 8, 0, 0, 0, 0}}, { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {4, 0, 4, MAIN_CORE_PROC, 4, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, - {21, 0, 1, MAIN_CORE_PROC, 1, -1}, - {23, 0, 3, MAIN_CORE_PROC, 3, -1}, - {25, 0, 5, MAIN_CORE_PROC, 5, -1}, - {27, 0, 7, MAIN_CORE_PROC, 7, -1}, + {0, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {4, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {21, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {23, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {25, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {27, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_4 = { {0, 2, 4, 6}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, }, 1, 4, - {{8, 4, 0, 4}}, + {{8, 4, 0, 4, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_5 = { {}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, }, 2, 8, - {{8, 8, 0, 0}, {4, 4, 0, 0}, {4, 4, 0, 0}}, + {{8, 8, 0, 0, -1, -1}, {4, 4, 0, 0, 0, 0}, {4, 4, 0, 0, 1, 1}}, { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {4, 0, 4, MAIN_CORE_PROC, 4, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, - {10, 1, 10, MAIN_CORE_PROC, 10, -1}, - {12, 1, 12, MAIN_CORE_PROC, 12, -1}, - {14, 1, 14, MAIN_CORE_PROC, 14, -1}, - {16, 1, 16, MAIN_CORE_PROC, 16, -1}, + {0, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {4, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {10, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {12, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {14, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {16, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_6 = { {0, 2, 4, 6, 10, 12, 14, 16}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, }, 2, 8, - {{8, 8, 0, 0}, {4, 4, 0, 0}, {4, 4, 0, 0}}, + {{8, 8, 0, 0, -1, -1}, {4, 4, 0, 0, 0, 0}, {4, 4, 0, 0, 1, 1}}, { - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_7 = { {0, 2, 4, 6}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, }, 2, 8, - {{8, 8, 0, 0}, {4, 4, 0, 0}, {4, 4, 0, 0}}, + {{8, 8, 0, 0, -1, -1}, {4, 4, 0, 0, 0, 0}, {4, 4, 0, 0, 1, 1}}, { - {10, 1, 10, MAIN_CORE_PROC, 10, -1}, - {12, 1, 12, MAIN_CORE_PROC, 12, -1}, - {14, 1, 14, MAIN_CORE_PROC, 14, -1}, - {16, 1, 16, MAIN_CORE_PROC, 16, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, + {10, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {12, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {14, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {16, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, }, }; LinuxNumactlTestCase numactl_2sockets_20cores_hyperthreading_8 = { {0, 2, 4, 6, 10, 12, 14, 16}, - {{40, 20, 0, 20}, {20, 10, 0, 10}, {20, 10, 0, 10}}, + {{40, 20, 0, 20, -1, -1}, {20, 10, 0, 10, 0, 0}, {20, 10, 0, 10, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, }, 2, 8, - {{16, 8, 0, 8}, {8, 4, 0, 4}, {8, 4, 0, 4}}, + {{16, 8, 0, 8, -1, -1}, {8, 4, 0, 4, 0, 0}, {8, 4, 0, 4, 1, 1}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {10, 1, 10, HYPER_THREADING_PROC, 10, -1}, - {12, 1, 12, HYPER_THREADING_PROC, 12, -1}, - {14, 1, 14, HYPER_THREADING_PROC, 14, -1}, - {16, 1, 16, HYPER_THREADING_PROC, 16, -1}, - {20, 0, 0, MAIN_CORE_PROC, 0, -1}, - {22, 0, 2, MAIN_CORE_PROC, 2, -1}, - {24, 0, 4, MAIN_CORE_PROC, 4, -1}, - {26, 0, 6, MAIN_CORE_PROC, 6, -1}, - {30, 1, 10, MAIN_CORE_PROC, 10, -1}, - {32, 1, 12, MAIN_CORE_PROC, 12, -1}, - {34, 1, 14, MAIN_CORE_PROC, 14, -1}, - {36, 1, 16, MAIN_CORE_PROC, 16, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {10, 1, 1, 10, HYPER_THREADING_PROC, 10, -1}, + {12, 1, 1, 12, HYPER_THREADING_PROC, 12, -1}, + {14, 1, 1, 14, HYPER_THREADING_PROC, 14, -1}, + {16, 1, 1, 16, HYPER_THREADING_PROC, 16, -1}, + {20, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {22, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {24, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {26, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {30, 1, 1, 10, MAIN_CORE_PROC, 10, -1}, + {32, 1, 1, 12, MAIN_CORE_PROC, 12, -1}, + {34, 1, 1, 14, MAIN_CORE_PROC, 14, -1}, + {36, 1, 1, 16, MAIN_CORE_PROC, 16, -1}, }, }; LinuxNumactlTestCase numactl_1sockets_16cores_hyperthreading_1 = { {}, - {{24, 8, 8, 8}}, + {{24, 8, 8, 8, 0, 0}}, { - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, 1, 4, - {{4, 0, 4, 0}}, + {{4, 0, 4, 0, 0, 0}}, { - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, }; LinuxNumactlTestCase numactl_1sockets_16cores_hyperthreading_2 = { {}, - {{24, 8, 8, 8}}, + {{24, 8, 8, 8, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {2, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {4, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {6, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {2, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {4, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {6, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, 1, 8, - {{8, 4, 4, 0}}, + {{8, 4, 4, 0, 0, 0}}, { - {0, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 2, MAIN_CORE_PROC, 2, -1}, - {4, 0, 4, MAIN_CORE_PROC, 4, -1}, - {6, 0, 6, MAIN_CORE_PROC, 6, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {4, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {6, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, }; LinuxNumactlTestCase numactl_1sockets_16cores_hyperthreading_3 = { {0, 1, 2, 3}, - {{24, 8, 8, 8}}, + {{24, 8, 8, 8, 0, 0}}, { - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, 1, 8, - {{8, 4, 4, 0}}, + {{8, 4, 4, 0, 0, 0}}, { - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, }; LinuxNumactlTestCase numactl_1sockets_16cores_hyperthreading_4 = { {0, 1, 2, 3}, - {{24, 8, 8, 8}}, + {{24, 8, 8, 8, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, 1, 8, - {{12, 4, 4, 4}}, + {{12, 4, 4, 4, 0, 0}}, { - {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {0, 0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 0, 3, HYPER_THREADING_PROC, 3, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, }; LinuxNumactlTestCase numactl_1sockets_16cores_hyperthreading_5 = { {0, 1, 2, 3}, - {{24, 8, 8, 8}}, + {{24, 8, 8, 8, 0, 0}}, { - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, - {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, - {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, - {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 0, 4, HYPER_THREADING_PROC, 4, -1}, + {10, 0, 0, 5, HYPER_THREADING_PROC, 5, -1}, + {12, 0, 0, 6, HYPER_THREADING_PROC, 6, -1}, + {14, 0, 0, 7, HYPER_THREADING_PROC, 7, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, 1, 12, - {{12, 8, 4, 0}}, + {{12, 8, 4, 0, 0, 0}}, { - {1, 0, 0, MAIN_CORE_PROC, 0, -1}, - {3, 0, 1, MAIN_CORE_PROC, 1, -1}, - {5, 0, 2, MAIN_CORE_PROC, 2, -1}, - {7, 0, 3, MAIN_CORE_PROC, 3, -1}, - {8, 0, 4, MAIN_CORE_PROC, 4, -1}, - {10, 0, 5, MAIN_CORE_PROC, 5, -1}, - {12, 0, 6, MAIN_CORE_PROC, 6, -1}, - {14, 0, 7, MAIN_CORE_PROC, 7, -1}, - {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, - {17, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, - {18, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, - {19, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, + {1, 0, 0, 0, MAIN_CORE_PROC, 0, -1}, + {3, 0, 0, 1, MAIN_CORE_PROC, 1, -1}, + {5, 0, 0, 2, MAIN_CORE_PROC, 2, -1}, + {7, 0, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, + {17, 0, 0, 9, EFFICIENT_CORE_PROC, 9, -1}, + {18, 0, 0, 10, EFFICIENT_CORE_PROC, 10, -1}, + {19, 0, 0, 11, EFFICIENT_CORE_PROC, 11, -1}, }, }; diff --git a/src/plugins/intel_cpu/src/config.h b/src/plugins/intel_cpu/src/config.h index a027844d9fe..af7e52e8c41 100644 --- a/src/plugins/intel_cpu/src/config.h +++ b/src/plugins/intel_cpu/src/config.h @@ -19,7 +19,6 @@ namespace ov { namespace intel_cpu { - struct Config { Config(); @@ -40,6 +39,12 @@ struct Config { Disable, }; + enum class LatencyThreadingMode { + PER_NUMA_NODE, + PER_SOCKET, + PER_PLATFORM, + }; + bool collectPerfCounters = false; bool exclusiveAsyncRequests = false; SnippetsMode snippetsMode = SnippetsMode::Enable; @@ -59,6 +64,7 @@ struct Config { ov::hint::SchedulingCoreType schedulingCoreType = ov::hint::SchedulingCoreType::ANY_CORE; bool enableHyperThreading = true; bool changedHyperThreading = false; + Config::LatencyThreadingMode scopeOflatencyCandidate = Config::LatencyThreadingMode::PER_SOCKET; #if defined(OPENVINO_ARCH_X86) || defined(OPENVINO_ARCH_X86_64) LPTransformsMode lpTransformsMode = LPTransformsMode::On; bool enforceBF16 = true; @@ -90,5 +96,5 @@ struct Config { #endif }; -} // namespace intel_cpu +} // namespace intel_cpu } // namespace ov diff --git a/src/plugins/intel_cpu/src/cpu_streams_calculation.cpp b/src/plugins/intel_cpu/src/cpu_streams_calculation.cpp index 14dc6a3c13b..55dcea7781b 100644 --- a/src/plugins/intel_cpu/src/cpu_streams_calculation.cpp +++ b/src/plugins/intel_cpu/src/cpu_streams_calculation.cpp @@ -23,9 +23,12 @@ namespace ov { namespace intel_cpu { std::vector> get_streams_info_table(const int input_streams, + const bool input_streams_changed, const int input_threads, const int input_infer_requests, const int model_prefer_threads, + const std::string input_perf_hint, + const Config::LatencyThreadingMode scopeOflatencyCandidate, const std::vector> proc_type_table) { std::vector stream_info(CPU_STREAMS_TABLE_SIZE); std::vector> streams_info_table; @@ -49,7 +52,9 @@ std::vector> get_streams_info_table(const int input_streams, } }; - if (1 == input_streams) { + if (((input_streams_changed == false) && (input_perf_hint == CONFIG_VALUE(LATENCY)) && + ((scopeOflatencyCandidate == Config::LatencyThreadingMode::PER_PLATFORM) || (proc_type_table.size() == 1))) || + ((input_streams_changed == true) && (input_streams == 1))) { stream_info[NUMBER_OF_STREAMS] = 1; if (input_threads > 0) { stream_info[THREADS_PER_STREAM] = std::min(proc_type_table[0][ALL_PROC], input_threads); @@ -91,6 +96,40 @@ std::vector> get_streams_info_table(const int input_streams, } } return streams_info_table; + } else if ((input_streams_changed == false) && (input_perf_hint == CONFIG_VALUE(LATENCY))) { + stream_info[PROC_TYPE] = MAIN_CORE_PROC; + int max_per_numa_node = 0; + int numa_node_cnt = 0; + std::vector proc_per_socket; + proc_per_socket.resize(proc_type_table.size(), 0); + for (long unsigned int i = 1; i < proc_type_table.size(); i++) { + if (max_per_numa_node < proc_type_table[i][ALL_PROC]) { + max_per_numa_node = proc_type_table[i][ALL_PROC]; + numa_node_cnt = 1; + } else if (max_per_numa_node == proc_type_table[i][ALL_PROC]) { + numa_node_cnt++; + } + proc_per_socket[proc_type_table[i][PROC_SOCKET_ID]] += proc_type_table[i][ALL_PROC]; + } + if (scopeOflatencyCandidate == Config::LatencyThreadingMode::PER_NUMA_NODE) { + stream_info[NUMBER_OF_STREAMS] = numa_node_cnt; + stream_info[THREADS_PER_STREAM] = max_per_numa_node; + } else { + int max_per_socket = 0; + int socket_cnt = 0; + for (long unsigned int i = 0; i < proc_per_socket.size(); i++) { + if (max_per_socket < proc_per_socket[i]) { + max_per_socket = proc_per_socket[i]; + socket_cnt = 1; + } else if (max_per_socket == proc_per_socket[i]) { + socket_cnt++; + } + } + stream_info[NUMBER_OF_STREAMS] = socket_cnt; + stream_info[THREADS_PER_STREAM] = max_per_socket; + } + streams_info_table.push_back(stream_info); + return streams_info_table; } else { int n_streams = 0; int n_threads = 0; @@ -100,7 +139,7 @@ std::vector> get_streams_info_table(const int input_streams, n_threads = (0 == input_threads) ? proc_type_table[0][ALL_PROC] : std::min(proc_type_table[0][ALL_PROC], input_threads); - if (0 != input_streams) { + if ((input_streams_changed == true) && (input_streams > 0)) { base_type = (proc_type_table[0][MAIN_CORE_PROC] == 0) ? EFFICIENT_CORE_PROC : MAIN_CORE_PROC; n_streams = (input_infer_requests > 0) ? std::min(input_streams, input_infer_requests) : input_streams; if (n_streams >= n_threads) { @@ -292,10 +331,13 @@ void generate_stream_info(const int streams, model_prefer_threads = get_model_prefer_threads(streams, proc_type_table, ngraphFunc, executor_config); } - executor_config._streams_info_table = get_streams_info_table(streams, + executor_config._streams_info_table = get_streams_info_table(executor_config._streams, + executor_config._streams_changed, executor_config._threads, config.perfHintsConfig.ovPerfHintNumRequests, model_prefer_threads, + config.perfHintsConfig.ovPerfHint, + config.scopeOflatencyCandidate, proc_type_table); } diff --git a/src/plugins/intel_cpu/src/cpu_streams_calculation.hpp b/src/plugins/intel_cpu/src/cpu_streams_calculation.hpp index 461ba9dcdbc..eacb606697d 100644 --- a/src/plugins/intel_cpu/src/cpu_streams_calculation.hpp +++ b/src/plugins/intel_cpu/src/cpu_streams_calculation.hpp @@ -12,6 +12,7 @@ #include #include +#include "config.h" #include "graph.h" #include "openvino/runtime/properties.hpp" @@ -19,10 +20,10 @@ namespace ov { namespace intel_cpu { /** * @brief Generate streams information table according to processors type table. - * @param[in] input_streams is the targeted number of streams set by user via ov::num_streams or hints. - * - input "0" indicates the optimal number of streams generated by the function. - * - When user sets LATENCY hint, OpenVINO runtime generate one stream per CPU node. - * @param[in] input_threads is the max number of threads set by user via ov::inference_num_threads. + * @param[in] input_streams is the targeted number of streams set by user via ov::num_streams or the default value. + * @param[in] input_streams_changed indicates if streams is set by user via ov::num_streams. + * @param[in] input_threads is the max number of threads set by user via ov::inference_num_threads or the default + * value. * - input "0" indicates that the function can use all resource in proc_type_table. * - If user limits the max number of threads, the final number of streams output cannot exceed the max * number of threads. @@ -34,15 +35,21 @@ namespace intel_cpu { * function. * - input "0" indicates that the function generates the optimal number of threads per stream based on * processors type information. + * @param[in] input_perf_hint is performance hint set by user via ov::hint::performance_mode or the default value. + * @param[in] scopeOflatencyCandidate is the scope of candidate processors per stream for latency hint + * - user can select all processors per numa node, per socket, or per platform. * @param[in] proc_type_table is currently available candidate processors. * - candidate processors have benn updated based on user input hints like ov::hint::scheduling_core_type * in previous function. * @return streams information table which will be used by StreamsExecutor. */ std::vector> get_streams_info_table(const int input_streams, + const bool input_streams_changed, const int input_threads, const int input_infer_requests, const int model_prefer_threads, + const std::string input_perf_hint, + const Config::LatencyThreadingMode scopeOflatencyCandidate, const std::vector> proc_type_table); /** * @brief Get model_prefer_threads diff --git a/src/plugins/intel_cpu/tests/unit/streams_info_table_test.cpp b/src/plugins/intel_cpu/tests/unit/streams_info_table_test.cpp index 31eddcede4a..0b5a480f0f5 100644 --- a/src/plugins/intel_cpu/tests/unit/streams_info_table_test.cpp +++ b/src/plugins/intel_cpu/tests/unit/streams_info_table_test.cpp @@ -375,9 +375,12 @@ INSTANTIATE_TEST_SUITE_P(UseHTTable, struct StreamsCalculationTestCase { int input_streams; + bool input_streams_chaged; int input_threads; int input_infer_requests; int model_prefer_threads; + std::string input_perf_hint; + ov::intel_cpu::Config::LatencyThreadingMode scopeOflatencyCandidate; std::vector> proc_type_table; std::vector> stream_info_table; }; @@ -390,912 +393,1544 @@ public: std::vector> test_stream_info_table = ov::intel_cpu::get_streams_info_table(test_data.input_streams, + test_data.input_streams_chaged, test_data.input_threads, test_data.input_infer_requests, test_data.model_prefer_threads, + test_data.input_perf_hint, + test_data.scopeOflatencyCandidate, test_data.proc_type_table); ASSERT_EQ(test_data.stream_info_table, test_stream_info_table); } }; +StreamsCalculationTestCase _2sockets_104cores_latency_platform_1 = { + 1, // param[in]: the number of streams in this simulation. + false, // param[in]: Whether the user explicitly sets the number of streams is higher priority in streams + // calculation logic. If this param is true, the following performance hint and LatencyThreadingMode will be + // ignored. + 0, // param[in]: the number of threads in this simulation + 0, // param[in]: the number of infer requests in this simulation + 0, // param[in]: the model preferred number of threads in this simulation + "LATENCY", // param[in]: the performance hint in this simulation + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, // param[in]: the LatencyThreadingMode in this + // simulation + {{208, 104, 0, 104, -1, -1}, + {104, 52, 0, 52, 0, 0}, + {104, 52, 0, 52, 1, 1}}, // param[in]: the proc_type_table in this simulation + {{1, MAIN_CORE_PROC, 208}}, // param[expected out]: the expected result of streams_info_table in this simulation +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_platform_2 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, + {{1, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_platform_3 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, + {52, 26, 0, 26, 0, 0}, + {52, 26, 0, 26, 1, 0}, + {52, 26, 0, 26, 2, 1}, + {52, 26, 0, 26, 3, 1}}, + {{1, MAIN_CORE_PROC, 208}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_platform_4 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {26, 13, 0, 0, 0, 0}, {26, 13, 0, 0, 1, 0}, {26, 13, 0, 0, 2, 1}, {26, 13, 0, 0, 3, 1}}, + {{1, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_1 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{2, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_2 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, + {{2, MAIN_CORE_PROC, 52}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_3 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{208, 104, 0, 104, -1, -1}, + {52, 26, 0, 26, 0, 0}, + {52, 26, 0, 26, 1, 0}, + {52, 26, 0, 26, 2, 1}, + {52, 26, 0, 26, 3, 1}}, + {{2, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_4 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{104, 104, 0, 0, -1, -1}, {26, 13, 0, 0, 0, 0}, {26, 13, 0, 0, 1, 0}, {26, 13, 0, 0, 2, 1}, {26, 13, 0, 0, 3, 1}}, + {{2, MAIN_CORE_PROC, 52}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_5 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{60, 60, 0, 0, -1, -1}, {10, 10, 0, 0, 0, 0}, {10, 10, 0, 0, 1, 0}, {20, 20, 0, 0, 2, 1}, {20, 20, 0, 0, 3, 1}}, + {{1, MAIN_CORE_PROC, 40}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_6 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{60, 60, 0, 0, -1, -1}, {10, 10, 0, 0, 0, 0}, {20, 20, 0, 0, 1, 1}, {10, 10, 0, 0, 2, 0}, {20, 20, 0, 0, 3, 1}}, + {{1, MAIN_CORE_PROC, 40}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_socket_7 = { + 1, + true, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + {{104, 104, 0, 0, -1, -1}, {26, 13, 0, 0, 0, 0}, {26, 13, 0, 0, 1, 0}, {26, 13, 0, 0, 2, 1}, {26, 13, 0, 0, 3, 1}}, + {{1, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_node_1 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_NUMA_NODE, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{2, MAIN_CORE_PROC, 104}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_node_2 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_NUMA_NODE, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, + {{2, MAIN_CORE_PROC, 52}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_node_3 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_NUMA_NODE, + {{208, 104, 0, 104, -1, -1}, + {52, 26, 0, 26, 0, 0}, + {52, 26, 0, 26, 1, 0}, + {52, 26, 0, 26, 2, 1}, + {52, 26, 0, 26, 3, 1}}, + {{4, MAIN_CORE_PROC, 52}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_node_4 = { + 1, + false, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_NUMA_NODE, + {{104, 104, 0, 0, -1, -1}, {26, 13, 0, 0, 0, 0}, {26, 13, 0, 0, 1, 0}, {26, 13, 0, 0, 2, 1}, {26, 13, 0, 0, 3, 1}}, + {{4, MAIN_CORE_PROC, 26}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_node_5 = { + 1, + true, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_NUMA_NODE, + {{104, 104, 0, 0, -1, -1}, {26, 13, 0, 0, 0, 0}, {26, 13, 0, 0, 1, 0}, {26, 13, 0, 0, 2, 1}, {26, 13, 0, 0, 3, 1}}, + {{1, MAIN_CORE_PROC, 104}}, +}; + StreamsCalculationTestCase _2sockets_104cores_latency_1 = { 1, + false, + 20, 0, 0, - 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, - {{1, MAIN_CORE_PROC, 208}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{1, MAIN_CORE_PROC, 20}}, }; StreamsCalculationTestCase _2sockets_104cores_latency_2 = { 1, + false, 20, + 5, 0, - 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{1, MAIN_CORE_PROC, 20}}, }; StreamsCalculationTestCase _2sockets_104cores_latency_3 = { 1, - 20, - 5, + false, + 208, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, - {{1, MAIN_CORE_PROC, 20}}, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{1, MAIN_CORE_PROC, 208}}, }; StreamsCalculationTestCase _2sockets_104cores_latency_4 = { 1, - 208, + true, + 20, 0, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, - {{1, MAIN_CORE_PROC, 208}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{1, MAIN_CORE_PROC, 20}}, }; StreamsCalculationTestCase _2sockets_104cores_latency_5 = { 1, + true, + 20, + 5, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{1, MAIN_CORE_PROC, 20}}, +}; + +StreamsCalculationTestCase _2sockets_104cores_latency_6 = { + 1, + true, + 208, 0, 0, - 0, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, - {{1, MAIN_CORE_PROC, 104}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, + {{1, MAIN_CORE_PROC, 208}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{52, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_2 = { 2, + true, 0, 0, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 104}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_3 = { - 0, + 1, + false, 20, 0, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{5, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_4 = { 2, + true, 20, 0, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 10}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_5 = { - 0, + 1, + false, 0, 0, 1, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{208, MAIN_CORE_PROC, 1}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_6 = { - 0, + 1, + false, 0, 0, 2, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{104, MAIN_CORE_PROC, 2}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_7 = { - 0, + 1, + false, 0, 0, 8, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{26, MAIN_CORE_PROC, 8}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_8 = { - 0, + 1, + false, 40, 0, 8, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{5, MAIN_CORE_PROC, 8}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_9 = { 5, + true, 20, 2, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 10}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_10 = { - 0, + 1, + false, 0, 2, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 104}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_11 = { 2, + true, 0, 5, 0, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 104}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_12 = { - 0, + 1, + false, 0, 2, 2, - {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{208, 104, 0, 104, -1, -1}, {104, 52, 0, 52, 0, 0}, {104, 52, 0, 52, 1, 1}}, {{2, MAIN_CORE_PROC, 104}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_13 = { + 1, + false, 0, 0, 0, - 0, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{26, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_14 = { 2, + true, 0, 0, 0, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 52}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_15 = { - 0, + 1, + false, 0, 0, 1, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{104, MAIN_CORE_PROC, 1}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_16 = { - 0, + 1, + false, 0, 0, 2, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{52, MAIN_CORE_PROC, 2}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_17 = { - 0, + 1, + false, 0, 0, 8, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{13, MAIN_CORE_PROC, 8}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_18 = { - 0, + 1, + false, 0, 2, 0, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 52}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_19 = { 2, + true, 0, 5, 0, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 52}}, }; StreamsCalculationTestCase _2sockets_104cores_tput_20 = { - 0, + 1, + false, 0, 2, 2, - {{104, 104, 0, 0}, {52, 52, 0, 0}, {52, 52, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{104, 104, 0, 0, -1, -1}, {52, 52, 0, 0, 0, 0}, {52, 52, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 52}}, }; StreamsCalculationTestCase _2sockets_48cores_latency_1 = { 1, + false, 0, 0, 0, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{1, MAIN_CORE_PROC, 48}}, }; StreamsCalculationTestCase _2sockets_48cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{12, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _2sockets_48cores_tput_2 = { 100, + true, 0, 0, 0, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{48, MAIN_CORE_PROC, 1}}, }; StreamsCalculationTestCase _2sockets_48cores_tput_3 = { - 0, + 1, + false, 100, 0, 0, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{12, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _2sockets_48cores_tput_4 = { 2, + true, 20, 0, 1, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 10}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_1 = { 1, + false, 0, 0, 0, - {{14, 6, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_2 = { 1, + false, 10, 0, 0, - {{20, 6, 8, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, ALL_PROC, 10}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_3 = { 1, + false, 0, 0, 6, - {{20, 6, 8, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 12}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_4 = { 1, + false, 0, 0, 14, - {{20, 6, 8, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_5 = { 1, + false, 0, 2, 14, - {{20, 6, 8, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_6 = { 1, + false, 0, 0, 0, - {{20, 6, 8, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_7 = { 1, + false, 0, 0, 6, - {{14, 6, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_8 = { 1, + false, 0, 0, 14, - {{14, 6, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_14cores_latency_9 = { 1, + false, 0, 2, 14, - {{14, 6, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, + {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_10 = { + 1, + true, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, + {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_11 = { + 1, + true, + 10, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, + {{1, ALL_PROC, 10}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 4}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_12 = { + 1, + true, + 0, + 0, + 6, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, + {{1, MAIN_CORE_PROC, 12}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_13 = { + 1, + true, + 0, + 0, + 14, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, + {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_14 = { + 1, + true, + 0, + 2, + 14, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, + {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_15 = { + 1, + true, + 0, + 0, + 0, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, + {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 6}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_16 = { + 1, + true, + 0, + 0, + 6, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, + {{1, MAIN_CORE_PROC, 6}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_17 = { + 1, + true, + 0, + 0, + 14, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, + {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, +}; + +StreamsCalculationTestCase _1sockets_14cores_latency_18 = { + 1, + true, + 0, + 2, + 14, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{14, 6, 8, 0, 0, 0}}, {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}, {2, HYPER_THREADING_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_2 = { 2, + true, 0, 0, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 6}, {1, EFFICIENT_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_3 = { 4, + true, 0, 0, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_4 = { - 0, + 1, + false, 12, 0, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_5 = { - 0, + 1, + false, 0, 0, 1, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {4, EFFICIENT_CORE_PROC, 2}, {6, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_6 = { - 0, + 1, + false, 0, 0, 2, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{3, MAIN_CORE_PROC, 2}, {4, EFFICIENT_CORE_PROC, 2}, {3, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_7 = { 100, + true, 0, 0, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {8, EFFICIENT_CORE_PROC, 1}, {6, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_8 = { - 0, + 1, + false, 100, 0, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}, {2, HYPER_THREADING_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_9 = { 4, + true, 0, 8, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_10 = { 6, + true, 0, 4, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_11 = { - 0, + 1, + false, 0, 2, 0, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 6}, {1, EFFICIENT_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_12 = { - 0, + 1, + false, 0, 2, 2, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 6}, {1, EFFICIENT_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_13 = { - 0, + 1, + false, 1, 0, 1, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_14 = { - 0, + 1, + false, 9, 0, 1, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {1, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_15 = { - 0, + 1, + false, 12, 0, 1, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {3, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_14cores_tput_16 = { - 0, + 1, + false, 15, 0, 1, - {{20, 6, 8, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 8, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {4, EFFICIENT_CORE_PROC, 2}, {1, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_1 = { 1, + false, 0, 0, 0, - {{12, 2, 8, 2}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, ALL_PROC, 12}, {0, MAIN_CORE_PROC, 2}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_2 = { 1, + false, 8, 0, 0, - {{12, 2, 8, 2}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, ALL_PROC, 8}, {0, MAIN_CORE_PROC, 2}, {0, EFFICIENT_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_3 = { 1, + false, 0, 0, 2, - {{12, 2, 8, 2}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_4 = { 1, + false, 0, 0, 10, - {{12, 2, 8, 2}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, ALL_PROC, 12}, {0, MAIN_CORE_PROC, 2}, {0, EFFICIENT_CORE_PROC, 8}, {0, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_5 = { 1, + false, 0, 0, 0, - {{10, 2, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{10, 2, 8, 0, 0, 0}}, {{1, ALL_PROC, 10}, {0, MAIN_CORE_PROC, 2}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_6 = { 1, + false, 0, 0, 2, - {{10, 2, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{10, 2, 8, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_latency_7 = { 1, + false, 0, 0, 10, - {{10, 2, 8, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{10, 2, 8, 0, 0, 0}}, {{1, ALL_PROC, 10}, {0, MAIN_CORE_PROC, 2}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 2}, {4, EFFICIENT_CORE_PROC, 2}, {1, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_2 = { 2, + true, 0, 0, 0, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 2}, {1, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_3 = { 4, + true, 0, 0, 0, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 2}, {3, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_4 = { - 0, + 1, + false, 6, 0, 0, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 2}, {2, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_5 = { - 0, + 1, + false, 0, 0, 1, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{2, MAIN_CORE_PROC, 1}, {4, EFFICIENT_CORE_PROC, 2}, {2, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_10cores_tput_6 = { - 0, + 1, + false, 0, 0, 2, - {{12, 2, 8, 2}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 2, 8, 2, 0, 0}}, {{1, MAIN_CORE_PROC, 2}, {4, EFFICIENT_CORE_PROC, 2}, {1, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_1 = { 1, + false, 0, 0, 0, - {{12, 4, 4, 4}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, ALL_PROC, 12}, {0, MAIN_CORE_PROC, 4}, {0, EFFICIENT_CORE_PROC, 4}, {0, HYPER_THREADING_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_2 = { 1, + false, 100, 0, 0, - {{12, 4, 4, 4}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, ALL_PROC, 12}, {0, MAIN_CORE_PROC, 4}, {0, EFFICIENT_CORE_PROC, 4}, {0, HYPER_THREADING_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_3 = { 1, + false, 0, 0, 4, - {{12, 4, 4, 4}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, MAIN_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_4 = { 1, + false, 0, 0, 8, - {{12, 4, 4, 4}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, ALL_PROC, 12}, {0, MAIN_CORE_PROC, 4}, {0, EFFICIENT_CORE_PROC, 4}, {0, HYPER_THREADING_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_5 = { 1, + false, 0, 0, 0, - {{8, 4, 4, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{8, 4, 4, 0, 0, 0}}, {{1, ALL_PROC, 8}, {0, MAIN_CORE_PROC, 4}, {0, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_6 = { 1, + false, 0, 0, 4, - {{8, 4, 4, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{8, 4, 4, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_latency_7 = { 1, + false, 0, 0, 8, - {{8, 4, 4, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{8, 4, 4, 0, 0, 0}}, {{1, ALL_PROC, 8}, {0, MAIN_CORE_PROC, 4}, {0, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, MAIN_CORE_PROC, 4}, {1, EFFICIENT_CORE_PROC, 4}, {1, HYPER_THREADING_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_2 = { 2, + true, 0, 0, 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{1, MAIN_CORE_PROC, 4}, {1, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_3 = { 4, + true, 0, 0, 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{2, MAIN_CORE_PROC, 2}, {2, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_4 = { 6, + true, 0, 0, 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{2, MAIN_CORE_PROC, 2}, {2, EFFICIENT_CORE_PROC, 2}, {2, HYPER_THREADING_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_5 = { - 0, + 1, + false, 6, 0, 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{2, MAIN_CORE_PROC, 2}, {1, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_6 = { - 0, + 1, + false, 8, 0, 0, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{2, MAIN_CORE_PROC, 2}, {2, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_7 = { - 0, + 1, + false, 0, 0, 1, - {{12, 4, 4, 4}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 4, 4, 4, 0, 0}}, {{4, MAIN_CORE_PROC, 1}, {2, EFFICIENT_CORE_PROC, 2}, {4, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_8cores_tput_8 = { + 1, + false, 0, 0, 0, - 0, - {{8, 4, 4, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{8, 4, 4, 0, 0, 0}}, {{2, MAIN_CORE_PROC, 2}, {2, EFFICIENT_CORE_PROC, 2}}, }; StreamsCalculationTestCase _1sockets_6cores_latency_1 = { 1, + false, 0, 0, 0, - {{12, 6, 0, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 12}}, }; StreamsCalculationTestCase _1sockets_6cores_latency_2 = { 1, + false, 100, 0, 0, - {{12, 6, 0, 6}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 12}}, }; StreamsCalculationTestCase _1sockets_6cores_latency_3 = { 1, + false, 0, 0, 0, - {{6, 6, 0, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{6, 6, 0, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_6cores_tput_1 = { + 1, + false, 0, 0, 0, - 0, - {{12, 6, 0, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, HYPER_THREADING_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_6cores_tput_2 = { 2, + true, 0, 0, 0, - {{12, 6, 0, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 6}, {1, HYPER_THREADING_PROC, 6}}, }; StreamsCalculationTestCase _1sockets_6cores_tput_3 = { - 0, + 1, + false, 8, 0, 0, - {{12, 6, 0, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}}, }; StreamsCalculationTestCase _1sockets_6cores_tput_4 = { - 0, + 1, + false, 0, 0, 1, - {{12, 6, 0, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{12, 6, 0, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {6, HYPER_THREADING_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_ecores_latency_1 = { 1, + false, 0, 0, 0, - {{16, 0, 16, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{1, EFFICIENT_CORE_PROC, 16}}, }; StreamsCalculationTestCase _1sockets_ecores_latency_2 = { 1, + false, 4, 0, 0, - {{16, 0, 16, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{1, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_ecores_latency_3 = { 1, + false, 0, 4, 0, - {{16, 0, 16, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{1, EFFICIENT_CORE_PROC, 16}}, }; StreamsCalculationTestCase _1sockets_ecores_latency_4 = { 1, + false, 0, 0, 4, - {{16, 0, 16, 0}}, + "LATENCY", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{1, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_ecores_tput_1 = { - 0, + 1, + false, 0, 0, 1, - {{16, 0, 16, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{16, EFFICIENT_CORE_PROC, 1}}, }; StreamsCalculationTestCase _1sockets_ecores_tput_2 = { - 0, + 1, + false, 0, 0, 4, - {{16, 0, 16, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{4, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_ecores_tput_3 = { 2, + true, 0, 0, 0, - {{16, 0, 16, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{2, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_ecores_tput_4 = { 8, + true, 0, 4, 0, - {{16, 0, 16, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{4, EFFICIENT_CORE_PROC, 4}}, }; StreamsCalculationTestCase _1sockets_ecores_tput_5 = { 2, + true, 0, 0, 4, - {{16, 0, 16, 0}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{16, 0, 16, 0, 0, 0}}, {{2, EFFICIENT_CORE_PROC, 8}}, }; StreamsCalculationTestCase _1sockets_mock_tput_1 = { - 0, + 1, + false, 15, 0, 1, - {{20, 6, 7, 6}}, + "THROUGHPUT", + ov::intel_cpu::Config::LatencyThreadingMode::PER_PLATFORM, + {{20, 6, 7, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {3, EFFICIENT_CORE_PROC, 2}, {3, HYPER_THREADING_PROC, 1}}, }; @@ -1303,11 +1938,28 @@ TEST_P(StreamsCalculationTests, StreamsCalculation) {} INSTANTIATE_TEST_SUITE_P(StreamsInfoTable, StreamsCalculationTests, - testing::Values(_2sockets_104cores_latency_1, + testing::Values(_2sockets_104cores_latency_platform_1, + _2sockets_104cores_latency_platform_2, + _2sockets_104cores_latency_platform_3, + _2sockets_104cores_latency_platform_4, + _2sockets_104cores_latency_socket_1, + _2sockets_104cores_latency_socket_2, + _2sockets_104cores_latency_socket_3, + _2sockets_104cores_latency_socket_4, + _2sockets_104cores_latency_socket_5, + _2sockets_104cores_latency_socket_6, + _2sockets_104cores_latency_socket_7, + _2sockets_104cores_latency_node_1, + _2sockets_104cores_latency_node_2, + _2sockets_104cores_latency_node_3, + _2sockets_104cores_latency_node_4, + _2sockets_104cores_latency_node_5, + _2sockets_104cores_latency_1, _2sockets_104cores_latency_2, _2sockets_104cores_latency_3, _2sockets_104cores_latency_4, _2sockets_104cores_latency_5, + _2sockets_104cores_latency_6, _2sockets_104cores_tput_1, _2sockets_104cores_tput_2, _2sockets_104cores_tput_3, @@ -1342,6 +1994,15 @@ INSTANTIATE_TEST_SUITE_P(StreamsInfoTable, _1sockets_14cores_latency_7, _1sockets_14cores_latency_8, _1sockets_14cores_latency_9, + _1sockets_14cores_latency_10, + _1sockets_14cores_latency_11, + _1sockets_14cores_latency_12, + _1sockets_14cores_latency_13, + _1sockets_14cores_latency_14, + _1sockets_14cores_latency_15, + _1sockets_14cores_latency_16, + _1sockets_14cores_latency_17, + _1sockets_14cores_latency_18, _1sockets_14cores_tput_1, _1sockets_14cores_tput_2, _1sockets_14cores_tput_3, @@ -1406,6 +2067,7 @@ INSTANTIATE_TEST_SUITE_P(StreamsInfoTable, struct StreamGenerateionTestCase { int input_stream; + bool input_stream_changed; int input_thread; int input_request; int input_model_prefer; @@ -1415,6 +2077,7 @@ struct StreamGenerateionTestCase { bool input_cpu_value; bool input_cpu_changed; ov::hint::PerformanceMode input_pm_hint; + ov::intel_cpu::Config::LatencyThreadingMode input_latency_scope; ov::threading::IStreamsExecutor::ThreadBindingType input_binding_type; std::vector> input_proc_type_table; ov::hint::SchedulingCoreType output_type; @@ -1432,7 +2095,10 @@ void make_config(StreamGenerateionTestCase& test_data, ov::intel_cpu::Config& co config.enableHyperThreading = test_data.input_ht_value; config.changedHyperThreading = test_data.input_ht_changed; config.perfHintsConfig.ovPerfHint = ov::util::to_string(test_data.input_pm_hint); + config.scopeOflatencyCandidate = test_data.input_latency_scope; config.perfHintsConfig.ovPerfHintNumRequests = test_data.input_request; + config.streamExecutorConfig._streams = test_data.input_stream; + config.streamExecutorConfig._streams_changed = test_data.input_stream_changed; config.streamExecutorConfig._threads = test_data.input_thread; config.streamExecutorConfig._threadBindingType = test_data.input_binding_type; config.streamExecutorConfig._orig_proc_type_table = test_data.input_proc_type_table; @@ -1453,7 +2119,8 @@ public: ASSERT_EQ(test_data.output_cpu_value, config.streamExecutorConfig._cpu_pinning); ASSERT_EQ(test_data.output_ht_value, config.enableHyperThreading); ASSERT_EQ(test_data.output_type, config.schedulingCoreType); - ASSERT_EQ(test_data.output_pm_hint, ov::util::from_string(config.perfHintsConfig.ovPerfHint, ov::hint::performance_mode)); + ASSERT_EQ(test_data.output_pm_hint, + ov::util::from_string(config.perfHintsConfig.ovPerfHint, ov::hint::performance_mode)); } }; @@ -1461,6 +2128,7 @@ TEST_P(StreamGenerationTests, StreamsGeneration) {} StreamGenerateionTestCase generation_latency_1sockets_14cores_1 = { 1, // param[in]: simulated settting for streams number + false, // param[in]: simulated settting for streams number changed 0, // param[in]: simulated setting for threads number 0, // param[in]: simulated setting for inference request number 0, // param[in]: simulated setting for model prefer threads number @@ -1471,16 +2139,18 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_1 = { true, // param[in]: simulated setting for enableCpuPinning true, // param[in]: simulated setting for changedCpuPinning ov::hint::PerformanceMode::LATENCY, // param[in]: simulated setting for performance mode (throughput/latency) + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, // param[in]: simulated setting for scope of candidate processors + // on latency mode ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, // param[in]: simulated setting for // threadBindingType - {{20, 6, 8, 6}}, // param[in]: simulated proc_type_table for platform which has one socket, 6 Pcores, 8 Ecores and - // hyper threading enabled + {{20, 6, 8, 6, 0, 0}}, // param[in]: simulated proc_type_table for platform which has one socket, 6 Pcores, 8 + // Ecores and hyper threading enabled ov::hint::SchedulingCoreType::ANY_CORE, // param[expected out]: scheduling core type needs to be the same as input true, // param[expected out]: enableHyperThreading needs to be the same as input true, // param[expected out]: enableCpuPinning needs to be the same as input ov::hint::PerformanceMode::LATENCY, // param[expected out]: performance mode needs to be the same as input - {{20, 6, 8, 6}}, // param[expected out]: since hyper threading is enabled and all core type is used, - // proc_type_table needs to be the same as input + {{20, 6, 8, 6, 0, 0}}, // param[expected out]: since hyper threading is enabled and all core type is used, + // proc_type_table needs to be the same as input {{1, ALL_PROC, 20}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}, @@ -1491,6 +2161,7 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_1 = { StreamGenerateionTestCase generation_latency_1sockets_14cores_2 = { 1, + false, 0, 0, 0, @@ -1500,18 +2171,20 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_2 = { true, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{14, 6, 8, 0}}, + {{14, 6, 8, 0, 0, 0}}, ov::hint::SchedulingCoreType::ANY_CORE, false, true, ov::hint::PerformanceMode::LATENCY, - {{14, 6, 8, 0}}, + {{14, 6, 8, 0, 0, 0}}, {{1, ALL_PROC, 14}, {0, MAIN_CORE_PROC, 6}, {0, EFFICIENT_CORE_PROC, 8}}, }; StreamGenerateionTestCase generation_latency_1sockets_14cores_3 = { 1, + false, 0, 0, 0, @@ -1521,18 +2194,20 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_3 = { false, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{14, 6, 8, 0}}, + {{14, 6, 8, 0, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, false, false, ov::hint::PerformanceMode::LATENCY, - {{6, 6, 0, 0}}, + {{6, 6, 0, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 6}}, }; StreamGenerateionTestCase generation_latency_1sockets_14cores_4 = { 1, + false, 0, 0, 0, @@ -1542,18 +2217,20 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_4 = { false, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, true, false, ov::hint::PerformanceMode::LATENCY, - {{12, 6, 0, 6}}, + {{12, 6, 0, 6, 0, 0}}, {{1, MAIN_CORE_PROC, 12}}, }; StreamGenerateionTestCase generation_latency_1sockets_14cores_5 = { 1, + false, 0, 0, 0, @@ -1563,18 +2240,20 @@ StreamGenerateionTestCase generation_latency_1sockets_14cores_5 = { false, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, false, false, ov::hint::PerformanceMode::LATENCY, - {{6, 6, 0, 0}}, + {{6, 6, 0, 0, 0, 0}}, {{1, MAIN_CORE_PROC, 6}}, }; StreamGenerateionTestCase generation_latency_2sockets_48cores_6 = { 1, + false, 0, 0, 0, @@ -1584,18 +2263,20 @@ StreamGenerateionTestCase generation_latency_2sockets_48cores_6 = { false, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::PCORE_ONLY, false, false, ov::hint::PerformanceMode::LATENCY, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, - {{1, MAIN_CORE_PROC, 48}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + {{2, MAIN_CORE_PROC, 24}}, }; StreamGenerateionTestCase generation_latency_2sockets_48cores_7 = { 1, + false, 0, 0, 0, @@ -1605,18 +2286,66 @@ StreamGenerateionTestCase generation_latency_2sockets_48cores_7 = { false, true, ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, ov::hint::SchedulingCoreType::PCORE_ONLY, false, false, ov::hint::PerformanceMode::LATENCY, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + {{2, MAIN_CORE_PROC, 24}}, +}; + +StreamGenerateionTestCase generation_latency_2sockets_48cores_8 = { + 1, + true, + 0, + 0, + 0, + ov::hint::SchedulingCoreType::PCORE_ONLY, + false, + true, + false, + true, + ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, + ov::hint::SchedulingCoreType::PCORE_ONLY, + false, + false, + ov::hint::PerformanceMode::LATENCY, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + {{1, MAIN_CORE_PROC, 48}}, +}; + +StreamGenerateionTestCase generation_latency_2sockets_48cores_9 = { + 1, + true, + 0, + 0, + 0, + ov::hint::SchedulingCoreType::PCORE_ONLY, + true, + true, + false, + true, + ov::hint::PerformanceMode::LATENCY, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, + ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, + ov::hint::SchedulingCoreType::PCORE_ONLY, + false, + false, + ov::hint::PerformanceMode::LATENCY, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{1, MAIN_CORE_PROC, 48}}, }; StreamGenerateionTestCase generation_tput_1sockets_14cores_1 = { 0, + false, 0, 0, 0, @@ -1626,18 +2355,20 @@ StreamGenerateionTestCase generation_tput_1sockets_14cores_1 = { true, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::HYBRID_AWARE, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::ANY_CORE, true, true, ov::hint::PerformanceMode::THROUGHPUT, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {2, EFFICIENT_CORE_PROC, 3}, {2, HYPER_THREADING_PROC, 3}}, }; StreamGenerateionTestCase generation_tput_1sockets_14cores_2 = { 0, + false, 0, 0, 0, @@ -1647,18 +2378,20 @@ StreamGenerateionTestCase generation_tput_1sockets_14cores_2 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, false, false, ov::hint::PerformanceMode::THROUGHPUT, - {{6, 6, 0, 0}}, + {{6, 6, 0, 0, 0, 0}}, {{2, MAIN_CORE_PROC, 3}}, }; StreamGenerateionTestCase generation_tput_1sockets_14cores_3 = { 10, + true, 0, 0, 0, @@ -1668,18 +2401,20 @@ StreamGenerateionTestCase generation_tput_1sockets_14cores_3 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, true, false, ov::hint::PerformanceMode::THROUGHPUT, - {{12, 6, 0, 6}}, + {{12, 6, 0, 6, 0, 0}}, {{6, MAIN_CORE_PROC, 1}, {4, HYPER_THREADING_PROC, 1}}, }; StreamGenerateionTestCase generation_tput_1sockets_14cores_4 = { 0, + false, 10, 0, 0, @@ -1689,18 +2424,20 @@ StreamGenerateionTestCase generation_tput_1sockets_14cores_4 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{20, 6, 8, 6}}, + {{20, 6, 8, 6, 0, 0}}, ov::hint::SchedulingCoreType::PCORE_ONLY, true, false, ov::hint::PerformanceMode::THROUGHPUT, - {{12, 6, 0, 6}}, + {{12, 6, 0, 6, 0, 0}}, {{2, MAIN_CORE_PROC, 3}, {1, HYPER_THREADING_PROC, 3}}, }; StreamGenerateionTestCase generation_tput_2sockets_48cores_5 = { 0, + false, 0, 0, 0, @@ -1710,18 +2447,20 @@ StreamGenerateionTestCase generation_tput_2sockets_48cores_5 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::ANY_CORE, true, false, ov::hint::PerformanceMode::THROUGHPUT, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, {{24, MAIN_CORE_PROC, 4}}, }; StreamGenerateionTestCase generation_tput_2sockets_48cores_6 = { 0, + false, 0, 0, 0, @@ -1731,18 +2470,20 @@ StreamGenerateionTestCase generation_tput_2sockets_48cores_6 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::ANY_CORE, false, false, ov::hint::PerformanceMode::THROUGHPUT, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{12, MAIN_CORE_PROC, 4}}, }; StreamGenerateionTestCase generation_tput_2sockets_48cores_7 = { 100, + true, 0, 0, 0, @@ -1752,18 +2493,20 @@ StreamGenerateionTestCase generation_tput_2sockets_48cores_7 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::ANY_CORE, false, false, ov::hint::PerformanceMode::THROUGHPUT, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{48, MAIN_CORE_PROC, 1}}, }; StreamGenerateionTestCase generation_tput_2sockets_48cores_8 = { 2, + true, 20, 0, 1, @@ -1773,18 +2516,20 @@ StreamGenerateionTestCase generation_tput_2sockets_48cores_8 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::ANY_CORE, false, false, ov::hint::PerformanceMode::THROUGHPUT, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{2, MAIN_CORE_PROC, 10}}, }; StreamGenerateionTestCase generation_tput_2sockets_48cores_9 = { 0, + false, 0, 0, 1, @@ -1794,13 +2539,14 @@ StreamGenerateionTestCase generation_tput_2sockets_48cores_9 = { false, true, ov::hint::PerformanceMode::THROUGHPUT, + ov::intel_cpu::Config::LatencyThreadingMode::PER_SOCKET, ov::threading::IStreamsExecutor::ThreadBindingType::CORES, - {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + {{96, 48, 0, 48, -1, -1}, {48, 24, 0, 24, 0, 0}, {48, 24, 0, 24, 1, 1}}, ov::hint::SchedulingCoreType::ANY_CORE, false, false, ov::hint::PerformanceMode::THROUGHPUT, - {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + {{48, 48, 0, 0, -1, -1}, {24, 24, 0, 0, 0, 0}, {24, 24, 0, 0, 1, 1}}, {{48, MAIN_CORE_PROC, 1}}, }; @@ -1813,6 +2559,8 @@ INSTANTIATE_TEST_SUITE_P(smoke_StreamsGeneration, generation_latency_1sockets_14cores_5, generation_latency_2sockets_48cores_6, generation_latency_2sockets_48cores_7, + generation_latency_2sockets_48cores_8, + generation_latency_2sockets_48cores_9, generation_tput_1sockets_14cores_1, generation_tput_1sockets_14cores_2, generation_tput_1sockets_14cores_3,