2014-01-08 126 views
1

据我所知,在多处理器环境中的任何线程/进程可以分配给任何核心/处理器等等,什么是以下行的意思的核心和职级之间的关系:关于MPI程序

由于协处理器上的内存有限,英特尔至强融核协处理器上使用的MPI等级数量应该大大少于不少部分的内核数量。

我的意思是,如果#cores < = #MPI排名是什么问题?

回答

0

那么如果你让MPI任务的数量高于内核数量,那么这是毫无意义的,因为你开始在一个处理单元上执行2个任务,因此耗尽了计算资源。

当谈到比Xeon Phi核心优先的任务数量要少得多。也许他们喜欢线程而不是流程。 Xeon Phi的体系结构非常特殊,并且通过维护MPI任务引入开销会严重削弱计算性能。我不会隐瞒,我不知道它背后的技术原因。但也许有人会填写它。

如果我记得有一个环(或两个环)通信总线正确,所以也许所有的沟通和障碍是污染总线,结果是无效。

使用线程或它们提供的本机执行模式具有较少的开销。

另外,我认为你应该看看它更像一个多核CPU,而不是多CPU机器。为了获得更高的性能,您不想在4核CPU上运行4个MPI任务,您需要运行一个4线程MPI任务。

1

只有当它被应用于内存大小受限的问题时,该引用才是正确的;一般来说这将是一个不正确的说法。一般而言,您应该使用比Xeon Phi上的物理内核更多的任务,以便隐藏内存延迟。

要回答你的问题“如果核心数量少于MPI等级数量,那么问题是什么?”:你会面临有太多上下文切换的风险。在许多问题上,使用比核心更多的任务来隐藏内存延迟是有利的。

1.我甚至不觉得我需要引用这个参考,因为它是如何大声广告;然而,他们不提它上的OpenCL设计文件的文章中:http://software.intel.com/en-us/articles/opencl-design-and-programming-guide-for-the-intel-xeon-phi-coprocessor

2.本意见适用于至强融核而言,不一定件等硬件。