2017-08-26 41 views
-3

我有一个小问题。使用计算节点上的所有核心是否合理?

计算节点具有2个插槽,每个插槽12芯。所以它有24个核心(在我的情况下是24 cpu)。

当我运行并行计算,我可以使用所有CPU?换句话说,我们是否需要为后台程序腾出几个cpus?

顺便说一句,我认为使用相同的芯片(同一插槽)上的CPU可避免插座之间的commmunication,这可能会加速运行。那么如何确定应该使用多少cpus来产生最快的运行?

在这个问题上的任何一般性的建议,将不胜感激。

最佳,

+0

您好,欢迎堆栈溢出。根据站点规则:“关于通用计算硬件和软件的问题与Stack Overflow无关,除非它们直接涉及主要用于编程的工具。您可以在[Super User](https://超级用户)上获得帮助。 com /)。“ –

+0

@DavyM我很肯定超级用户也会放弃这个特定的问题。 –

+0

操作系统在所有节点上实现分时操作。它将在必要时让后台程序运行。 – Barmar

回答

0

要回答你的问题:是的,你可以使用所有内核的并行作业或程序。根据您要在后台运行的程序,在执行作业/程序期间可能会看到一些性能下降。确定要使用的最佳内核数量的真正方法是使用不同数量的内核执行各种运行,并分析程序和后台程序的性能。如果你想充分利用你所有的核心,我建议你只运行你的程序,运行所有的核心和小到无后台程序。

相关问题