2014-01-08 93 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.本意見適用於至強融核而言,不一定件等硬件。