OpenMPI是一種高性能消息傳遞庫,最初是作為融合的技術和資源從其他幾個項目(FT- MPI, LA-MPI, LAM/MPI, 以及 PACX-MPI),它是MPI-2標準的一個開源實現,由一些科研機構和企業一起開發和維護。因此,OpenMPI能夠從高性能社區中獲得專業技術、工業技術和資源支持,來創建最好的MPI庫。OpenMPI提供給系統和軟件供應商、程序開發者和研究人員很多便利。易于使用,并運行本身在各種各樣的操作系統,網絡互連,以及一批/調度系統。
Open MPI并不是LAM/MPI, LA-MPI和FT-MPI的簡單組合,而是一種全新的MPI實現,其完全實現了MPI-1.2和MPI-2規約,并且完全支持并發和多線程應用(也就是MPI_THREAD_MULTIPLE)。
為了有效有效支持大范圍的并行機,開發了高性能驅動程序,其中包括TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband,更多的機器支持可能會基于用戶、市場和研究需要而增加。對于網絡傳輸錯誤,Open MPI提供了一種可選的特性來檢測數據的完整性。通過使用報文分段和拆分到多個網絡設計,Open MPI不僅可以達到可用帶寬的最大值,而且當節點使用多臺網絡設備的時候,可以動態處理網絡設備的數據丟失。
Open MPI的運行時環境提供了啟動和管理并行應用的基本服務。
Ubuntu 安裝 OpenMPI
1. 下載OpenMPI
在官網(http://www.open-mpi.org/software/)上下載最新版本的安裝包,如:openmpi-1.8.4.tar.gz
2. 解壓并進行配置
其他
Open MPI使用簡單C語言面向對象系統實現,使用基于單一繼承和引用計數的retain/release內存管理模型。一個object由一個結構體和單一實例化的class標識符組成。結構體的首個元素一個是指定父類結構體的指針。
宏指令會對C++類似的語義(如new, construct, destruct, delete)產生影響。因為C++項目的豐富經驗和某些平臺編譯方面的問題,使得在開發Open MPI使用了面向對象方法,而不是直接使用C++。
一旦構造,對象引用計數被設置為1。當對象retain,計數遞增,當對象release,計數遞減。當計數到達0,會運行對象的析構器并釋放內存。
新聞熱點
疑難解答