7 #ifndef PLATFORMTOPOIMP_HPP_INCLUDE
8 #define PLATFORMTOPOIMP_HPP_INCLUDE
25 std::shared_ptr<ServiceProxy> service_proxy);
27 int num_domain(
int domain_type)
const override;
29 int cpu_idx)
const override;
31 std::set<int>
domain_nested(
int inner_domain,
int outer_domain,
int outer_idx)
const override;
33 static void create_cache(
const std::string &cache_file_name);
36 static const std::string M_CACHE_FILE_NAME;
37 static const std::string M_SERVICE_CACHE_FILE_NAME;
40 std::set<int> domain_cpus(
int domain_type,
43 void lscpu(std::map<std::string, std::string> &lscpu_map);
44 void parse_lscpu(
const std::map<std::string, std::string> &lscpu_map,
46 int &core_per_package,
47 int &thread_per_core);
48 std::vector<std::set<int> > parse_lscpu_numa(
const std::map<std::string, std::string> &lscpu_map);
49 std::vector<std::set<int> > parse_lscpu_gpu(
const std::map<std::string, std::string> &lscpu_map,
int domain_type);
50 std::string read_lscpu(
void);
51 static bool check_file(
const std::string &file_name);
52 static std::string gpu_short_name(
int domain_type);
53 static std::unique_ptr<ServiceProxy> try_service_proxy(
void);
54 const std::string M_TEST_CACHE_FILE_NAME;
56 int m_core_per_package;
57 int m_thread_per_core;
58 std::vector<std::set<int> > m_numa_map;
59 std::map<int, std::vector<std::set<int> > > m_gpu_info;
60 std::shared_ptr<ServiceProxy> m_service_proxy;
Definition: GPUTopo.hpp:16