Я пытаюсь собрать информацию о моем процессоре с помощью __ cpuid ()
. Хотя он работает правильно на моем компьютере, когда я запускаю свою программу на компьютере моего коллеги, он обнаруживает, что Intel Core2 Quad Q6600 является гиперпоточным, хотя, согласно спецификациям на собственном сайте Intel, это не так. т.
__ cpuid ()
также обнаруживает неправильное количество «логических ядер», как можно показать здесь:
Программно определять количество физических процессоров / ядер, или если гиперпоточность активна в Windows, Mac и Linux . Где утверждается, что Intel Xeon E5520 имеет 16 логических ядер и 8 физических.
Я попытался запустить код, найденный в этом потоке, на моем собственном компьютере: Intel i7 2600K дал мне те же числа, что и для Xeon.
Насколько надежен __ cpuid ()
на самом деле? По моему собственному опыту, это не кажется таким надежным. У меня что-то фундаментальное не так?