雲計算 MPI程式設計

2021-09-22 18:37:01 字數 698 閱讀 4254

mpi是一種平行計算架構,mpich是mpi的一種實現,本集群使用虛擬機器安裝,作業系統是ubuntu14.04,使用三颱機器,使用者名稱都是ubuntu,機器名分別是ub0, ub1, ub2

測試程式:

#include "mpi.h"

#include #include double f(double);

double f(double a)

int main(int argc,char *ar**)

mypi = h * sum;

mpi_reduce(&mypi, &pi, 1, mpi_double, mpi_sum, 0, mpi_comm_world);

if (myid == 0)

mpi_finalize();

return 0;

}

make cpi

執行程式:

mpirun –np 1 ./cpi注:-np 引數代表啟動幾個執行緒,分別使用1個程序和10個程序執行程式。

MPI程式設計 Parallel Rank

如圖所示,假設每乙個程序代表乙個節點,在集群中,由於每台裝置的效能不同,那麼獲取集群中每台裝置的速度就顯得尤為必要,了解每台裝置的情況可以更加高效地進行任務分配。現在,每個程序都擁有乙個隨機數,我們需要將其收集上來並進行排序,然後將對應的排名順序分發給各個子程序,這樣每個子程序都可以知道自己在整個系...

MPI並行程式設計

了解並熟悉mpi並行程式開發環境,學會並行程式編譯方法,並行程式作業提交方法,並行程式執行狀態觀察與分析方法,本實驗的內容主要包括學習如何編譯執行mpi程式以及通過較簡單的 helloworld.c 程式的實際執行來進一步的熟悉 實驗一,本實驗的內容主要包括學習如何編譯執行mpi程式以及通過較簡單的...

平行計算MPI 二 MPI阻塞通訊

阻塞通訊 訊息傳送方的send需要接收方的recv配合才能完成。mpi對阻塞通訊一些底層函式進行了一些封裝,方便我們呼叫。1.標準通訊模式 mpi send buf,buf size,mpi char,process1,tag,mpi comm world mpi recv buf,buf size...