MPI與OpenMP 基本使用

2021-08-19 18:51:55 字數 999 閱讀 7514

注意,mpi是多程序的。

1.在程式中加入mpi支援:

加入標頭檔案mpi.h,並在程式開頭做初始化,退出時,關閉mpi。

2.編譯:

c檔案用mpicc編譯,c++檔案用mpicxx編譯。如:

$ mpicxx how_to_use_mpi.cpp -o how_to_use_mpi
3.執行:

mpirun使用mpi執行程式,-n引數指定程序數:

1. 在c/c++和fortran中,都有編譯器支援openmp,不需要額外安裝。注意,openmp是多執行緒的。

2.以c檔案為例,介紹openmp的程式設計使用:

#include #ifdef _openmp

#include #endif

int main()

3.編譯:

$ gcc -fopenmp omp.c -o omp
-fopenmp編譯選項告訴編譯器,編譯omp.c時,要傳入巨集_openmp。

3.執行:

指定執行緒數,這裡使用4個執行緒:

可以看到#pragma omp parallel後面緊跟的一句指令執行了4次。如果不止一條指令,可以用{}指定。

參考:

MPI與OpenMP並行程式設計

1.openmp openmp是一種用於共享記憶體並行系統的多執行緒程式設計的庫 compiler directive 特別適合於多核cpu上的並行程式開發設計。它支援的語言包括 c語言 c fortran 不過,用以上這些語言進行程式開發時,並非需要特別關注的地方,因為現如今的大多數編譯器已經支援...

MPI和OpenMP優缺點比較

openmp open multi processing 是一套支援跨平台共享記憶體方式的多執行緒併發的程式設計api,使用c,c 和fortran語言,可以在大多數的處理器體系和作業系統中執行,包括solaris,aix,hp ux,gnu linux,mac os x,和microsoft wi...

ubuntu下安裝openmp和mpi環境

尊重版權,本部落格 1.進入終端,選擇乙個自己的目錄,安裝mpich2 執行命令 sudo apt get install mpich2 2.安裝配置檔案並且進行設定 執行命令1 touch mpd.conf 執行命令2 chmod 600 mpd.conf 在mpd.conf檔案中輸入以下文字內容...