gpt4 book ai didi

c - 发送方和接收方的不同 MPI_Datatypes

转载 作者:行者123 更新时间:2023-12-02 04:34:11 25 4
gpt4 key购买 nike

使用 MPI,是否可以使用派生自相同基类型且总长度相同的不同 MPI_Datatype 发送和接收数据?

考虑两个 MPI 进程 ABA 有一个数组 double a[n] B 有一个数组 double b[m] .两个进程都知道A要发送B k以某种方式分布在 a 中的 double (只有 A 知道这个分布)。 B(而且只有B)知道它想如何安排k double b .所以两者都创建(通过 MPI_Type_indexedMPI_Type_commit )一个数据类型,对于 A 对应于它想从 a 发送的元素B 对应于它想要将这些元素保存到 b 中的位置. A 调用 MPI_Isend(a, 1, A_datatype, ...) B 调用 MPI_Irecv(b, 1, B_datatype, ...) .

这个有用吗?如果是,这是解决手头问题的标准方法吗?如果不是,这种数据交换通常是如何进行的?

最佳答案

是的,它有效,而且它是解决它的一种非常标准的方法。

数据类型只是在发送方关于如何打包数据的说明,以及在接收方关于如何解包数据的说明

这是一种非常有用且非常标准的 MPI-IO 方法。

关于c - 发送方和接收方的不同 MPI_Datatypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com