天天看點

ubuntu下安裝openmp和mpi環境

尊重版權,本部落格轉自:http://gaoxiaochuan89.blog.163.com/blog/static/974703362012112275345716/

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

   運作結果如下:

   [email protected]:~/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很重要。

繼續閱讀