如何确保多线程C++程序由多核服务器上的所有核运行,以便在物理上并行(而不是逻辑上)进行计算。
我有一个多核服务器,它有24个CPU,每个CPU有6个核心。
它是英特尔Xeon X5650 2.67GHzcpu核心:6(支持6个线程) cpu MHz : 1596.000
总共,我有24 *6=144个核心。
我设计了一个带有boost/线程的多线程C++程序。
如何确保我的程序由所有144个核心运行?
任何帮助都是非常感谢的。
谢谢
发布于 2011-08-14 17:25:51
你不需要做什么特别的事。默认情况下,操作系统的调度程序应该对所有可用内核进行调度。如果您有144个已准备好运行的线程,而系统没有其他事情可做,那么它应该在每个可用的内核上调度一个线程,无论是物理的还是虚拟的。
https://stackoverflow.com/questions/7058423
复制相似问题