Question

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?

Was it helpful?

Solution

Converting comment to answer:

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top