Я Intel (R) Core (TM) 2 Duo CPU T6600 @ 2.20GHz (как мне сказали cat /proc/cpuinfo
), но мне нужно зайти как можно глубже. архитектура для работы над параллельным программированием (вероятно, с использованием pthreads
). Любые указатели?Как найти информацию о параллельной архитектуре моего процессора?
ответ
СИС файловая система знает все об этом:
$ 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).
Чтобы получить самую низкую информацию о процессоре, системный инженер может запустить свой эквивалент CPUZ и получить до минимальных уровней, если это разрешено законом, для домашнего или офисного адреса, где должен быть установлен и использован процессор. Разработчикам и разработчикам программного обеспечения обычно не разрешается знать этот уровень детализации, но я могу сказать, что архитектура может быть того типа, где возникает процессор, или экземпляров виртуального второго процессора, близкого к эквиваленту обработки x1.75, или существуют реальные физические множественные ядра на одной и той же матрице с использованием технологий и методов управления в качестве усовершенствований предыдущих реализаций проекта. Процессор Core имеет интерфейс для системных программистов, разработчиков приложений для использования, и этот способ доступа будет ожиданием Intel, а также информацией, доступной от них.
Я нашел lstopo
hwloc project весьма полезно. Это даст вам графический вывод (на основе информации, найденной в /proc
и /sys
, как описано Алексом Брауном) топологии вашей системы (например, на их веб-странице).Из графического вывода вы можете легко увидеть
- если hyperthreaded ядро присутствует
- , которые соответствуют номерам центрального процессора разные hyperthreads на одном физическом ядре
- сколько используются сокеты CPU
- который сердечники доли кэш L3
- если основная память является общей между процессорными разъемами или вы на системе NUMA ли
и т. Д.
Если вам нужно получить доступ к этой информации программно, существует некоторая документация, согласно которой hwloc
может использоваться как библиотека.
- 1. 4 вопроса о архитектуре процессора. (Компьютерная инженерия)
- 2. Как получить информацию о архитектуре тензорного потока
- 3. Как понять информацию о моем андроиде процессора
- 4. Библиотека PyBrain в параллельной архитектуре
- 5. Найти информацию о системе
- 6. найти информацию о сети
- 7. Найти информацию о месте
- 8. Как выполнить надежные тесты производительности в параллельной архитектуре?
- 9. Как найти информацию о HTTP-запросе
- 10. Быстро найти информацию о GridView?
- 11. Процессор: Как получить информацию о кеш-памяти о intel xeon
- 12. Предупреждение о параллельной теме
- 13. О архитектуре Android?
- 14. Как найти всю необходимую информацию о товарах?
- 15. Как я могу найти информацию о RoR?
- 16. Как найти различную информацию о командах Fortran?
- 17. Как найти информацию о текущей анимации UIView?
- 18. Как найти информацию о кеше в хроме?
- 19. Как найти дополнительную информацию о дескрипторе файла?
- 20. Как найти информацию о экземпляре в ghci?
- 21. Как найти подробную информацию о FireMonkey?
- 22. Как найти информацию о функции в python?
- 23. Как найти информацию о базе данных PHPMyAdmin
- 24. Как найти информацию о диске с Java
- 25. Как найти информацию о клиенте в asp.net
- 26. Как компилятор знает о наборе команд моего процессора?
- 27. Потребление процессора моего процесса
- 28. Мысли о архитектуре навигации?
- 29. Решение о архитектуре приложения
- 30. Вопрос о малой архитектуре