Как я узнаю, какие ПЗС и ПЗС включены в каждое из моих ядер? (Ryzen 3950X)

У меня Ryzen 3950X, и я знаю, что он выглядит так:

Схема Ryzen 3950X

Итак, мои 16 ядер разделены на 4 группы по 4 (CCX-es), и эти группы разделены на 2 большие группы (CCD-ы).

Насколько я понимаю, все ядра внутри CCX могут довольно быстро связываться друг с другом, поскольку они совместно используют память L3. Ядра в двух разных CCX могут по-прежнему обмениваться данными довольно быстро, пока они находятся в одном CDD, поскольку CCX-ы напрямую подключены через бесконечную матрицу. Однако ядра в разных ПЗС-матрицах обмениваются данными медленнее всего, так как им приходится использовать «более длинный маршрут» для связи. (Я мог бы придумывать части этого, поправьте меня, если я ошибаюсь.)

Я хочу играть в игры на виртуальной машине, поэтому мне, вероятно, следует, по крайней мере, убедиться, что все ядра ЦП, которые я сопоставляю с виртуальной машиной, находятся на одной ПЗС. Как я могу понять это в Linux?

Это результат lscpu -e на моей машине:

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ    MINMHZ
  0    0      0    0 0:0:0:0          yes 3500.0000 2200.0000
  1    0      0    1 1:1:1:0          yes 3500.0000 2200.0000
  2    0      0    2 2:2:2:0          yes 3500.0000 2200.0000
  3    0      0    3 3:3:3:0          yes 3500.0000 2200.0000
  4    0      0    4 4:4:4:1          yes 3500.0000 2200.0000
  5    0      0    5 5:5:5:1          yes 3500.0000 2200.0000
  6    0      0    6 6:6:6:1          yes 3500.0000 2200.0000
  7    0      0    7 7:7:7:1          yes 3500.0000 2200.0000
  8    0      0    8 8:8:8:2          yes 3500.0000 2200.0000
  9    0      0    9 9:9:9:2          yes 3500.0000 2200.0000
 10    0      0   10 10:10:10:2       yes 3500.0000 2200.0000
 11    0      0   11 11:11:11:2       yes 3500.0000 2200.0000
 12    0      0   12 12:12:12:3       yes 3500.0000 2200.0000
 13    0      0   13 13:13:13:3       yes 3500.0000 2200.0000
 14    0      0   14 14:14:14:3       yes 3500.0000 2200.0000
 15    0      0   15 15:15:15:3       yes 3500.0000 2200.0000
 16    0      0    0 0:0:0:0          yes 3500.0000 2200.0000
 17    0      0    1 1:1:1:0          yes 3500.0000 2200.0000
 18    0      0    2 2:2:2:0          yes 3500.0000 2200.0000
 19    0      0    3 3:3:3:0          yes 3500.0000 2200.0000
 20    0      0    4 4:4:4:1          yes 3500.0000 2200.0000
 21    0      0    5 5:5:5:1          yes 3500.0000 2200.0000
 22    0      0    6 6:6:6:1          yes 3500.0000 2200.0000
 23    0      0    7 7:7:7:1          yes 3500.0000 2200.0000
 24    0      0    8 8:8:8:2          yes 3500.0000 2200.0000
 25    0      0    9 9:9:9:2          yes 3500.0000 2200.0000
 26    0      0   10 10:10:10:2       yes 3500.0000 2200.0000
 27    0      0   11 11:11:11:2       yes 3500.0000 2200.0000
 28    0      0   12 12:12:12:3       yes 3500.0000 2200.0000
 29    0      0   13 13:13:13:3       yes 3500.0000 2200.0000
 30    0      0   14 14:14:14:3       yes 3500.0000 2200.0000
 31    0      0   15 15:15:15:3       yes 3500.0000 2200.0000

Итак, основываясь на идентификаторе памяти L3, я могу узнать, какие ядра находятся на одном CCX, но я до сих пор не знаю, какие из них находятся на одной CCD.

lstopo также показывает только 4 CCX-матрицы, а не CCD-матрицы.

Есть ли способ в этом разобраться? И имеет ли вообще какое-то значение для задержки, если ядра находятся на разных ПЗС-матрицах?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *