diff --git a/pkg/kubelet/cm/cpumanager/policy_static_test.go b/pkg/kubelet/cm/cpumanager/policy_static_test.go index 33ee34c22ae..e21136e8f61 100644 --- a/pkg/kubelet/cm/cpumanager/policy_static_test.go +++ b/pkg/kubelet/cm/cpumanager/policy_static_test.go @@ -974,6 +974,7 @@ type staticPolicyTestWithResvList struct { expNewErr error expCPUAlloc bool expCSet cpuset.CPUSet + expUncoreCache cpuset.CPUSet // represents the expected UncoreCacheIDs } func TestStaticPolicyStartWithResvList(t *testing.T) { @@ -1160,20 +1161,20 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { testCases := []staticPolicyTestWithResvList{ { description: "GuPodSingleContainerSaturating, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail", - topo: topoDualSocketMultiNumaPerSocketUncore, + topo: topoDualSocketSingleNumaPerSocketSMTUncore, numReservedCPUs: 8, - reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16 + reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 12 cpuPolicyOptions: map[string]string{ FullPCPUsOnlyOption: "true", PreferAlignByUnCoreCacheOption: "true", }, stAssignments: state.ContainerCPUAssignments{}, // remove partially used uncores from the available CPUs to simulate fully clean slate - stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference( + stDefaultCPUSet: topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( cpuset.New().Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(0), ).Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(12), ), ), pod: WithPodUID( @@ -1185,24 +1186,24 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { ), "with-app-container-saturating", ), + expUncoreCache: cpuset.New(1), }, - { description: "GuPodMainAndSidecarContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail", - topo: topoDualSocketMultiNumaPerSocketUncore, + topo: topoDualSocketSingleNumaPerSocketSMTUncore, numReservedCPUs: 8, - reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16 + reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 12 cpuPolicyOptions: map[string]string{ FullPCPUsOnlyOption: "true", PreferAlignByUnCoreCacheOption: "true", }, stAssignments: state.ContainerCPUAssignments{}, // remove partially used uncores from the available CPUs to simulate fully clean slate - stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference( + stDefaultCPUSet: topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( cpuset.New().Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(0), ).Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(12), ), ), pod: WithPodUID( @@ -1215,23 +1216,24 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { ), "with-app-container-and-sidecar", ), + expUncoreCache: cpuset.New(1), }, { description: "GuPodSidecarAndMainContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail", - topo: topoDualSocketMultiNumaPerSocketUncore, + topo: topoDualSocketSingleNumaPerSocketSMTUncore, numReservedCPUs: 8, - reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16 + reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 12 cpuPolicyOptions: map[string]string{ FullPCPUsOnlyOption: "true", PreferAlignByUnCoreCacheOption: "true", }, stAssignments: state.ContainerCPUAssignments{}, // remove partially used uncores from the available CPUs to simulate fully clean slate - stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference( + stDefaultCPUSet: topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( cpuset.New().Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(0), ).Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(12), ), ), pod: WithPodUID( @@ -1244,23 +1246,24 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { ), "with-sidecar-and-app-container", ), + expUncoreCache: cpuset.New(1), }, { description: "GuPodMainAndManySidecarContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail", - topo: topoDualSocketMultiNumaPerSocketUncore, + topo: topoDualSocketSingleNumaPerSocketSMTUncore, numReservedCPUs: 8, - reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16 + reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 12 cpuPolicyOptions: map[string]string{ FullPCPUsOnlyOption: "true", PreferAlignByUnCoreCacheOption: "true", }, stAssignments: state.ContainerCPUAssignments{}, // remove partially used uncores from the available CPUs to simulate fully clean slate - stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference( + stDefaultCPUSet: topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( cpuset.New().Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(0), ).Union( - topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16), + topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUsInUncoreCaches(12), ), ), pod: WithPodUID( @@ -1275,6 +1278,384 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { ), "with-app-container-and-multi-sidecar", ), + expUncoreCache: cpuset.New(1), + }, + { + description: "GuPodMainAndSidecarContainer, DualSocketHTUncore, ExpectAllocTwoUncore", + topo: topoDualSocketSingleNumaPerSocketSMTUncore, + numReservedCPUs: 8, + reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 12 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + stDefaultCPUSet: topoDualSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs(), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"12000m", "12000m"}, + {"2000m", "2000m"}, + }, + ), + "with-app-container-and-sidecar", + ), + expUncoreCache: cpuset.New(0, 1), // expected CPU alignment to UncoreCacheIDs 0-1 + }, + { + description: "GuPodSingleContainer, SingleSocketSMTSmallUncore, ExpectAllocOneUncore", + topo: topoSingleSocketSingleNumaPerSocketSMTSmallUncore, + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 64, 65), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + stDefaultCPUSet: topoSingleSocketSingleNumaPerSocketSMTSmallUncore.CPUDetails.CPUs(), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"8000m", "8000m"}, + }, + ), + "with-app-container-saturating", + ), + expUncoreCache: cpuset.New(1), + }, + { + // Best-effort policy allows larger containers to be scheduled using a packed method + description: "GuPodSingleContainer, SingleSocketSMTSmallUncore, ExpectAllocTwoUncore", + topo: topoSingleSocketSingleNumaPerSocketSMTSmallUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 64, 65), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // Uncore 1 fully allocated + stDefaultCPUSet: topoSingleSocketSingleNumaPerSocketSMTSmallUncore.CPUDetails.CPUs().Difference( + topoSingleSocketSingleNumaPerSocketSMTSmallUncore.CPUDetails.CPUsInUncoreCaches(1), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"12000m", "12000m"}, // larger than topology's uncore cache + }, + ), + "with-app-container-saturating", + ), + expUncoreCache: cpuset.New(0, 2), + }, + { + // Best-effort policy allows larger containers to be scheduled using a packed method + description: "GuPodSingleContainer, SingleSocketNoSMTSmallUncore, FragmentedUncore, ExpectAllocThreeUncore", + topo: topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore, // 4 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 2, 3), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // Uncore 2, 3, and 5 fully allocated + stDefaultCPUSet: topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore.CPUDetails.CPUs().Difference( + cpuset.New().Union( + topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore.CPUDetails.CPUsInUncoreCaches(2), + ).Union( + topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore.CPUDetails.CPUsInUncoreCaches(3), + ).Union( + topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore.CPUDetails.CPUsInUncoreCaches(5), + ), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"12000m", "12000m"}, // 3 uncore cache's worth of CPUs + }, + ), + "with-app-container-saturating", + ), + expUncoreCache: cpuset.New(1, 4, 6), + }, + { + // Uncore cache alignment following a packed methodology + description: "GuPodMultiContainer, DualSocketSMTUncore, FragmentedUncore, ExpectAllocOneUncore", + topo: topoSmallDualSocketSingleNumaPerSocketNoSMTUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 32, 33), // note 2 cpus taken from uncore 0, 2 from uncore 4 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // uncore 1 fully allocated + stDefaultCPUSet: topoSmallDualSocketSingleNumaPerSocketNoSMTUncore.CPUDetails.CPUs().Difference( + topoSmallDualSocketSingleNumaPerSocketNoSMTUncore.CPUDetails.CPUsInUncoreCaches(1), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"4000m", "4000m"}, + {"2000m", "2000m"}, + }, + ), + "with-multiple-container", + ), + expUncoreCache: cpuset.New(0), + }, + { + // Uncore cache alignment following a packed methodology + description: "GuPodMultiContainer, DualSocketSMTUncore, FragmentedUncore, ExpectAllocTwoUncore", + topo: topoSmallDualSocketSingleNumaPerSocketNoSMTUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 32, 33), // note 2 cpus taken from uncore 0, 2 from uncore 4 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // uncore 1 fully allocated + stDefaultCPUSet: topoSmallDualSocketSingleNumaPerSocketNoSMTUncore.CPUDetails.CPUs().Difference( + topoSmallDualSocketSingleNumaPerSocketNoSMTUncore.CPUDetails.CPUsInUncoreCaches(1), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"4000m", "4000m"}, + {"4000m", "4000m"}, + }, + ), + "with-multiple-container", + ), + expUncoreCache: cpuset.New(0, 2), + }, + { + // CPU assignments able to fit on partially available uncore cache + description: "GuPodMultiContainer, LargeSingleSocketSMTUncore, PartialUncoreFit, ExpectAllocTwoUncore", + topo: topoLargeSingleSocketSingleNumaPerSocketSMTUncore, // 16 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 128, 129), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // 4 cpus allocated from uncore 1 + stDefaultCPUSet: topoLargeSingleSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( + cpuset.New(8, 9, 136, 137), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"12000m", "12000m"}, + {"12000m", "12000m"}, + }, + ), + "with-multiple-container", + ), + expUncoreCache: cpuset.New(0, 1), + }, + { + // CPU assignments unable to fit on partially available uncore cache + description: "GuPodMultiContainer, LargeSingleSocketSMTUncore, PartialUncoreNoFit, ExpectAllocTwoUncore", + topo: topoLargeSingleSocketSingleNumaPerSocketSMTUncore, // 16 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 128, 129), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // 4 cpus allocated from uncore 1 + stDefaultCPUSet: topoLargeSingleSocketSingleNumaPerSocketSMTUncore.CPUDetails.CPUs().Difference( + cpuset.New(8, 9, 136, 137), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"14000m", "14000m"}, + {"14000m", "14000m"}, + }, + ), + "with-multiple-container", + ), + expUncoreCache: cpuset.New(2, 3), + }, + { + // Full NUMA allocation on split-cache architecture with NPS=2 + description: "GuPodLargeSingleContainer, DualSocketNoSMTUncore, FullNUMAsAvail, ExpectAllocFullNUMA", + topo: topoDualSocketMultiNumaPerSocketUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 2, 3), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs(), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"48000m", "48000m"}, // NUMA's worth of CPUs + }, + ), + "with-large-single-container", + ), + expUncoreCache: cpuset.New(6, 7, 8, 9, 10, 11), // uncore caches of NUMA Node 1 + }, + { + // PreferAlignByUnCoreCacheOption will not impact monolithic x86 architectures + description: "GuPodSingleContainer, MonoUncoreCacheHT, ExpectAllocCPUSet", + topo: topoDualSocketSubNumaPerSocketHTMonolithicUncore, // Uncore cache CPUs = Socket CPUs + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 120, 121), // note 4 cpus taken from first 2 cores + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + stDefaultCPUSet: topoDualSocketSubNumaPerSocketHTMonolithicUncore.CPUDetails.CPUs(), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"6000m", "6000m"}, + }, + ), + "with-single-container", + ), + expCPUAlloc: true, + expCSet: cpuset.New(2, 3, 4, 122, 123, 124), + expUncoreCache: cpuset.New(0), + }, + { + // PreferAlignByUnCoreCacheOption on fragmented monolithic cache x86 architectures + description: "GuPodSingleContainer, MonoUncoreCacheHT, ExpectAllocCPUSet", + topo: topoSingleSocketSingleNumaPerSocketPCoreHTMonolithicUncore, // Uncore cache CPUs = Socket CPUs + numReservedCPUs: 2, + reserved: cpuset.New(0, 1), + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // CPUs 4-7 allocated + stDefaultCPUSet: topoSingleSocketSingleNumaPerSocketPCoreHTMonolithicUncore.CPUDetails.CPUs().Difference( + cpuset.New(4, 5, 6, 7), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"6000m", "6000m"}, + }, + ), + "with-single-container", + ), + expCPUAlloc: true, + expCSet: cpuset.New(2, 3, 8, 9, 16, 17), // identical to default packed assignment + expUncoreCache: cpuset.New(0), + }, + { + // Compatibility with ARM-based split cache architectures + description: "GuPodSingleContainer, LargeSingleSocketUncore, ExpectAllocOneUncore", + topo: topoLargeSingleSocketSingleNumaPerSocketUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 2, 3), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + stDefaultCPUSet: topoLargeSingleSocketSingleNumaPerSocketUncore.CPUDetails.CPUs(), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"8000m", "8000m"}, + }, + ), + "with-single-container", + ), + expUncoreCache: cpuset.New(1), + }, + { + // PreferAlignByUnCoreCacheOption on fragmented monolithic cache ARM architectures + description: "GuPodSingleContainer, MonoUncoreCacheHT, ExpectFragmentedAllocCPUSet", + topo: topoSingleSocketSingleNumaPerSocketUncore, // Uncore cache CPUs = Socket CPUs + numReservedCPUs: 2, + reserved: cpuset.New(0, 1), + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // CPUs 6-9, 12-15, 18-19 allocated + stDefaultCPUSet: topoSingleSocketSingleNumaPerSocketUncore.CPUDetails.CPUs().Difference( + cpuset.New().Union( + cpuset.New(6, 7, 8, 9), + ).Union( + cpuset.New(12, 13, 14, 15), + ).Union( + cpuset.New(18, 19), + ), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"12000m", "12000m"}, + }, + ), + "with-single-container", + ), + expCPUAlloc: true, + expCSet: cpuset.New(2, 3, 4, 5, 10, 11, 16, 17, 20, 21, 22, 23), // identical to default packed assignment + expUncoreCache: cpuset.New(0), + }, + { + // Best-effort policy can result in multiple uncore caches + // Every uncore cache is partially allocated + description: "GuPodSingleContainer, SingleSocketUncore, PartialUncore, ExpectBestEffortAllocTwoUncore", + topo: topoSmallSingleSocketSingleNumaPerSocketNoSMTUncore, // 8 cpus per uncore + numReservedCPUs: 4, + reserved: cpuset.New(0, 1, 2, 3), // note 4 cpus taken from uncore 0 + cpuPolicyOptions: map[string]string{ + FullPCPUsOnlyOption: "true", + PreferAlignByUnCoreCacheOption: "true", + }, + stAssignments: state.ContainerCPUAssignments{}, + // Every uncore has partially allocated 4 CPUs + stDefaultCPUSet: topoSmallSingleSocketSingleNumaPerSocketNoSMTUncore.CPUDetails.CPUs().Difference( + cpuset.New().Union( + cpuset.New(8, 9, 10, 11), + ).Union( + cpuset.New(16, 17, 18, 19), + ).Union( + cpuset.New(24, 25, 26, 27), + ), + ), + pod: WithPodUID( + makeMultiContainerPod( + []struct{ request, limit string }{}, // init container + []struct{ request, limit string }{ // app container + {"8000m", "8000m"}, // full uncore cache worth of cpus + }, + ), + "with-single-container", + ), + expUncoreCache: cpuset.New(0, 1), // best-effort across uncore cache 0 and 1 }, } @@ -1298,13 +1679,29 @@ func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) { } } + if testCase.expCPUAlloc { + container := &testCase.pod.Spec.Containers[0] + cset, found := st.assignments[string(testCase.pod.UID)][container.Name] + if !found { + t.Errorf("StaticPolicy Allocate() error (%v). expected container %v to be present in assignments %v", + testCase.description, container.Name, st.assignments) + } + if !testCase.expCSet.Equals(cset) { + t.Errorf("StaticPolicy Allocate() error (%v). expected CPUSet %v but got %v", + testCase.description, testCase.expCSet, cset) + } + return + } + uncoreCacheIDs, err := getPodUncoreCacheIDs(st, testCase.topo, testCase.pod) if err != nil { t.Fatalf("uncore cache check: %v", err.Error()) } ids := cpuset.New(uncoreCacheIDs...) - if ids.Size() != 1 { - t.Fatalf("not all container on the same uncore cache: %s", ids.String()) + + if !ids.Equals(testCase.expUncoreCache) { + t.Errorf("StaticPolicy Allocate() error (%v). expected UncoreCacheIDs %v but got %v", + testCase.description, testCase.expUncoreCache, ids) } }) } diff --git a/pkg/kubelet/cm/cpumanager/policy_test.go b/pkg/kubelet/cm/cpumanager/policy_test.go index ad096bd0619..5c983b2c22d 100644 --- a/pkg/kubelet/cm/cpumanager/policy_test.go +++ b/pkg/kubelet/cm/cpumanager/policy_test.go @@ -995,7 +995,7 @@ var ( } /* Topology from dual AMD EPYC 9654 96-Core Processor; lscpu excerpt - CPU(s): 384 + CPU(s): 384 On-line CPU(s) list: 0-383 Thread(s) per core: 2 Core(s) per socket: 96 @@ -1004,7 +1004,7 @@ var ( NUMA node0 CPU(s): 0-95,192-287 NUMA node1 CPU(s): 96-191,288-383 */ - topoDualSocketMultiNumaPerSocketUncore = &topology.CPUTopology{ + topoDualSocketSingleNumaPerSocketSMTUncore = &topology.CPUTopology{ NumCPUs: 384, NumCores: 192, NumUncoreCache: 24, @@ -1013,108 +1013,196 @@ var ( CPUDetails: topology.CPUDetails{ 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, - 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 4}, - 100: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 16}, - 101: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 16}, - 102: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 16}, - 103: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 16}, - 104: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 20}, - 105: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 20}, - 106: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 20}, - 107: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 20}, - 108: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 20}, - 109: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 20}, - 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 4}, - 110: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 20}, - 111: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 20}, - 112: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 24}, - 113: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 24}, - 114: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 24}, - 115: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 24}, - 116: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 24}, - 117: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 24}, - 118: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 24}, - 119: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 24}, - 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 4}, - 120: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 18}, - 121: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 18}, - 122: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 18}, - 123: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 18}, - 124: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 18}, - 125: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 18}, - 126: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 18}, - 127: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 18}, - 128: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 22}, - 129: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 22}, - 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 4}, - 130: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 22}, - 131: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 22}, - 132: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 22}, - 133: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 22}, - 134: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 22}, - 135: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 22}, - 136: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 26}, - 137: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 26}, - 138: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 26}, - 139: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 26}, - 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 4}, - 140: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 26}, - 141: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 26}, - 142: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 26}, - 143: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 26}, - 144: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 19}, - 145: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 19}, - 146: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 19}, - 147: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 19}, - 148: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 19}, - 149: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 19}, - 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 4}, - 150: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 19}, - 151: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 19}, - 152: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 23}, - 153: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 23}, - 154: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 23}, - 155: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 23}, - 156: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 23}, - 157: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 23}, - 158: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 23}, - 159: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 23}, - 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 8}, - 160: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 27}, - 161: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 27}, - 162: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 27}, - 163: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 27}, - 164: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 27}, - 165: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 27}, - 166: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 27}, - 167: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 27}, - 168: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 17}, - 169: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 17}, - 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 8}, - 170: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 17}, - 171: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 17}, - 172: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 17}, - 173: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 17}, - 174: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 17}, - 175: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 17}, - 176: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 21}, - 177: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 21}, - 178: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 21}, - 179: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 21}, - 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 8}, - 180: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 21}, - 181: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 21}, - 182: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 21}, - 183: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 21}, - 184: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 25}, - 185: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 25}, - 186: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 25}, - 187: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 25}, - 188: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 25}, - 189: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 25}, - 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 8}, - 190: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 25}, - 191: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 25}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, + 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, + 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, + 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, + 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, + 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, + 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, + 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, + 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, + 64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 96: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 12}, + 97: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 12}, + 98: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 12}, + 99: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 12}, + 100: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 12}, + 101: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 12}, + 102: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 12}, + 103: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 12}, + 104: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 13}, + 105: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 13}, + 106: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 13}, + 107: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 13}, + 108: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 13}, + 109: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 13}, + 110: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 13}, + 111: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 13}, + 112: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 14}, + 113: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 14}, + 114: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 14}, + 115: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 14}, + 116: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 14}, + 117: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 14}, + 118: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 14}, + 119: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 14}, + 120: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 15}, + 121: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 15}, + 122: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 15}, + 123: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 15}, + 124: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 15}, + 125: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 15}, + 126: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 15}, + 127: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 15}, + 128: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 16}, + 129: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 16}, + 130: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 16}, + 131: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 16}, + 132: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 16}, + 133: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 16}, + 134: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 16}, + 135: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 16}, + 136: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 17}, + 137: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 17}, + 138: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 17}, + 139: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 17}, + 140: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 17}, + 141: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 17}, + 142: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 17}, + 143: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 17}, + 144: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 18}, + 145: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 18}, + 146: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 18}, + 147: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 18}, + 148: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 18}, + 149: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 18}, + 150: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 18}, + 151: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 18}, + 152: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 19}, + 153: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 19}, + 154: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 19}, + 155: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 19}, + 156: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 19}, + 157: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 19}, + 158: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 19}, + 159: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 19}, + 160: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 20}, + 161: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 20}, + 162: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 20}, + 163: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 20}, + 164: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 20}, + 165: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 20}, + 166: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 20}, + 167: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 20}, + 168: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 21}, + 169: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 21}, + 170: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 21}, + 171: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 21}, + 172: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 21}, + 173: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 21}, + 174: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 21}, + 175: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 21}, + 176: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 22}, + 177: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 22}, + 178: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 22}, + 179: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 22}, + 180: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 22}, + 181: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 22}, + 182: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 22}, + 183: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 22}, + 184: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 23}, + 185: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 23}, + 186: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 23}, + 187: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 23}, + 188: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 23}, + 189: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 23}, + 190: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 23}, + 191: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 23}, 192: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, 193: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, 194: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, @@ -1123,278 +1211,1576 @@ var ( 197: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, 198: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, 199: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, - 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, - 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 8}, - 200: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 4}, - 201: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 4}, - 202: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 4}, - 203: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 4}, - 204: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 4}, - 205: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 4}, - 206: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 4}, - 207: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 4}, - 208: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 8}, - 209: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 8}, - 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 8}, - 210: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 8}, - 211: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 8}, - 212: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 8}, - 213: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 8}, - 214: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 8}, - 215: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 8}, - 216: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 2}, - 217: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 2}, - 218: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 2}, - 219: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 2}, - 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 8}, - 220: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 2}, - 221: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 2}, - 222: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 2}, - 223: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 2}, - 224: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 6}, - 225: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 6}, - 226: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 6}, - 227: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 6}, - 228: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 6}, - 229: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 6}, - 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 8}, - 230: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 6}, - 231: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 6}, - 232: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10}, - 233: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10}, - 234: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10}, - 235: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10}, - 236: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 10}, - 237: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 10}, - 238: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 10}, - 239: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 10}, - 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 2}, - 240: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 3}, - 241: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 3}, - 242: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 3}, - 243: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 3}, - 244: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 3}, - 245: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 3}, - 246: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 3}, - 247: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 3}, + 200: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 201: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 202: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 203: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 204: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 205: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 206: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 207: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 208: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 209: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 210: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 211: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 212: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 213: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 214: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 215: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 216: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 217: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 218: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 219: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 220: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 221: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 222: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 223: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 224: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 225: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 226: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 227: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 228: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 229: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 230: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 231: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 232: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 233: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 234: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 235: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 236: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 237: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 238: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 239: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 240: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 241: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 242: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 243: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 244: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 245: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 246: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 247: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, 248: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, 249: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, - 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 2}, 250: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, 251: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, 252: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, 253: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, 254: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, 255: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, - 256: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 11}, - 257: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 11}, - 258: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 11}, - 259: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 11}, - 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 2}, - 260: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 11}, - 261: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 11}, - 262: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 11}, - 263: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 11}, - 264: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 1}, - 265: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 1}, - 266: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 1}, - 267: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 1}, - 268: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 1}, - 269: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 1}, - 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 2}, - 270: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 1}, - 271: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 1}, - 272: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 5}, - 273: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 5}, - 274: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 5}, - 275: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 5}, - 276: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 5}, - 277: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 5}, - 278: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 5}, - 279: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 5}, - 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 2}, - 280: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 9}, - 281: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 9}, - 282: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 9}, - 283: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 9}, - 284: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 9}, - 285: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 9}, - 286: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 9}, - 287: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 9}, - 288: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 16}, - 289: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 16}, - 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 2}, - 290: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 16}, - 291: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 16}, - 292: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 16}, - 293: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 16}, - 294: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 16}, - 295: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 16}, - 296: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 20}, - 297: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 20}, - 298: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 20}, - 299: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 20}, + 256: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 257: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 258: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 259: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 260: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 261: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 262: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 263: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 264: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 265: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 266: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 267: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 268: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 269: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 270: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 271: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 272: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 273: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 274: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 275: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 276: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 277: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 278: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 279: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 280: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 281: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 282: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 283: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 284: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 285: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 286: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 287: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 288: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 12}, + 289: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 12}, + 290: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 12}, + 291: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 12}, + 292: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 12}, + 293: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 12}, + 294: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 12}, + 295: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 12}, + 296: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 13}, + 297: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 13}, + 298: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 13}, + 299: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 13}, + 300: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 13}, + 301: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 13}, + 302: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 13}, + 303: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 13}, + 304: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 14}, + 305: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 14}, + 306: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 14}, + 307: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 14}, + 308: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 14}, + 309: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 14}, + 310: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 14}, + 311: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 14}, + 312: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 15}, + 313: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 15}, + 314: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 15}, + 315: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 15}, + 316: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 15}, + 317: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 15}, + 318: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 15}, + 319: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 15}, + 320: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 16}, + 321: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 16}, + 322: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 16}, + 323: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 16}, + 324: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 16}, + 325: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 16}, + 326: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 16}, + 327: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 16}, + 328: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 17}, + 329: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 17}, + 330: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 17}, + 331: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 17}, + 332: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 17}, + 333: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 17}, + 334: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 17}, + 335: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 17}, + 336: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 18}, + 337: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 18}, + 338: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 18}, + 339: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 18}, + 340: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 18}, + 341: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 18}, + 342: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 18}, + 343: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 18}, + 344: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 19}, + 345: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 19}, + 346: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 19}, + 347: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 19}, + 348: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 19}, + 349: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 19}, + 350: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 19}, + 351: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 19}, + 352: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 20}, + 353: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 20}, + 354: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 20}, + 355: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 20}, + 356: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 20}, + 357: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 20}, + 358: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 20}, + 359: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 20}, + 360: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 21}, + 361: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 21}, + 362: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 21}, + 363: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 21}, + 364: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 21}, + 365: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 21}, + 366: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 21}, + 367: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 21}, + 368: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 22}, + 369: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 22}, + 370: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 22}, + 371: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 22}, + 372: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 22}, + 373: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 22}, + 374: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 22}, + 375: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 22}, + 376: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 23}, + 377: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 23}, + 378: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 23}, + 379: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 23}, + 380: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 23}, + 381: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 23}, + 382: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 23}, + 383: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 23}, + }, + } + /* + Topology from single AMD EPYC 7702P 64C; lscpu excerpt + CPU(s): 128 + On-line CPU(s) list: 0-127 + Thread(s) per core: 2 + Core(s) per socket: 64 + Socket(s): 1 + NUMA node(s): 1 + NUMA node0 CPU(s): 0-127 + */ + topoSingleSocketSingleNumaPerSocketSMTSmallUncore = &topology.CPUTopology{ + NumCPUs: 128, + NumCores: 64, + NumUncoreCache: 16, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, - 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 2}, - 300: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 20}, - 301: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 20}, - 302: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 20}, - 303: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 20}, - 304: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 24}, - 305: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 24}, - 306: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 24}, - 307: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 24}, - 308: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 24}, - 309: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 24}, - 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 2}, - 310: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 24}, - 311: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 24}, - 312: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 18}, - 313: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 18}, - 314: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 18}, - 315: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 18}, - 316: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 18}, - 317: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 18}, - 318: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 18}, - 319: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 18}, - 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 6}, - 320: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 22}, - 321: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 22}, - 322: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 22}, - 323: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 22}, - 324: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 22}, - 325: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 22}, - 326: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 22}, - 327: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 22}, - 328: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 26}, - 329: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 26}, - 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 6}, - 330: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 26}, - 331: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 26}, - 332: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 26}, - 333: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 26}, - 334: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 26}, - 335: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 26}, - 336: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 19}, - 337: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 19}, - 338: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 19}, - 339: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 19}, - 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 6}, - 340: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 19}, - 341: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 19}, - 342: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 19}, - 343: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 19}, - 344: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 23}, - 345: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 23}, - 346: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 23}, - 347: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 23}, - 348: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 23}, - 349: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 23}, - 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 6}, - 350: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 23}, - 351: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 23}, - 352: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 27}, - 353: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 27}, - 354: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 27}, - 355: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 27}, - 356: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 27}, - 357: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 27}, - 358: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 27}, - 359: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 27}, - 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 6}, - 360: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 17}, - 361: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 17}, - 362: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 17}, - 363: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 17}, - 364: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 17}, - 365: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 17}, - 366: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 17}, - 367: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 17}, - 368: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 21}, - 369: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 21}, - 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 6}, - 370: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 21}, - 371: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 21}, - 372: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 21}, - 373: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 21}, - 374: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 21}, - 375: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 21}, - 376: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 25}, - 377: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 25}, - 378: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 25}, - 379: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 25}, - 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 6}, - 380: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 25}, - 381: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 25}, - 382: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 25}, - 383: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 25}, - 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 6}, - 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 1}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 1}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 1}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 1}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 2}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 2}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 2}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 2}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 3}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 3}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 3}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 3}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 4}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 4}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 4}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 4}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 5}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 5}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 5}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 5}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 6}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 6}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 6}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 6}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 7}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 7}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 7}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 7}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 8}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 8}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 8}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 8}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 9}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 9}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 9}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 9}, 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10}, 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10}, 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10}, 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10}, - 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 10}, - 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 10}, - 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 10}, - 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 10}, - 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 3}, - 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 3}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 11}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 11}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 11}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 11}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 12}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 12}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 12}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 12}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 13}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 13}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 13}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 13}, + 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 14}, + 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 14}, + 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 14}, + 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 14}, + 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 15}, + 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 15}, + 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 15}, + 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 15}, + 64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 1}, + 69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 1}, + 70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 1}, + 71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 1}, + 72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 2}, + 73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 2}, + 74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 2}, + 75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 2}, + 76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 3}, + 77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 3}, + 78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 3}, + 79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 3}, + 80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 4}, + 81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 4}, + 82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 4}, + 83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 4}, + 84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 5}, + 85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 5}, + 86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 5}, + 87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 5}, + 88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 6}, + 89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 6}, + 90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 6}, + 91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 6}, + 92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 7}, + 93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 7}, + 94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 7}, + 95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 7}, + 96: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 8}, + 97: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 8}, + 98: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 8}, + 99: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 8}, + 100: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 9}, + 101: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 9}, + 102: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 9}, + 103: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 9}, + 104: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10}, + 105: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10}, + 106: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10}, + 107: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10}, + 108: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 11}, + 109: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 11}, + 110: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 11}, + 111: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 11}, + 112: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 12}, + 113: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 12}, + 114: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 12}, + 115: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 12}, + 116: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 13}, + 117: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 13}, + 118: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 13}, + 119: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 13}, + 120: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 14}, + 121: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 14}, + 122: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 14}, + 123: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 14}, + 124: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 15}, + 125: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 15}, + 126: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 15}, + 127: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 15}, + }, + } + /* + Topology from single AMD EPYC 7702P 64C; lscpu excerpt + CPU(s): 64 + On-line CPU(s) list: 0-63 + Thread(s) per core: 1 + Core(s) per socket: 64 + Socket(s): 1 + NUMA node(s): 1 + NUMA node0 CPU(s): 0-63 + */ + topoSingleSocketSingleNumaPerSocketNoSMTSmallUncore = &topology.CPUTopology{ + NumCPUs: 128, + NumCores: 64, + NumUncoreCache: 16, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 1}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 1}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 1}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 1}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 2}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 2}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 2}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 2}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 3}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 3}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 3}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 3}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 4}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 4}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 4}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 4}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 5}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 5}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 5}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 5}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 6}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 6}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 6}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 6}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 7}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 7}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 7}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 7}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 8}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 8}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 8}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 8}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 9}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 9}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 9}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 9}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 11}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 11}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 11}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 11}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 12}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 12}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 12}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 12}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 13}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 13}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 13}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 13}, + 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 14}, + 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 14}, + 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 14}, + 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 14}, + 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 15}, + 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 15}, + 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 15}, + 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 15}, + }, + } + /* + Topology from dual AMD EPYC 7303 32C; lscpu excerpt + CPU(s): 64 + On-line CPU(s) list: 0-127 + Thread(s) per core: 1 + Core(s) per socket: 32 + Socket(s): 2 + NUMA node(s): 2 + NUMA node0 CPU(s): 0-31,64-95 + NUMA node1 CPU(s): 32-63,96-127 + */ + topoSmallDualSocketSingleNumaPerSocketNoSMTUncore = &topology.CPUTopology{ + NumCPUs: 64, + NumCores: 64, + NumUncoreCache: 8, + NumSockets: 2, + NumNUMANodes: 2, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 32: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 32, UncoreCacheID: 4}, + 33: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 33, UncoreCacheID: 4}, + 34: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 34, UncoreCacheID: 4}, + 35: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 35, UncoreCacheID: 4}, + 36: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 36, UncoreCacheID: 4}, + 37: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 37, UncoreCacheID: 4}, + 38: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 38, UncoreCacheID: 4}, + 39: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 39, UncoreCacheID: 4}, + 40: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 40, UncoreCacheID: 5}, + 41: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 41, UncoreCacheID: 5}, + 42: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 42, UncoreCacheID: 5}, + 43: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 43, UncoreCacheID: 5}, + 44: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 44, UncoreCacheID: 5}, + 45: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 45, UncoreCacheID: 5}, + 46: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 46, UncoreCacheID: 5}, + 47: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 47, UncoreCacheID: 5}, + 48: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 48, UncoreCacheID: 6}, + 49: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 49, UncoreCacheID: 6}, + 50: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 50, UncoreCacheID: 6}, + 51: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 51, UncoreCacheID: 6}, + 52: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 52, UncoreCacheID: 6}, + 53: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 53, UncoreCacheID: 6}, + 54: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 54, UncoreCacheID: 6}, + 55: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 55, UncoreCacheID: 6}, + 56: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 56, UncoreCacheID: 7}, + 57: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 57, UncoreCacheID: 7}, + 58: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 58, UncoreCacheID: 7}, + 59: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 59, UncoreCacheID: 7}, + 60: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 60, UncoreCacheID: 7}, + 61: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 61, UncoreCacheID: 7}, + 62: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 62, UncoreCacheID: 7}, + 63: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 63, UncoreCacheID: 7}, + }, + } + /* + Topology from single AMD EPYC 7303 32C; lscpu excerpt + CPU(s): 32 + On-line CPU(s) list: 0-31 + Thread(s) per core: 1 + Core(s) per socket: 32 + Socket(s): 1 + NUMA node(s): 1 + NUMA node0 CPU(s): 0-31 + */ + topoSmallSingleSocketSingleNumaPerSocketNoSMTUncore = &topology.CPUTopology{ + NumCPUs: 32, + NumCores: 32, + NumUncoreCache: 4, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + }, + } + /* + Topology from dual AMD EPYC 9754 128C; lscpu excerpt + CPU(s): 128 + On-line CPU(s) list: 0-255 + Thread(s) per core: 2 + Core(s) per socket: 128 + Socket(s): 1 + NUMA node(s): 1 + NUMA node0 CPU(s): 0-255 + */ + topoLargeSingleSocketSingleNumaPerSocketSMTUncore = &topology.CPUTopology{ + NumCPUs: 256, + NumCores: 128, + NumUncoreCache: 16, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, - 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 3}, - 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 3}, - 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 3}, - 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 3}, - 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 3}, - 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 3}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, - 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, - 64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 11}, - 65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 11}, - 66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 11}, - 67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 11}, - 68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 11}, - 69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 11}, + 64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 96: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 96, UncoreCacheID: 12}, + 97: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 97, UncoreCacheID: 12}, + 98: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 98, UncoreCacheID: 12}, + 99: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 99, UncoreCacheID: 12}, + 100: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 100, UncoreCacheID: 12}, + 101: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 101, UncoreCacheID: 12}, + 102: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 102, UncoreCacheID: 12}, + 103: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 103, UncoreCacheID: 12}, + 104: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 104, UncoreCacheID: 13}, + 105: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 105, UncoreCacheID: 13}, + 106: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 106, UncoreCacheID: 13}, + 107: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 107, UncoreCacheID: 13}, + 108: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 108, UncoreCacheID: 13}, + 109: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 109, UncoreCacheID: 13}, + 110: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 110, UncoreCacheID: 13}, + 111: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 111, UncoreCacheID: 13}, + 112: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 112, UncoreCacheID: 14}, + 113: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 113, UncoreCacheID: 14}, + 114: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 114, UncoreCacheID: 14}, + 115: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 115, UncoreCacheID: 14}, + 116: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 116, UncoreCacheID: 14}, + 117: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 117, UncoreCacheID: 14}, + 118: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 118, UncoreCacheID: 14}, + 119: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 119, UncoreCacheID: 14}, + 120: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 120, UncoreCacheID: 15}, + 121: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 121, UncoreCacheID: 15}, + 122: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 122, UncoreCacheID: 15}, + 123: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 123, UncoreCacheID: 15}, + 124: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 124, UncoreCacheID: 15}, + 125: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 125, UncoreCacheID: 15}, + 126: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 126, UncoreCacheID: 15}, + 127: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 127, UncoreCacheID: 15}, + 128: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 129: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 130: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 131: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 132: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 133: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 134: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 135: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 136: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 137: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 138: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 139: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 140: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 141: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 142: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 143: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 144: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 145: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 146: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 147: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 148: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 149: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 150: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 151: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 152: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 153: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 154: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 155: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 156: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 157: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 158: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 159: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 160: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 161: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 162: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 163: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 164: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 165: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 166: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 167: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 168: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 169: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 170: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 171: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 172: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 173: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 174: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 175: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 176: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 177: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 178: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 179: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 180: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 181: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 182: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 183: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, + 184: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, + 185: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, + 186: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, + 187: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, + 188: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, + 189: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, + 190: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, + 191: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, + 192: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 193: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 194: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 195: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 196: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 197: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 198: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 199: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 200: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 201: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 202: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 203: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 204: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 205: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 206: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 207: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 208: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 209: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 210: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 211: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 212: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 213: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 214: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 215: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 216: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 217: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 218: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 219: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 220: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 221: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 222: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 223: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 224: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 96, UncoreCacheID: 12}, + 225: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 97, UncoreCacheID: 12}, + 226: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 98, UncoreCacheID: 12}, + 227: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 99, UncoreCacheID: 12}, + 228: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 100, UncoreCacheID: 12}, + 229: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 101, UncoreCacheID: 12}, + 230: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 102, UncoreCacheID: 12}, + 231: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 103, UncoreCacheID: 12}, + 232: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 104, UncoreCacheID: 13}, + 233: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 105, UncoreCacheID: 13}, + 234: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 106, UncoreCacheID: 13}, + 235: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 107, UncoreCacheID: 13}, + 236: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 108, UncoreCacheID: 13}, + 237: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 109, UncoreCacheID: 13}, + 238: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 110, UncoreCacheID: 13}, + 239: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 111, UncoreCacheID: 13}, + 240: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 112, UncoreCacheID: 14}, + 241: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 113, UncoreCacheID: 14}, + 242: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 114, UncoreCacheID: 14}, + 243: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 115, UncoreCacheID: 14}, + 244: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 116, UncoreCacheID: 14}, + 245: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 117, UncoreCacheID: 14}, + 246: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 118, UncoreCacheID: 14}, + 247: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 119, UncoreCacheID: 14}, + 248: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 120, UncoreCacheID: 15}, + 249: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 121, UncoreCacheID: 15}, + 250: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 122, UncoreCacheID: 15}, + 251: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 123, UncoreCacheID: 15}, + 252: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 124, UncoreCacheID: 15}, + 253: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 125, UncoreCacheID: 15}, + 254: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 126, UncoreCacheID: 15}, + 255: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 127, UncoreCacheID: 15}, + }, + } + /* + Topology from dual AMD EPYC 9654 96-Core Processor; lscpu excerpt + CPU(s): 192 + On-line CPU(s) list: 0-191 + Thread(s) per core: 1 + Core(s) per socket: 96 + Socket(s): 2 + NUMA node(s): 4 + NUMA node0 CPU(s): 0-47 + NUMA node1 CPU(s): 48-95 + NUMA node2 CPU(s): 96-143 + NUMA node3 CPU(s): 144-191 + */ + topoDualSocketMultiNumaPerSocketUncore = &topology.CPUTopology{ + NumCPUs: 192, + NumCores: 192, + NumUncoreCache: 24, + NumSockets: 2, + NumNUMANodes: 4, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, - 70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 11}, - 71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 11}, - 72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 1}, - 73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 1}, - 74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 1}, - 75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 1}, - 76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 1}, - 77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 1}, - 78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 1}, - 79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 1}, - 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 4}, - 80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 5}, - 81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 5}, - 82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 5}, - 83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 5}, - 84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 5}, - 85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 5}, - 86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 5}, - 87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 5}, - 88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 9}, - 89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 9}, - 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 4}, - 90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 9}, - 91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 9}, - 92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 9}, - 93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 9}, - 94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 9}, - 95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 9}, - 96: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 16}, - 97: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 16}, - 98: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 16}, - 99: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 16}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 48: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 49: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 50: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 51: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 52: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 53: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 54: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 55: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, + 56: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, + 57: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, + 58: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, + 59: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, + 60: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, + 61: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, + 62: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, + 63: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, + 64: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 65: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 66: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 67: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 68: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 69: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 70: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 71: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 72: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 73: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 74: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 75: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 76: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 77: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 78: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 79: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 80: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 81: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 82: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 83: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 84: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 85: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 86: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 87: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 88: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 89: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 90: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 91: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 92: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 93: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 94: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 95: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 96: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 0, UncoreCacheID: 12}, + 97: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 1, UncoreCacheID: 12}, + 98: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 2, UncoreCacheID: 12}, + 99: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 3, UncoreCacheID: 12}, + 100: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 4, UncoreCacheID: 12}, + 101: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 5, UncoreCacheID: 12}, + 102: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 6, UncoreCacheID: 12}, + 103: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 7, UncoreCacheID: 12}, + 104: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 8, UncoreCacheID: 13}, + 105: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 9, UncoreCacheID: 13}, + 106: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 10, UncoreCacheID: 13}, + 107: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 11, UncoreCacheID: 13}, + 108: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 12, UncoreCacheID: 13}, + 109: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 13, UncoreCacheID: 13}, + 110: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 14, UncoreCacheID: 13}, + 111: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 15, UncoreCacheID: 13}, + 112: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 16, UncoreCacheID: 14}, + 113: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 17, UncoreCacheID: 14}, + 114: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 18, UncoreCacheID: 14}, + 115: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 19, UncoreCacheID: 14}, + 116: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 20, UncoreCacheID: 14}, + 117: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 21, UncoreCacheID: 14}, + 118: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 22, UncoreCacheID: 14}, + 119: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 23, UncoreCacheID: 14}, + 120: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 24, UncoreCacheID: 15}, + 121: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 25, UncoreCacheID: 15}, + 122: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 26, UncoreCacheID: 15}, + 123: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 27, UncoreCacheID: 15}, + 124: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 28, UncoreCacheID: 15}, + 125: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 29, UncoreCacheID: 15}, + 126: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 30, UncoreCacheID: 15}, + 127: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 31, UncoreCacheID: 15}, + 128: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 32, UncoreCacheID: 16}, + 129: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 33, UncoreCacheID: 16}, + 130: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 34, UncoreCacheID: 16}, + 131: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 35, UncoreCacheID: 16}, + 132: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 36, UncoreCacheID: 16}, + 133: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 37, UncoreCacheID: 16}, + 134: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 38, UncoreCacheID: 16}, + 135: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 39, UncoreCacheID: 16}, + 136: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 40, UncoreCacheID: 17}, + 137: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 41, UncoreCacheID: 17}, + 138: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 42, UncoreCacheID: 17}, + 139: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 43, UncoreCacheID: 17}, + 140: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 44, UncoreCacheID: 17}, + 141: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 45, UncoreCacheID: 17}, + 142: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 46, UncoreCacheID: 17}, + 143: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 47, UncoreCacheID: 17}, + 144: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 48, UncoreCacheID: 18}, + 145: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 49, UncoreCacheID: 18}, + 146: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 50, UncoreCacheID: 18}, + 147: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 51, UncoreCacheID: 18}, + 148: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 52, UncoreCacheID: 18}, + 149: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 53, UncoreCacheID: 18}, + 150: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 54, UncoreCacheID: 18}, + 151: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 55, UncoreCacheID: 18}, + 152: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 56, UncoreCacheID: 19}, + 153: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 57, UncoreCacheID: 19}, + 154: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 58, UncoreCacheID: 19}, + 155: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 59, UncoreCacheID: 19}, + 156: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 60, UncoreCacheID: 19}, + 157: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 61, UncoreCacheID: 19}, + 158: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 62, UncoreCacheID: 19}, + 159: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 63, UncoreCacheID: 19}, + 160: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 64, UncoreCacheID: 20}, + 161: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 65, UncoreCacheID: 20}, + 162: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 66, UncoreCacheID: 20}, + 163: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 67, UncoreCacheID: 20}, + 164: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 68, UncoreCacheID: 20}, + 165: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 69, UncoreCacheID: 20}, + 166: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 70, UncoreCacheID: 20}, + 167: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 71, UncoreCacheID: 20}, + 168: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 72, UncoreCacheID: 21}, + 169: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 73, UncoreCacheID: 21}, + 170: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 74, UncoreCacheID: 21}, + 171: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 75, UncoreCacheID: 21}, + 172: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 76, UncoreCacheID: 21}, + 173: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 77, UncoreCacheID: 21}, + 174: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 78, UncoreCacheID: 21}, + 175: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 79, UncoreCacheID: 21}, + 176: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 80, UncoreCacheID: 22}, + 177: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 81, UncoreCacheID: 22}, + 178: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 82, UncoreCacheID: 22}, + 179: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 83, UncoreCacheID: 22}, + 180: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 84, UncoreCacheID: 22}, + 181: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 85, UncoreCacheID: 22}, + 182: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 86, UncoreCacheID: 22}, + 183: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 87, UncoreCacheID: 22}, + 184: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 88, UncoreCacheID: 23}, + 185: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 89, UncoreCacheID: 23}, + 186: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 90, UncoreCacheID: 23}, + 187: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 91, UncoreCacheID: 23}, + 188: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 92, UncoreCacheID: 23}, + 189: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 93, UncoreCacheID: 23}, + 190: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 94, UncoreCacheID: 23}, + 191: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 95, UncoreCacheID: 23}, + }, + } + /* + Topology from dual Intel Xeon Platinum 8490H 60-Core Processor; lscpu excerpt + CPU(s): 240 + On-line CPU(s) list: 0-239 + Thread(s) per core: 2 + Core(s) per socket: 60 + Socket(s): 2 + NUMA node(s): 4 + NUMA node0 CPU(s): 0-29,120-149 + NUMA node1 CPU(s): 30-59,150-179 + NUMA node2 CPU(s): 60-89,180-209 + NUMA node3 CPU(s): 90-119,210-239 + */ + topoDualSocketSubNumaPerSocketHTMonolithicUncore = &topology.CPUTopology{ + NumCPUs: 240, + NumCores: 120, + NumUncoreCache: 2, + NumSockets: 2, + NumNUMANodes: 4, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 0}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 0}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 0}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 0}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 0}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 0}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 0}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 0}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 0}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 0}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 0}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 0}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 0}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 0}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 0}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 0}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 0}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 0}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 0}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 0}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 0}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 0}, + 30: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 30, UncoreCacheID: 0}, + 31: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 31, UncoreCacheID: 0}, + 32: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 32, UncoreCacheID: 0}, + 33: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 33, UncoreCacheID: 0}, + 34: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 34, UncoreCacheID: 0}, + 35: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 35, UncoreCacheID: 0}, + 36: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 36, UncoreCacheID: 0}, + 37: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 37, UncoreCacheID: 0}, + 38: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 38, UncoreCacheID: 0}, + 39: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 39, UncoreCacheID: 0}, + 40: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 40, UncoreCacheID: 0}, + 41: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 41, UncoreCacheID: 0}, + 42: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 42, UncoreCacheID: 0}, + 43: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 43, UncoreCacheID: 0}, + 44: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 44, UncoreCacheID: 0}, + 45: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 45, UncoreCacheID: 0}, + 46: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 46, UncoreCacheID: 0}, + 47: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 47, UncoreCacheID: 0}, + 48: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 48, UncoreCacheID: 0}, + 49: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 49, UncoreCacheID: 0}, + 50: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 50, UncoreCacheID: 0}, + 51: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 51, UncoreCacheID: 0}, + 52: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 52, UncoreCacheID: 0}, + 53: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 53, UncoreCacheID: 0}, + 54: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 54, UncoreCacheID: 0}, + 55: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 55, UncoreCacheID: 0}, + 56: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 56, UncoreCacheID: 0}, + 57: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 57, UncoreCacheID: 0}, + 58: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 58, UncoreCacheID: 0}, + 59: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 59, UncoreCacheID: 0}, + 60: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 60, UncoreCacheID: 1}, + 61: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 61, UncoreCacheID: 1}, + 62: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 62, UncoreCacheID: 1}, + 63: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 63, UncoreCacheID: 1}, + 64: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 64, UncoreCacheID: 1}, + 65: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 65, UncoreCacheID: 1}, + 66: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 66, UncoreCacheID: 1}, + 67: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 67, UncoreCacheID: 1}, + 68: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 68, UncoreCacheID: 1}, + 69: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 69, UncoreCacheID: 1}, + 70: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 70, UncoreCacheID: 1}, + 71: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 71, UncoreCacheID: 1}, + 72: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 72, UncoreCacheID: 1}, + 73: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 73, UncoreCacheID: 1}, + 74: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 74, UncoreCacheID: 1}, + 75: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 75, UncoreCacheID: 1}, + 76: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 76, UncoreCacheID: 1}, + 77: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 77, UncoreCacheID: 1}, + 78: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 78, UncoreCacheID: 1}, + 79: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 79, UncoreCacheID: 1}, + 80: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 80, UncoreCacheID: 1}, + 81: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 81, UncoreCacheID: 1}, + 82: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 82, UncoreCacheID: 1}, + 83: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 83, UncoreCacheID: 1}, + 84: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 84, UncoreCacheID: 1}, + 85: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 85, UncoreCacheID: 1}, + 86: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 86, UncoreCacheID: 1}, + 87: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 87, UncoreCacheID: 1}, + 88: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 88, UncoreCacheID: 1}, + 89: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 89, UncoreCacheID: 1}, + 90: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 90, UncoreCacheID: 1}, + 91: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 91, UncoreCacheID: 1}, + 92: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 92, UncoreCacheID: 1}, + 93: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 93, UncoreCacheID: 1}, + 94: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 94, UncoreCacheID: 1}, + 95: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 95, UncoreCacheID: 1}, + 96: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 96, UncoreCacheID: 1}, + 97: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 97, UncoreCacheID: 1}, + 98: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 98, UncoreCacheID: 1}, + 99: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 99, UncoreCacheID: 1}, + 100: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 100, UncoreCacheID: 1}, + 101: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 101, UncoreCacheID: 1}, + 102: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 102, UncoreCacheID: 1}, + 103: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 103, UncoreCacheID: 1}, + 104: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 104, UncoreCacheID: 1}, + 105: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 105, UncoreCacheID: 1}, + 106: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 106, UncoreCacheID: 1}, + 107: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 107, UncoreCacheID: 1}, + 108: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 108, UncoreCacheID: 1}, + 109: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 109, UncoreCacheID: 1}, + 110: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 110, UncoreCacheID: 1}, + 111: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 111, UncoreCacheID: 1}, + 112: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 112, UncoreCacheID: 1}, + 113: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 113, UncoreCacheID: 1}, + 114: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 114, UncoreCacheID: 1}, + 115: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 115, UncoreCacheID: 1}, + 116: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 116, UncoreCacheID: 1}, + 117: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 117, UncoreCacheID: 1}, + 118: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 118, UncoreCacheID: 1}, + 119: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 119, UncoreCacheID: 1}, + 120: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 121: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 122: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 123: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 124: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 125: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 126: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 127: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 128: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 0}, + 129: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 0}, + 130: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 0}, + 131: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 0}, + 132: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 0}, + 133: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 0}, + 134: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 0}, + 135: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 0}, + 136: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 0}, + 137: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 0}, + 138: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 0}, + 139: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 0}, + 140: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 0}, + 141: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 0}, + 142: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 0}, + 143: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 0}, + 144: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 0}, + 145: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 0}, + 146: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 0}, + 147: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 0}, + 148: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 0}, + 149: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 0}, + 150: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 30, UncoreCacheID: 0}, + 151: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 31, UncoreCacheID: 0}, + 152: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 32, UncoreCacheID: 0}, + 153: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 33, UncoreCacheID: 0}, + 154: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 34, UncoreCacheID: 0}, + 155: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 35, UncoreCacheID: 0}, + 156: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 36, UncoreCacheID: 0}, + 157: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 37, UncoreCacheID: 0}, + 158: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 38, UncoreCacheID: 0}, + 159: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 39, UncoreCacheID: 0}, + 160: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 40, UncoreCacheID: 0}, + 161: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 41, UncoreCacheID: 0}, + 162: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 42, UncoreCacheID: 0}, + 163: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 43, UncoreCacheID: 0}, + 164: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 44, UncoreCacheID: 0}, + 165: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 45, UncoreCacheID: 0}, + 166: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 46, UncoreCacheID: 0}, + 167: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 47, UncoreCacheID: 0}, + 168: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 48, UncoreCacheID: 0}, + 169: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 49, UncoreCacheID: 0}, + 170: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 50, UncoreCacheID: 0}, + 171: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 51, UncoreCacheID: 0}, + 172: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 52, UncoreCacheID: 0}, + 173: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 53, UncoreCacheID: 0}, + 174: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 54, UncoreCacheID: 0}, + 175: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 55, UncoreCacheID: 0}, + 176: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 56, UncoreCacheID: 0}, + 177: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 57, UncoreCacheID: 0}, + 178: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 58, UncoreCacheID: 0}, + 179: topology.CPUInfo{NUMANodeID: 1, SocketID: 0, CoreID: 59, UncoreCacheID: 0}, + 180: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 60, UncoreCacheID: 1}, + 181: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 61, UncoreCacheID: 1}, + 182: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 62, UncoreCacheID: 1}, + 183: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 63, UncoreCacheID: 1}, + 184: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 64, UncoreCacheID: 1}, + 185: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 65, UncoreCacheID: 1}, + 186: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 66, UncoreCacheID: 1}, + 187: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 67, UncoreCacheID: 1}, + 188: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 68, UncoreCacheID: 1}, + 189: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 69, UncoreCacheID: 1}, + 190: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 70, UncoreCacheID: 1}, + 191: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 71, UncoreCacheID: 1}, + 192: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 72, UncoreCacheID: 1}, + 193: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 73, UncoreCacheID: 1}, + 194: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 74, UncoreCacheID: 1}, + 195: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 75, UncoreCacheID: 1}, + 196: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 76, UncoreCacheID: 1}, + 197: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 77, UncoreCacheID: 1}, + 198: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 78, UncoreCacheID: 1}, + 199: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 79, UncoreCacheID: 1}, + 200: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 80, UncoreCacheID: 1}, + 201: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 81, UncoreCacheID: 1}, + 202: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 82, UncoreCacheID: 1}, + 203: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 83, UncoreCacheID: 1}, + 204: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 84, UncoreCacheID: 1}, + 205: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 85, UncoreCacheID: 1}, + 206: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 86, UncoreCacheID: 1}, + 207: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 87, UncoreCacheID: 1}, + 208: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 88, UncoreCacheID: 1}, + 209: topology.CPUInfo{NUMANodeID: 2, SocketID: 1, CoreID: 89, UncoreCacheID: 1}, + 210: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 90, UncoreCacheID: 1}, + 211: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 91, UncoreCacheID: 1}, + 212: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 92, UncoreCacheID: 1}, + 213: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 93, UncoreCacheID: 1}, + 214: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 94, UncoreCacheID: 1}, + 215: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 95, UncoreCacheID: 1}, + 216: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 96, UncoreCacheID: 1}, + 217: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 97, UncoreCacheID: 1}, + 218: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 98, UncoreCacheID: 1}, + 219: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 99, UncoreCacheID: 1}, + 220: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 100, UncoreCacheID: 1}, + 221: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 101, UncoreCacheID: 1}, + 222: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 102, UncoreCacheID: 1}, + 223: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 103, UncoreCacheID: 1}, + 224: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 104, UncoreCacheID: 1}, + 225: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 105, UncoreCacheID: 1}, + 226: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 106, UncoreCacheID: 1}, + 227: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 107, UncoreCacheID: 1}, + 228: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 108, UncoreCacheID: 1}, + 229: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 109, UncoreCacheID: 1}, + 230: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 110, UncoreCacheID: 1}, + 231: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 111, UncoreCacheID: 1}, + 232: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 112, UncoreCacheID: 1}, + 233: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 113, UncoreCacheID: 1}, + 234: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 114, UncoreCacheID: 1}, + 235: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 115, UncoreCacheID: 1}, + 236: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 116, UncoreCacheID: 1}, + 237: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 117, UncoreCacheID: 1}, + 238: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 118, UncoreCacheID: 1}, + 239: topology.CPUInfo{NUMANodeID: 3, SocketID: 1, CoreID: 119, UncoreCacheID: 1}, + }, + } + /* + Topology from dual Intel Core i7-12850HX 10-Core Processor; lscpu excerpt + CPU(s): 24 + On-line CPU(s) list: 0-23 + Thread(s) per core: 2 + Core(s) per socket: 16 + Socket(s): 1 + NUMA node(s): 1 + */ + topoSingleSocketSingleNumaPerSocketPCoreHTMonolithicUncore = &topology.CPUTopology{ + NumCPUs: 24, + NumCores: 16, // 8 E-Cores and 8 P-Cores + NumUncoreCache: 1, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 0}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 0}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 0}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 0}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 0}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 0}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 0}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 0}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 0}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 0}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 0}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 0}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 0}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 0}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 0}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 0}, + }, + } + /* + Topology from 1P ARM Ampere Altra 128C; lscpu excerpt + CPU(s): 128 + On-line CPU(s) list: 0-127 + Thread(s) per core: 1 + Core(s) per socket: 128 + Socket(s): 1 + NUMA node(s): 1 + */ + topoLargeSingleSocketSingleNumaPerSocketUncore = &topology.CPUTopology{ + NumCPUs: 128, + NumCores: 128, + NumUncoreCache: 16, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 1}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 1}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 1}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 1}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 1}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 1}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 1}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 1}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 2}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 2}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 2}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 2}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 2}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 2}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 2}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 2}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 3}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 3}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 3}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 3}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 3}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 3}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 3}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 3}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 4}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 4}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 4}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 4}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 4}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 4}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 4}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 4}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 5}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 5}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 5}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 5}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 5}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 5}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 5}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 5}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 6}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 6}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 6}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 6}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 6}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 6}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 6}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 6}, + 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7}, + 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7}, + 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7}, + 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7}, + 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7}, + 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7}, + 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7}, + 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7}, + 64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 8}, + 65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 8}, + 66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 8}, + 67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 8}, + 68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 8}, + 69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 8}, + 70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 8}, + 71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 8}, + 72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 9}, + 73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 9}, + 74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 9}, + 75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 9}, + 76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 9}, + 77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 9}, + 78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 9}, + 79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 9}, + 80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 10}, + 81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 10}, + 82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 10}, + 83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 10}, + 84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 10}, + 85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 10}, + 86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 10}, + 87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 10}, + 88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 11}, + 89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 11}, + 90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 11}, + 91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 11}, + 92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 11}, + 93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 11}, + 94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 11}, + 95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 11}, + 96: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 96, UncoreCacheID: 12}, + 97: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 97, UncoreCacheID: 12}, + 98: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 98, UncoreCacheID: 12}, + 99: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 99, UncoreCacheID: 12}, + 100: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 100, UncoreCacheID: 12}, + 101: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 101, UncoreCacheID: 12}, + 102: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 102, UncoreCacheID: 12}, + 103: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 103, UncoreCacheID: 12}, + 104: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 104, UncoreCacheID: 13}, + 105: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 105, UncoreCacheID: 13}, + 106: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 106, UncoreCacheID: 13}, + 107: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 107, UncoreCacheID: 13}, + 108: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 108, UncoreCacheID: 13}, + 109: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 109, UncoreCacheID: 13}, + 110: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 110, UncoreCacheID: 13}, + 111: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 111, UncoreCacheID: 13}, + 112: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 112, UncoreCacheID: 14}, + 113: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 113, UncoreCacheID: 14}, + 114: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 114, UncoreCacheID: 14}, + 115: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 115, UncoreCacheID: 14}, + 116: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 116, UncoreCacheID: 14}, + 117: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 117, UncoreCacheID: 14}, + 118: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 118, UncoreCacheID: 14}, + 119: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 119, UncoreCacheID: 14}, + 120: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 120, UncoreCacheID: 15}, + 121: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 121, UncoreCacheID: 15}, + 122: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 122, UncoreCacheID: 15}, + 123: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 123, UncoreCacheID: 15}, + 124: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 124, UncoreCacheID: 15}, + 125: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 125, UncoreCacheID: 15}, + 126: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 126, UncoreCacheID: 15}, + 127: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 127, UncoreCacheID: 15}, + }, + } + /* + Topology from 1P AWS Graviton3 64C; lscpu excerpt + CPU(s): 64 + On-line CPU(s) list: 0-63 + Thread(s) per core: 1 + Core(s) per socket: 64 + Socket(s): 1 + NUMA node(s): 1 + */ + topoSingleSocketSingleNumaPerSocketUncore = &topology.CPUTopology{ + NumCPUs: 64, + NumCores: 64, + NumUncoreCache: 1, + NumSockets: 1, + NumNUMANodes: 1, + CPUDetails: topology.CPUDetails{ + 0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0}, + 1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0}, + 2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0}, + 3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0}, + 4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0}, + 5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0}, + 6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0}, + 7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0}, + 8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 0}, + 9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 0}, + 10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 0}, + 11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 0}, + 12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 0}, + 13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 0}, + 14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 0}, + 15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 0}, + 16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 0}, + 17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 0}, + 18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 0}, + 19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 0}, + 20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 0}, + 21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 0}, + 22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 0}, + 23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 0}, + 24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 0}, + 25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 0}, + 26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 0}, + 27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 0}, + 28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 0}, + 29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 0}, + 30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 0}, + 31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 0}, + 32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 0}, + 33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 0}, + 34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 0}, + 35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 0}, + 36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 0}, + 37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 0}, + 38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 0}, + 39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 0}, + 40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 0}, + 41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 0}, + 42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 0}, + 43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 0}, + 44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 0}, + 45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 0}, + 46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 0}, + 47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 0}, + 48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 0}, + 49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 0}, + 50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 0}, + 51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 0}, + 52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 0}, + 53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 0}, + 54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 0}, + 55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 0}, + 56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 0}, + 57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 0}, + 58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 0}, + 59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 0}, + 60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 0}, + 61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 0}, + 62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 0}, + 63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 0}, }, } )