MPI和OpenMP優缺點比較

2021-06-28 23:49:16 字數 846 閱讀 9868

openmp(open multi-processing)是一套支援跨平台共享記憶體方式的多執行緒併發的程式設計api,使用c,c++和fortran語言,可以在大多數的處理器體系和作業系統中執行,包括solaris, aix, hp-ux, gnu/linux, mac os x, 和microsoft windows。包括一套編譯器指令、庫和一些能夠影響執行行為的環境變數。openmp採用可移植的、可擴充套件的模型,為程式設計師提供了乙個簡單而靈活的開發平台,從標準桌面電腦到超級計算機的並行應用程式介面[1]。

訊息傳遞介面/介面(英語:message passing inte***ce,縮寫mpi)是乙個平行計算的應用程式介面(api),常在超級電腦、電腦簇等非共享記憶體環境程式設計[2]。

下面是我在使用他們的過程中,對這兩種api優缺點的認識。

openmp的優點:

- openmp相對於mpi而言更容易使用。

- openmp對原序列**改動較小,可以保護**原貌。

- **更容易理解和維護

- 允許漸進式並行化

openmp的缺點 :

- 所有執行緒共享記憶體空間,硬體制約較大

- 目前主要針對迴圈並行化

mpi的優點:

- 無論硬體是否共享記憶體空間,都可以使用。(但是執行緒間不共享記憶體空間)

- 與openmp相比,可以處理規模更大的問題

- 每個執行緒有自己的記憶體和變數,這樣不用擔心衝突問題(在openmp中要使用critical等處理)

mpi的缺點:

- 演算法上經常有較大改動(建立communication等)

- 較難使用

- 效能上會受到通訊網路的影響

[1][2]

apache和ngnix的優缺點比較

apache與nginx的優缺點比較 1 nginx相對於apache的優點 輕量級,同樣起web 服務,比apache 占用更少的記憶體及資源 抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高效能 高度模組化的設計,編寫模組相對...

Apache和Nginx的優缺點比較

nginx優點 輕量級,同樣的web 服務,比apache 占用更少的記憶體及資源 抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高效能 高度模組化的設計,編寫模組相對簡單 apache 的優點 rewrite 強大 模組多,功能...

TCP和UDP的優缺點比較

1 tcp與udp區別總結 1 tcp面向連線 如打 要先撥號建立連線 udp是無連線的,即傳送資料之前不需要建立連線 2 tcp提供可靠的服務。也就是說,通過tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達 udp盡最大努力交付,即不保證可靠交付 tcp通過校驗和,重傳控制,序號標識,滑動...