mpi中MPI_Probe和MPI_Get_count之间的区别是什么

时间:2012-08-24 14:22:07

标签: c mpi

我发现MPI_Probe用于查找邮件大小,而MPI_Get_count用于查找邮件长度。 消息长度和消息大小之间有什么区别? 他们俩都不一样吗? 此外,MPI_Send或MPI_Recv中的count参数表示什么? 这是否意味着从进程x向进程y发送/接收相同消息的次数是多少?

1 个答案:

答案 0 :(得分:3)

虽然MPI_Probe可用于查找邮件的大小,但您必须使用MPI_Get_count来获取该大小。 MPI_Probe返回status,这是一个数据结构,提供有关消息的信息,包括其来源,标记和大小。但要获得该大小,请以状态为参数调用MPI_Get_count

我不确定您从哪里获得“消息大小”和“消息长度”这些术语,或者您是如何理解它们的不同之处。对我来说,消息大小只是其中一个MPI数据类型的实例的数字(通常称为count);所以一条消息可能携带6个MPI_Integers,另一条消息可能携带1024个MPI_Reals,依此类推。

当在MPI_SendMPI_Recv中用作参数时,count是消息中数据类型的实例数 - 该数据类型在两个过程中都是后面的参数count