系统配置:Win 7 64bit,visual Studio 2010 Premium,dell t7500,配备2 xeon 5690芯片,48 gig ram。每个至强有6个核心,因此有12个物理核心。对于超线程,应该有24个逻辑核心。
在我的C app中:
Session.coresAvailable = omp_get_num_procs ( );
Session.threadsAvailable = omp_get_max_threads ( ) ;
系统回来告诉我有12个核心和12个线程。不应该是24个线程吗?
答案 0 :(得分:3)
将评论转换为答案:
您需要在BIOS中启用HyperThreading以查看所有24个线程。
答案 1 :(得分:0)
超线程对于多任务处理非常有用,而不是同构并行算法,其中所有线程都执行相同的指令并需要相同的内部子单元。所以omp可能会忽略虚拟线程。