Ya puedo detectar correctamente el número de procesadores lógicos en las tres plataformas.C/C++/Assembly Programar automáticamente si hyper-threading está activo en Windows, Mac y Linux
Para poder detectar correctamente el número de procesadores/núcleos físicos, tendré que detectar si se admite hyperthreading Y está activo (o habilitado si lo prefiere) y si es así, divida el número de procesadores lógicos por 2 para determinar el cantidad de procesadores físicos.
Perphaps I deberán proporcionar un ejemplo:
Un núcleo quad Intel de CPU con hyperthreading habilitado tiene 4 núcleos físicas, aun 8 procesadores lógicos (hyperthreading crea 4 procesadores más lógico). Entonces mi función actual detectaría 8 en lugar de la deseada 4.
Mi pregunta por lo tanto es si hay una manera de detectar si hyperthreading es compatible Y HABILITADO?
Supongo que tendré que usar grep.cpp de la biblioteca de impulso en mi programa para usar esto. Mi pregunta era específica de c/C++/assemler como se indica en el asunto y las etiquetas – HTASSCPP