gpt4 book ai didi

cpuinfo 决定处理器关联

转载 作者:太空狗 更新时间:2023-10-29 11:19:49 26 4
gpt4 key购买 nike

我试图根据/proc/cpuinfo 为我的应用程序决定处理器关联规则,我的 redhat Linux 显示

processor   : 0   to  47  , means server has 48 processor unit

physical id : 0 to 3 , means server has 4 cpu sockets

cpu cores : 6 , means each socket has 6 cores

siblings : 12 , means each core has 2 hyperthreads

总的来说,这台服务器有 4 * 6 * 2 = 48 个处理器单元,到目前为止我是否正确?

我喜欢做的是使用 sched_setaffinity 函数,首先我想知道的是同一个核心中的超线程,例如......

processor 0  : physical id:0,core id: 0  ...
processor 24 : physical id:0,core id: 0 ...

如果在我的应用程序中,我在线程 1 中使用 CPU_SET(0, &mask),CPU_SET(24, &mask)在 thread2 中,那么我可以说 thread1 和 thread2 将共享相同的 L1 缓存,当然也共享相同的 L2 缓存...我的猜测是否正确?

最佳答案

如果您的线程被安排在同一个核心(即不同的超线程)上,您只能保证完全共享缓存,在这种情况下,您的方法是正确的。

但请记住,将两个任务安排在同一个核心上不一定会使它们运行得比将它们安排在不同的核心上更快。所有内核共享的 L3 速度非常快。

您需要检查缓存是如何在您的处理器之间共享的。大多数 Intel 处理器在 2-4 个内核之间共享 L2,在所有内核之间共享 L3,而大多数 AMD 型号仅共享 L3。

关于cpuinfo 决定处理器关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com