在MPI_Gather()中,MPI_Scatter()发送计数和接收计数之间有什么区别?

时间:2017-07-16 20:35:03

标签: c++ c memory mpi message-passing

在MPI收集和分散中,有两个发送和接收计数。我检查了文档,发现它们都应该具有相同的值。

例如: - 在MPI_Gather()中,send_countreceive_count都应具有发送缓冲区大小。 https://www.mpich.org/static/docs/v3.1/www3/MPI_Gather.html

有人可以解释这个冗余参数的用途是什么吗?

1 个答案:

答案 0 :(得分:4)

在某种程度上,您可以使用不同的类型 - 但总大小需要匹配。

或者更确切地说,the standard解释说:

  

每个进程的sendcountsendtype类型签名必须是   等于根recvcountrecvtype的类型签名。这个   意味着发送的数据量必须等于   收到的数据,每个进程和根之间成对。不同   发送者和接收者之间的类型映射仍然是允许的。