Holas

Oigan una pregunta... si tengo una computadora con procesador Intel con 
HyperThreading (HT) que me aparece como dos procesadores en el monitor de 
sistema (CPU0 y CPU1), si hago un programa en C/C++ compilado con el GCC este 
por default utiliza ambos procesadores o nucleos o solo el primero?

Por ahi tengo vagos recuerdos de que habia que hacer el software especifico 
para varios procesadores, pero que podias forzar el uso de ambos utilizando 
multhithreading con el famoso set de funciones pthread_xxx(), pero no se si 
esto sea verdad ni recuerdo bien la historia... ojo el kernel esta compilado 
SMP (que segun recuerdo es para multiples procesadores).

Ojala alguien pudiera orientarme al respecto... como dato tecnico, no estoy 
usando ni necesito usar multihilos, es para un proceso iterativo+recursivo que 
tiene que hacer cientos de miles de millones de ciclos (cada uno de un par de 
decenas o cientos de procesos y llamadas de instrucciones de procesador) para 
completarse y quiero asegurarme de que utilice el CPU al maximo, asi se lleve 
horas o dias pero garantizar que no estoy gastando luz "a lo wei" si se tiene 
que quedar toda la noche o hasta dias, realmente no se cuanto tome pero quiero 
ir a lo seguro...

Saludos y gracias


      

Responder a