Какой логический процессор (ядро) принадлежит к какому сокету?

Мне нужно проверить производительность многопоточной программы на 1 процессоре, но у меня есть двухпроцессорная машина. Мне нужно установить сродство к тем логическим процессорам, которые разделяют их сокет, иначе они сильно выиграют от большего количества FSB. Я пробовал affinity 0-7 и 8-15, но результаты значительно отличаются, первый быстрее. Поэтому я не знаю, какой логический процессор разделяет их сокет.

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    1
Core(s) per socket:    8
CPU socket(s):         2
NUMA node(s):          4
Vendor ID:             AuthenticAMD
CPU family:            16
Model:                 9
Stepping:              1
CPU MHz:               800.000
BogoMIPS:              4000.40
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
L3 cache:              5118K
NUMA node0 CPU(s):     0-3
NUMA node1 CPU(s):     4-7
NUMA node2 CPU(s):     12-15
NUMA node3 CPU(s):     8-11


~]$ cat /proc/cpuinfo | grep 'core id'
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3
19
задан Vladimir F
06.11.2022 6:37 Количество просмотров материала 3257
Распечатать страницу

2 ответа

первые 8 процессоров от одного обломока и вторых 8 процессоров от другого обломока. Вы можете отличить его по physical id. Что касается разницы в производительности-понятия не имею.

4
отвечен Serge 2022-11-07 14:25

задержка 2 процессоров имеет значение. Прочитайте спецификации для вашей материнской платы, и вы будете знать, что один из них является основным и необходимым для запуска платформы.

например, вы можете запустить платформу, заполнив socket0 и socket0, socket1, но вы не можете запустить платформу, заполнив только socket1.

вот почему у тебя разница в производительности на каждом из них. Они должны быть похожи в любом случае, но они не будут идентичны.

0
отвечен tygore 2022-11-07 16:42

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

affinity
core
cpu
linux
threads
Вверх