集體操作
編輯集體操作是交互模式的構件,經常在并行編程的SPMD算法中使用。因此,人們對這些操作的有效實現很感興趣。消息傳遞接口(MPI)提供了一個集體操作的實現。定義在所有漸進式運行時間函數中,我們表示延遲α{displaystyle/alpha},每個字的通信成本,每個字的通信成本β{displaystylebeta},每個字的通信成本β,處理單元的數量p{displaystylep}和每個節點的輸入大小n{displaystylen}。.在我們在不止一個節點上有初始信息的情況下,我們假設所有本地信息的大小是一樣的。為了解決單個處理單元,我們使用假設有一個分布式內存模型。這些概念對于共享內存模型來說是類似的。然而,共享內存系統可以為一些操作提供硬件支持,比如說廣播(§Broadcast),它允許方便的并發讀取。因此,新的算法的可能性就可以實現了。
集體操作的廣播
編輯廣播模式用于將數據從一個處理單元分配到所有處理單元,這在SPMD并行程序中經常需要分配輸入或全局值。廣播可以被解釋為還原模式的逆向版本(§Reduce)。最初只有根{displaystylep-1}的順序for-loop來實現,會成為一個瓶頸。迭代會成為一個瓶頸,所以分而治之的方法很常見。
.然后,數據包被一個接一個地廣播,這樣,數據就會在通信網絡中快速分布。.ReduceReduce模式用于收集來自不同處理單元的數據或部分結果,并通過一個選定的操作符將它們合并成一個整體結果。給定實施方面的考慮與廣播類似(§Broadcast)。對于二叉樹上的流水線,消息必須可以表示為一個更小的對象的向量,以便進行分量式還原。平衡二叉樹上的流水線還原可以在All-Reduce如果還原操作(§Reduce)的結果必須分配給所有的處理單元,就會使用All-Reduce模式(也叫allreduce)。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/163428/