集合函式執行聚集收集,將元素塊從每個參與pe的對稱源物件拷貝,並連續複製到參與集合操作的每個pe上的(更大的)對稱目標陣列,程式設計師必須確保對稱目標陣列足夠大以便接收聚集的資料。對32和64位的資料型別都有收集函式,且對每種都有兩個收集函式變體:一般的collect允許每個pe貢獻不同數目的元素,固定大小的fcollect需要每個pe貢獻相同數目的元素。和其他集合函式相同,收集函式允許程式設計師通過指定開始pe、log2(pe跨步)、參與pe的數目來選擇參與的pe子集,以及長度為_shmem_collect_sync_size的對稱同步陣列,該陣列必須在被所有pe使用前初始化為預定值_shmem_sync_value,因此需要在初始化和使用之間同步,例如全域性同步屏障。但如前所述,可以使用兩個同步陣列,一旦執行初始化後的全域性同步,程式可簡單地在兩個同步陣列之間輪換,而不是在每個收集前加同步屏障。如果每次同步陣列使用的pe主動集相同,同步陣列可以在隨後輪換的收集中使用(不需要重新初始化)。**清單3-18展示了一般的收集函式。兩個同步陣列允許通過輪換使用的同步陣列背靠背地呼叫收集函式以控制集合操作。每個集合操作完成時,每個pe的目標陣列都包括集合中每個參與者提供的資料塊序列。
平行計算模型
平行計算模型通常指從並行演算法 的設計和分析出發,將各種並行計算機 至少某一類並行計算機 的基本特徵抽象出來,形成乙個抽象的計算模型。從更廣的意義上說,平行計算模型為平行計算提供了硬體和軟體介面 在該介面的約定下,並行系統硬體設計者和軟體設計 者可以開發對並行性 的支援機制,從而提高系統的效能。有幾...
平行計算模型
平行計算指的在同一時刻存在多於乙個計算任務被執行。由於cpu主頻提高的上限,使用多核心處理器進行平行計算早已成為主流。gpu也是乙個多核心的處理器,但它的平行計算模型與多核的cpu有很大區別。我們有必要了解gpu的並計算模型。對平行計算模式進行分類是了解cpu和gpu平行計算區別的有效方式。一種分類...
《平行計算的程式設計模型》一1 11 總結
mpi第乙個版本發布距今已逾20多年了,在並行開發應用領域取得了巨大的成功,在大規模並行軟體開發應用中佔主導地位。mpi成功的原因在於mpi為並行軟體開發提供了健壯和完善的解決方案,並允許使用者高效地實現大規模並行軟體開發目標。mpi成功的具體原因可參考文獻 129 mpi定義的開放程序和避免了其他...