gpt4 book ai didi

c - 识别哪个逻辑核心是超线程的,哪个不是

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

我从/proc/cpuinfo(如下所示)获得了这些信息。我的问题是这里哪个核心是超线程的。其次,哪个核心在哪个处理器上,因为这里有两个四核处理器,因为它是一个双路系统,总共有8个核心。

我将其解释为,核心 0、2、4 和 6 是处理器 1 中的 4 个物理核心,而核心 1、3、5 和 7 是处理器 0 中的 4 个物理核心。核心 9-15 是超线程那些。我的解释正确吗?

-bash-3.2$ cat /proc/cpuinfo | grep 'physical id'
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
physical id : 1
physical id : 0
-bash-3.2$ cat /proc/cpuinfo | grep 'core id'
core id : 0
core id : 0
core id : 1
core id : 1
core id : 2
core id : 2
core id : 3
core id : 3
core id : 0
core id : 0
core id : 1
core id : 1
core id : 2
core id : 2
core id : 3
core id : 3
-bash-3.2$ cat /proc/cpuinfo | grep 'processor'
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
processor : 8
processor : 9
processor : 10
processor : 11
processor : 12
processor : 13
processor : 14
processor : 15

最佳答案

你能发布启动时的 dmesg 结果吗?它们应该包含 coreids 的描述:

http://lxr.linux.no/linux+v3.0.4/arch/x86/kernel/cpu/common.c#L493

 493        if (!printed && (c->x86_max_cores * smp_num_siblings) > 1) {
494 printk(KERN_INFO "CPU: Physical Processor ID: %d\n",
495 c->phys_proc_id);
496 printk(KERN_INFO "CPU: Processor Core ID: %d\n",
497 c->cpu_core_id

另一种变体是使用hwloc:http://www.open-mpi.org/projects/hwloc/

它的创建是为了挖掘任何系统的拓扑结构。正常系统示例:

Example of topology in graphic form

它将代表HT-cores:

Example of HT-topology in graphic form

此实用程序的输出可以是文本格式、xml 格式、呈现。

关于c - 识别哪个逻辑核心是超线程的,哪个不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291706/

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