TBB reporting wrong number of CPUs?

TBB reporting wrong number of CPUs?

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.

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."

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

Best Reply

hello,look athttp://msdn.microsoft.com/en-us/library/ff564483(v=vs.85).aspxStarting 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

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today