MPI學習 規約函式MPI Allreduce

2021-07-07 10:48:33 字數 898 閱讀 2637

全域性規約函式mpi_allreduce:

將所有的傳送資訊進行同乙個操作,所有程序均接收資訊;

相當於先做mpi_reduce,然後再做mpi_scatter。

語法規則:

int mpi_alleduce(

void *input_data, /*指向傳送訊息的記憶體塊的指標 */

void *output_data, /*指向接收(輸出)訊息的記憶體塊的指標 */

int count,/*資料量*/

mpi_datatype datatype,/*資料型別*/

mpi_op operator,/*規約操作*/

mpi_comm comm);/*通訊器,指定通訊範圍*/

舉例:

#include "stdafx.h"

#include

#include

#include

#define n 3

int main(int argc, char *argv)

mpi_allreduce(send_buffer, recv_buffer, n, mpi_int, mpi_max,

mpi_comm_world);

for (i = 0; i < n; i++)

mpi_finalize();

return

0;}

程序總數為4的時候的輸出:

注意:send_buffer與recv_buffer 的datatype、datasize相同。

CDT規約學習

cdt規約 又叫迴圈式遠動規約,它規定了在電網資料採集與監控系統中的功能 幀結構 資訊字結構和傳輸規則等。cdt的幀結構 同步字控制字 資訊字1 資訊字2 eb 90 eb 90 eb 90 同步字 7161 1001 00 f7 控制字00 8806 8101 a7 資訊字1 0138 0761 ...

MPI相關函式

int mpi buffer attach void buffer,int size 申請緩衝區 int mpi buffer detach void buffer,int size 釋放緩衝區,阻塞操作 mpi ssend 同步通訊,必須等待接受操作開始執行後才能返回。比如,分別給程序1和2傳送資...

MPI學習筆記 MPI環境配置

第一步 ubuntu下安裝ssh伺服器和客戶端 開啟新立得,在全部裡鍵入openssh,選擇openssh client和openssh server標記安裝應用,或者直接執行 sudo apt get install openssh client openssh server 第二步 安裝mpic...