From 74a6dc8f336867864cbef9857fc73f68fa6722b2 Mon Sep 17 00:00:00 2001 From: "The gemma.cpp Authors" Date: Mon, 22 Jul 2024 10:08:31 -0700 Subject: [PATCH] Use all CPU sockets when pinning threads to cores PiperOrigin-RevId: 654800375 --- util/app.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/util/app.h b/util/app.h index d8b7405..bbd2047 100644 --- a/util/app.h +++ b/util/app.h @@ -83,9 +83,10 @@ static inline std::vector AssignCpusFromTopology( // This would result in the least amount of sharing of the last-level // cache slices. All assignments are made from Package 0. std::vector> clusters; - clusters.reserve(topology.packages[0].clusters.size()); - for (auto& cluster : topology.packages[0].clusters) { - clusters.push_back(LpsToCpus(cluster.lps)); + for (auto& package : topology.packages) { + for (auto& cluster : package.clusters) { + clusters.push_back(LpsToCpus(cluster.lps)); + } } std::vector assigned_cpus; assigned_cpus.reserve(num_workers);