vs下安裝配置使用mpi

安裝和配置MPI

  1. mpi的下載路徑:https://www.microsoft.com/en-us/download/details.aspx?id=57467,兩個文件都要安裝(SDK和Bin),並記住路徑(注意:由於MPI的bin在安裝時自動添加了環境變量,故此時應該重啓Windows使其生效)。
  2. 在vs工程的項目屬性頁配置MPI(以我的項目爲例,配置x64平臺的Debug和Release):
    1. 選擇所有配置,x64平臺
    2. “VC++目錄”=>包含目錄添加MPI頭文件所在的路徑:C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x64C:\Program Files (x86)\Microsoft SDKs\MPI\Include;
    3. “VC++目錄”=>庫目錄添加MPI鏈接庫所在的目錄:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64
    4. 鏈接器=>輸入=>附加依賴項添加msmpi.lib
    5. C/C++ => 預處理器=>預處理器定義添加MPICH_SKIP_MPICXX
    6. C/C++ => 代碼生成=>運行庫添加:
      1. debug模式下添加多線程調試 (/MTd)
      2. release模式下添加多線程 (/MT)

使用MPI

MPI程序的測試代碼如下:

#include <mpi.h>

int main(int argc, char*argv[])
{
    int myid, numprocs, namelen;
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    MPI_Init(&argc, &argv);
    //用MPI_Comm_rank 獲得進程的rank,該rank值爲0到p-1間的整數,相當於進程的ID
    MPI_Comm_rank(MPI_COMM_WORLD, &myid);
    //用MPI_Comm_size 獲得進程個數  int MPI_Comm_size(MPI_Comm comm, int *size);
    MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
    MPI_Get_processor_name(processor_name, &namelen);
    printf("Hello World! by MoreWindows\nProcess %d of %d on %s\n", myid, numprocs, processor_name);
    MPI_Finalize();
    return 0;
}

編譯成功後用cmd進入到該可執行文件所在路徑,運行如下命令:

# 5爲啓動的並行進程數,test_mpi.exe爲編寫的mpi程序
mpiexec -n 5 test_mpi.exe

MPI程序主要利用其同步和互斥API,具體用法還需進一步探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章