Страницы

Поиск по вопросам

суббота, 27 октября 2018 г.

Как в программе узнать, есть ли в CPU Hyper-threading ?

Подозреваю, что это можно взять из /proc/cpuinfo, возможно из: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good pni ssse3 lahf_lm или из другого места (?), навскидку ничего больше из /proc/cpuinfo не подходит. На первый взгляд флаг ht говорит о Hyper-threading. Но, это I5-2500, а в его описании сказано, что 4 core без Hyper-Threading. Поэтому ht это скорее всего Hyper-Transport. Здесь сказано, что Hyper-Threading это HTT/HT (видимо иногда метят по разному ?). Собственно интересен также AMD аналог (не знаю как называется). Никто не знает, что и где точно смотреть в Linux?


Ответ

Чтобы установить поддержку Hyper-Threading, нужно проверить CPUID (genuine Intel CPU) и значение бита № 28 регистра EDX (установлен в 1). По ссылке можно скачать утилиту CPUCount, которая как-то работает с Hyper-Threading.

Комментариев нет:

Отправить комментарий