【发布时间】:2011-04-04 06:44:23
【问题描述】:
我正在尝试使用 MPI_SendRecv 跨 2 个进程发送数据(强制)。通常数据会被覆盖在接收缓冲区中,我不想覆盖接收缓冲区中的数据,而是想添加它接收到的数据。
我可以做到以下几点。将上一个时间步的数据存入不同的数组,接收后添加。但是我有大量的节点,我不想在每个时间步都为其存储分配内存。 (或覆盖相同)
我的问题是有没有办法将接收到的数据直接添加到缓冲区并使用 MPI 将其存储在接收到的内存中?
在这方面的任何帮助都将非常感激。
我确信集体沟通电话 (MPI Reduce) 无法在此处解决。有没有其他命令可以做到这一点?
【问题讨论】:
-
你的意思是相加,还是相加?
-
我认为对 MPI_Reduce 的引用表明他指的是数字加法而不是 buffer.push_back。