【问题标题】:Regarding relationship between cores and ranks of a MPI program关于 MPI 程序的核心和等级之间的关系
【发布时间】:2014-01-26 09:33:50
【问题描述】:

据我所知,在多处理器环境中,任何线程/进程都可以分配给任何内核/处理器,所以下面这行是什么意思:

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

我的意思是,如果#cores

【问题讨论】:

    标签: multithreading mpi multicore


    【解决方案1】:

    该引用仅在应用于内存大小受限问题时才是正确的;一般来说,这将是一个不正确的陈述。一般来说,您应该使用比 Xeon Phi 上的物理内核更多的任务来隐藏内存延迟1

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

    1.我什至觉得我不需要为此引用参考,因为它的广告声很大;但是,他们确实在 OpenCL 设计文档的一篇文章中提到了这一点:http://software.intel.com/en-us/articles/opencl-design-and-programming-guide-for-the-intel-xeon-phi-coprocessor

    2。此建议特别适用于 Xeon Phi,不一定适用于其他硬件。

    【讨论】:

      【解决方案2】:

      好吧,如果你让 MPI 任务的数量高于核心数量,那是没有意义的,因为你开始在一个处理单元上执行 2 个任务,因此会耗尽计算资源。

      在 Xeon Phi 上,与核心相比,任务数量要少得多。也许他们更喜欢线程而不是进程。 Xeon Phi 的架构非常奇特,维护 MPI 任务引入的开销会严重削弱计算性能。我不会隐瞒我不知道背后的技术原因。但也许有人会填写。

      如果我没记错的话,通信总线中有一个环(或两个环),那么可能所有的通信和障碍都在污染总线,结果证明是无效的。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 2017-12-11
        • 2017-12-09
        • 1970-01-01
        相关资源
        最近更新 更多