Pregunta

System config: Win 7 64bit, visual Studio 2010 Premium, dell t7500 with 2 xeon 5690 chips, 48 gig of ram. Each xeon has 6 cores, so there are 12 physical cores. With hyperthreading, there should be 24 logical cores.

In my C app:

Session.coresAvailable  =    omp_get_num_procs ( );
Session.threadsAvailable    =    omp_get_max_threads ( ) ;

The system comes back and tells me there are 12 cores and 12 threads. Shouldn't it be 24 threads?

¿Fue útil?

Solución

Converting comment to answer:

You need to enable HyperThreading in the BIOS to see all 24 threads.

Otros consejos

Hyperthreading is pretty darn useful for multitasking, not so much for homogeneous parallel algorithms, where all threads are executing the same instructions and need the same internal subunits. So omp might just ignore virtual threads.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top