mpi第乙個版本發布距今已逾20多年了,在並行開發應用領域取得了巨大的成功,在大規模並行軟體開發應用中佔主導地位。
mpi成功的原因在於mpi為並行軟體開發提供了健壯和完善的解決方案,並允許使用者高效地實現大規模並行軟體開發目標。mpi成功的具體原因可參考文獻[129]。mpi定義的開放程序和避免了其他開放軟體設計時所犯下的錯誤也是其成功的重要原因。同時,mpi為大規模並行應用提供專門的技術支援。很多軟體基於mpi進行開發,軟體開發者可以利用mpi開發高效和更高階的應用程式。一些基於mpi開發的軟體獲得了戈登貝爾獎和r & d 100獎[4,9,12,24,137]。
隨著在超級計算機上執行的並行程式規模越來越大,人們常問「mpi是否支援百萬核級平行計算?」。該問題答案是肯定的,只要認真按照mpi規範實現並行程式,mpi並行規模可以達到百萬核級[23]。基於mpi的執行緒安全設計,mpi可以與其他程式設計方法混合使用。目前,開發人員已將mpi和openmp用來混合開發並行程式。混合使用mpi和openmp等其他程式設計方法,可支援百萬個mpi程序同時執行,每個mpi程序可併發上千個執行緒。
關於mpi使用和開發,存在大量的參考文獻,還有例如「eurompi年會」等相關國際會議。mpi使用手冊可參考文獻[127,128]。mpi官方標準版本參考**www.mpi-forum.org。
第1章僅描述了mpi的部分特性,如有興趣,可在網上通過搜尋引擎查詢mpi全部特性的介紹文件。
平行計算模型
平行計算模型通常指從並行演算法 的設計和分析出發,將各種並行計算機 至少某一類並行計算機 的基本特徵抽象出來,形成乙個抽象的計算模型。從更廣的意義上說,平行計算模型為平行計算提供了硬體和軟體介面 在該介面的約定下,並行系統硬體設計者和軟體設計 者可以開發對並行性 的支援機制,從而提高系統的效能。有幾...
平行計算模型
平行計算指的在同一時刻存在多於乙個計算任務被執行。由於cpu主頻提高的上限,使用多核心處理器進行平行計算早已成為主流。gpu也是乙個多核心的處理器,但它的平行計算模型與多核的cpu有很大區別。我們有必要了解gpu的並計算模型。對平行計算模式進行分類是了解cpu和gpu平行計算區別的有效方式。一種分類...
《平行計算的程式設計模型》一3 7 5 收集
集合函式執行聚集收集,將元素塊從每個參與pe的對稱源物件拷貝,並連續複製到參與集合操作的每個pe上的 更大的 對稱目標陣列,程式設計師必須確保對稱目標陣列足夠大以便接收聚集的資料。對32和64位的資料型別都有收集函式,且對每種都有兩個收集函式變體 一般的collect允許每個pe貢獻不同數目的元素,...