mpi筆記(一)環境
mpi筆記(二)點對點通訊
mpi筆記(三)集合通訊
mpi筆記(四)資料型別和派生資料型別
mpi筆記(五)組和通訊因子
mpi筆記(六)虛擬拓撲
mpi筆記(七)計算圓周率
/*
組和通訊因子:
mpi_comm_world 是全域性的通訊因子
mpi_comm_group (comm,*group) : 獲取與通訊因子關聯的組控制代碼
mpi_group_rank (group,*rank) : 返回該程序在指定組中的秩
mpi_group_size (group,*size) : 返回該組的程序數
mpi_group_excl (group,n,*ranks,*newgroup) : 從指定的組中淘汰一些程序後建立新組
mpi_group_incl (group,n,*ranks,*newgroup) :從指定的組中提取程序產生新的組
mpi_group_intersection (group1,group2,*newgroup) :獲取兩個組的交集程序,生成新的組
mpi_group_union (group1,group2,*newgroup) :獲取兩個組的並集程序,生成新的組
mpi_group_difference (group1,group2,*newgroup) :獲取兩個程序組中的不同程序,產生新的組
mpi_group_compare (group1,group2,*result) :比較兩個組,如果兩個組中的成員和秩都一樣則返回 mpi_ident,只成員一樣返回mpi_similar,否則返回mpi_unequal
mpi_group_free (group) :釋放乙個使用者建立的組
mpi_comm_create (comm,group,*newcomm) : 根據組和通訊因子,建立乙個新的通訊因子
mpi_comm_dup (comm,*newcomm) : 複製乙個新的通訊因子
mpi_comm_compare (comm1,comm2,*result) : 該函式比較兩個通訊因子, 找出兩個組內通訊因子之間的關係。 如果兩個通訊因子中的 上下文關係和組都一樣,則返回 mpi_ident ,如果上下文關係相同,而組不相同則返回 mpi_congruent ,如果上下文關係不相同,而組相同則返回 mpi_similar。否則結果為 mpi_unequel
mpi_comm_free (*comm) :釋放使用者建立的通訊因子
*/#include
#include
"mpi.h"
#include
using
namespace std;
#define nprocs 8
intmain_comm
(int argc,
char
*ar**)
, ranks2[4]
=;mpi_group orig_group, new_group;
mpi_comm new_comm;
mpi_init
(&argc,
&ar**)
;mpi_comm_rank
(mpi_comm_world,
&rank)
;mpi_comm_size
(mpi_comm_world,
&numtasks);if
(numtasks != nprocs)
sendbuf = rank;
/* extract the original group handle */
mpi_comm_group
(mpi_comm_world,
&orig_group)
;// 獲取與通訊因子關聯的組控制代碼
/* divide tasks into two distinct groups based upon rank */
if(rank < nprocs /2)
else
/* create new new communicator and then perform collective communications */
mpi_comm_create
(mpi_comm_world, new_group,
&new_comm)
;// 根據通訊因子和組生成新的通訊因子
mpi_allreduce
(&sendbuf,
&recvbuf,
1, mpi_int, mpi_sum, new_comm)
;// 傳送資料到指定的通訊因子
mpi_group_rank
(new_group,
&new_rank)
;// 獲取當前程序在組中的秩
printf
("rank= %d newrank= %d recvbuf= %d\n"
, rank, new_rank, recvbuf)
;mpi_finalize()
;}
學習筆記 MPI組通訊的散發與組收集
在mpi組通訊中,散發操作有兩個函式,分別是mpi scatter與mpi scatterv。分別與之前所說的mpi gather,mpi gatherv為互逆操作。使用mpi scatter函式可以將root程序的傳送緩衝區中的資料順序地分發給各個程序 自己的接收緩衝區也會接收到 呼叫方式為 mp...
vue學習筆記(五) 元件通訊
關於vue父子元件通訊 github suerimn 如果元件是乙個單頁面,元件之間存在父子關係,資料傳遞就需要根據父子不同的地位使用不同的辦法。借助新建的electron vue專案自帶的兩個元件來說明。目錄結構如下 其中landingpage.vue是父元件,systeminformation....
zigbee學習筆記十二 組播通訊
1 協調器建立網路,並加入乙個組,向組內成員組播資料 i am coordinator device n 2 終端1加入網路,並加入與協調器相同的組,收到協調器傳送而來的資料 2 終端2加入網路,並加入另外乙個組,不能收到協調器發來的資料 1 複製工程模板,並重命名 2 加入串列埠通訊 3 配置組播...