2016-12-10 29 views
0

我想實現一個計數排序的MPI程序。我已經發送每個等級的本地計數數組來使用。當我將它們發送回主進程時,如何確保將所有本地數組添加到全局數組中?我已經看到MPI_Reduce獲得數組的總數,但我需要每個單獨的單元格的總和。MPI - 如何從本地數組中獲取計數到全局數組中?

例子:

array = {4,0,3,2,2,1,4,1,3,2,4,3,4,3} 

countslocal1 = {1,1,2,3,4} 
countslocal2 = {0,2,1,1,0} 

countsglobal = {1,3,3,4,4} 

回答

0

其實MPI_Reduce不正是你所需要的。它不會得到數組的總和,而是每個單獨的單元格的總和。或再舉MPI 3.1 standard

每個過程可以提供一個元件,或元素的序列,在 這種情況下,結合操作執行逐元素的序列的每個 條目

+0

太感謝你了,我不知道爲什麼我不理解,它在陣列中做到了每個元素。我的想法仍然陷入了開放世界。 – lycark2516