MPI程式設計 Parallel Rank

2021-08-20 11:42:32 字數 1337 閱讀 9219

如圖所示,假設每乙個程序代表乙個節點,在集群中,由於每台裝置的效能不同,那麼獲取集群中每台裝置的速度就顯得尤為必要,了解每台裝置的情況可以更加高效地進行任務分配。

現在,每個程序都擁有乙個隨機數,我們需要將其收集上來並進行排序,然後將對應的排名順序分發給各個子程序,這樣每個子程序都可以知道自己在整個系統中的排名。

//定義 程序-隨機數結構體

int main(int argc,char **argv)

srand(time(null)+rank);

sbuf = rand() % 100;//生成隨機數

mpi_gather(&sbuf,1,mpi_int,rbuf,1,mpi_int,0,comm);//收集每個程序的資料

//////

//////

//////

///////

int rank_buff[size],rcv_rank_buf[1];

dic dic[size];

if(rank == 0)

/////////

//////

//////

//////

//////

////////

int tmp;

for(int m = 0; m < size - 1; m++)

for(int n = 0; n < size - 1 - m; n++)

}//對收集上來的資料進行排序

for(int x = 0; x < size; x++)}}

}//分發到各個子程序

mpi_scatter(rank_buff,1,mpi_int,rcv_rank_buf,1,mpi_int,0,comm);

printf("process %d rank %d\n",rank,rcv_rank_buf[0]);

mpi_finalize();

return

0;}如圖所示,開十個程序,上半部分為初始的資料,下半部分為每個程序的排名。

MPI並行程式設計

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

初識併發程式設計 MPI

mpi是乙個跨語言的通訊協議,用於併發程式設計。mpi標準定義了一組具有可移植性的程式設計介面。解壓檔案 tar xzvf mpich 3.2.1.tar.gz cd mpich 3.2.1 usr local cellar mpich 改為你要安裝 mpich 的路徑 configure pref...

雲計算 MPI程式設計

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