gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:30:49 25 4
gpt4 key购买 nike

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

考虑两个 MPI 进程ABA 有一个数组 double a[n]B 有一个数组 double b[m]。两个进程都知道A想要发送Bk double ,这些 double 以某种方式分布在a中(仅 A 拥有关于此分布的知识)。 B(并且只有B)知道它想要如何排列b中的k double 。因此,两者都创建(通过 MPI_Type_indexedMPI_Type_commit)一个数据类型,对于 A 来说,该数据类型对应于它想要从 a 发送的元素。 code> 和 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