2010-11-26 3 views
5

Я Intel (R) Core (TM) 2 Duo CPU T6600 @ 2.20GHz (как мне сказали cat /proc/cpuinfo), но мне нужно зайти как можно глубже. архитектура для работы над параллельным программированием (вероятно, с использованием pthreads). Любые указатели?Как найти информацию о параллельной архитектуре моего процессора?

ответ

10

СИС файловая система знает все об этом:

$ ls /sys/devices/system/cpu 
cpu0 cpu2 cpuidle possible sched_mc_power_savings 
cpu1 cpu3 online present 

$ ls /sys/devices/system/cpu/cpu0/topology/ 
core_id  core_siblings_list thread_siblings 
core_siblings physical_package_id thread_siblings_list 

Вот documentation

Используя эту файловую систему, вы можете узнать, сколько процессоров у вас есть, сколько потоков у них есть, что процессоры рядом с которым другой процессор, и какие CPU разделяют кеши, с которыми другие.

Например, Q: какие процессоры делают cpu0 совместно используемым кэшем L2?

$ cat /sys/devices/system/cpu/cpu0/cache/index2/{type,level,shared_cpu_list} 
Unified 
2 
0-1 

A: Он разделяет единый кэш L2 с cpu1 (и сам).

Другой пример: Q: какие процессоры находятся в одной и той же физической пакет как CPU0 (на большей машине):

cat /sys/devices/system/cpu/cpu0/topology/core_siblings 
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000055 

A: сердечники 0, 2, 4 и 6. (взятый из битового шаблона выше, LSB = cpu0)


не все системы Linux имеют SYS файловую систему, и это не всегда в корне. (возможно, в proc/sys?). форма thread_siblings_list не всегда доступна, но одна из них - thread_siblings (bit pattern).

-2

Чтобы получить самую низкую информацию о процессоре, системный инженер может запустить свой эквивалент CPUZ и получить до минимальных уровней, если это разрешено законом, для домашнего или офисного адреса, где должен быть установлен и использован процессор. Разработчикам и разработчикам программного обеспечения обычно не разрешается знать этот уровень детализации, но я могу сказать, что архитектура может быть того типа, где возникает процессор, или экземпляров виртуального второго процессора, близкого к эквиваленту обработки x1.75, или существуют реальные физические множественные ядра на одной и той же матрице с использованием технологий и методов управления в качестве усовершенствований предыдущих реализаций проекта. Процессор Core имеет интерфейс для системных программистов, разработчиков приложений для использования, и этот способ доступа будет ожиданием Intel, а также информацией, доступной от них.

2

Я нашел lstopohwloc project весьма полезно. Это даст вам графический вывод (на основе информации, найденной в /proc и /sys, как описано Алексом Брауном) топологии вашей системы (например, на их веб-странице).Из графического вывода вы можете легко увидеть

  • если hyperthreaded ядро ​​присутствует
  • , которые соответствуют номерам центрального процессора разные hyperthreads на одном физическом ядре
  • сколько используются сокеты CPU
  • который сердечники доли кэш L3
  • если основная память является общей между процессорными разъемами или вы на системе NUMA ли

и т. Д.

Если вам нужно получить доступ к этой информации программно, существует некоторая документация, согласно которой hwloc может использоваться как библиотека.

Смежные вопросы