ubuntu下安裝openmp和mpi環境
1.進入終端,選擇一個本身的目錄,安裝MPICH2
運行命令:sudo apt-get install mpich2
2.安裝配置文件而且進行設置
運行命令1:touch mpd.conf
運行命令2:chmod 600 mpd.conf
在mpd.conf文件中輸入如下文本內容並保存:
MPD_SECRETWORD=mr.chen
3.開啓mpi服務器而且進行編譯執行mpi文件
3.1 開啓mpi環境:mpdboot (我沒有手動開啓,後面的操做也成功)
3.2 編譯mpi文件(-o Hello 指定輸出文件的名稱):mpicc -o Hello Hello.c
3.3 執行生成的二進制文件(-np 4:表示用4個進程):mpirun -np 4 ./Hello
運行結果以下:
user@ubuntu :~/test_mpi_examples$ mpirun -np 4 ./Hello Hello world! Processor 0 of 4 on ubuntu Hello world! Processor 1 of 4 on ubuntu Hello world! Processor 3 of 4 on ubuntu Hello world! Processor 2 of 4 on ubuntu 4.關閉mpi服務器 運行命令:mpdcleanup 附加測試文件(Hello.c): #include "mpi.h" #include <stdio.h> #include <math.h> int main(int argc, char **argv) { int myid, numprocs; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Get_processor_name(processor_name, &namelen); fprintf(stderr, "Hello world! Processor %d of %d on %s\n", myid, numprocs, processor_name); MPI_Finalize(); return 0; } OPENMP 環境:openmp庫都是隨編譯器一塊兒發佈的,若是你的程序是源代碼編譯的,只要編譯器支持openmp編譯選項就確定能用。GNU,intel的都支持,包括gcc,gfortran,icc,ifort。 若是是GCC,那麼編譯的命令應該是 gcc -fopenmp -o exefile sourcefile,這裏的-fopenmp很重要。
歡迎關注本站公眾號,獲取更多信息