8 #ifndef SYSTEM_TOPOLOGY_H
9 #define SYSTEM_TOPOLOGY_H
22 #define MAX_NUMA_NODES 8
24 #define MAX_CACHE_LEVELS 4
26 #define MAX_PCIE_DEVICES 32
27 #define MAX_MEMORY_SLOTS 16
28 #define MAX_STR_LEN 256
135 char channel_config[64];
147 char memory_type[32];
196 char pci_address[32];
208 char mac_address[24];
233 char omp_proc_bind[32];
258 char kernel_version[128];
280 #define MAX_RECOMMENDATIONS 32
286 char description[512];
332 uint64_t model_size_mb);
int ways_of_associativity
float measured_bandwidth_gbs
float theoretical_bandwidth_gbs
int total_lanes_available
RecommendationPriority priority
RecommendationCategory category
void topology_print_memory(const MemoryInfo *mem)
int topology_discover_memory(MemoryInfo *mem)
int topology_discover_pcie(PCIeTopology *pcie)
int topology_discover(SystemTopology *topo)
#define MAX_RECOMMENDATIONS
int topology_discover_cpu(CPUInfo *cpu)
void topology_print_network(const NetworkTopology *net)
void topology_print_pcie(const PCIeTopology *pcie)
void topology_print_distributed_potential(const SystemTopology *topo)
void topology_print_numa(const NUMATopology *numa, int sockets)
void topology_print_cpu(const CPUInfo *cpu)
int topology_discover_cache(CacheTopology *cache)
int topology_discover_network(NetworkTopology *net)
void topology_print_affinity(const AffinityInfo *aff)
float topology_estimate_network_training_time(const NetworkTopology *net, uint64_t model_size_mb)
int topology_generate_recommendations(const SystemTopology *topo, RecommendationList *recs)
void topology_print_recommendations(const RecommendationList *recs)
void topology_print_summary(const SystemTopology *topo)
float topology_estimate_memory_bandwidth(const MemoryInfo *mem)
int topology_discover_affinity(AffinityInfo *aff)
void topology_print_cache(const CacheTopology *cache, int logical_cores)
int topology_discover_numa(NUMATopology *numa)