TBB reporting wrong number of CPUs?

TBB reporting wrong number of CPUs?

mtenthusiast's picture

The company I work for recently purchased a newserver equipped with four Xeon E7-4870 processors and Windows Server 2008 R2 Enterprise SP1. When I RDP into this server the Device Managercorrectly reports the presence of 80 CPUs but the Task Manager only displays 64 CPUs. Likewise a call to tbb::task_scheduler_init::default_num_threads()returns what seems to be an incorrect value of 64 from a 64-bit test application ran within an RDP session on this server. Is there a different TBB call I could use to get the correct number of CPUs, or some other methodyou could suggestto help me track down the cause of these missing CPUs? (P.S. This problem may have started after Hyper-V was enabled on this server).

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Raf Schietekat's picture

Did you use TBB 4.0 update 3?

"Bugs fixed:

- Not all logical processors were utilized on systems with more than
64 cores split by Windows into several processor groups."

mtenthusiast's picture

Yes, I'm using the TBB 4.0 Update 3 commercial-aligned release which I obtained as the file "tbb40_297oss_win.zip".

Vladimir Polin (Intel)'s picture
Best Reply

hello, look athttp://msdn.microsoft.com/en-us/library/ff564483(v=vs.85).aspx Starting Hyper-V sets the limit of processor groups to 1. This caused seeing of 64 cores by all tools beside device manager. Of course you can pass 80 as parameter to task_scheduler_init but this can cause oversubscription in this case. --Vladimir

mtenthusiast's picture

Thank you. That is the important piece of information that I was missing.

Login to leave a comment.