質問

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?

役に立ちましたか?

解決

Converting comment to answer:

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

他のヒント

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top