gpt4 book ai didi

c - MPI:如何将多个处理器中的子数组连接成一个更大的单个数组

转载 作者:太空狗 更新时间:2023-10-29 15:41:00 26 4
gpt4 key购买 nike

我在 C 中使用 MPI。我能够将数组的一部分分配给不同的处理器。不同的处理器完成了我想要的所有操作。现在我想将所有处理器中的所有子数组组合成一个大数组。例如,如果不同的处理器有如下子数组:

Processor 1:
0 1 1 0
0 0 1 0

Processor 2:
0 0 1 0
1 1 0 1

Processor 3:
1 1 0 0
1 1 1 1

...

我希望能够将所有子数组组合或“串联”在一起。例如,我希望大数组是:

0 1 1 0
0 0 1 0
0 0 1 0
1 1 0 1
1 1 0 0
1 1 1 1
...

我试图使用 MPI_Reduce,但我找不到一个操作来完成我想做的事情。我可以使用另一种 MPI 方法来实现我正在寻找的目标吗?

最佳答案

您正在寻找 MPI_Gather:

Each process (root process included) sends the contents of its send buffer to the root process. The root process receives the messages and stores them in rank order.

有关文档和示例,请参阅 herehere . MPI 2.2 Standard 中的第 5.5 节也有例子。

关于c - MPI:如何将多个处理器中的子数组连接成一个更大的单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16046792/

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