将每个线程分配给具有64个以上内核的CPU上自己的逻辑内核

时间:2019-03-03 18:55:21

标签: c++ multithreading winapi caching cpu

为了优化L1 / L2缓存的性能,我想确保每个线程仅在其自己的逻辑内核上运行。 我看过SetProcessAffinityMask(),对于内核少于64个的CPU,我可以将掩码1LL<<i分配给线程i

但是,使用64个以上的CPU内核会使事情变得非常复杂。有人可以简单地解释一下如何将每个线程分配给自己的CPU内核,而可以有多个CPU总共有64个以上的内核,或者单个CPU可以有多个内核。 96个逻辑核心?

0 个答案:

没有答案