我发现MPI_Probe用于查找邮件大小,而MPI_Get_count用于查找邮件长度。 消息长度和消息大小之间有什么区别? 他们俩都不一样吗? 此外,MPI_Send或MPI_Recv中的count参数表示什么? 这是否意味着从进程x向进程y发送/接收相同消息的次数是多少?
答案 0 :(得分:3)
虽然MPI_Probe
可用于查找邮件的大小,但您必须使用MPI_Get_count
来获取该大小。 MPI_Probe
返回status
,这是一个数据结构,提供有关消息的信息,包括其来源,标记和大小。但要获得该大小,请以状态为参数调用MPI_Get_count
。
我不确定您从哪里获得“消息大小”和“消息长度”这些术语,或者您是如何理解它们的不同之处。对我来说,消息大小只是其中一个MPI数据类型的实例的数字(通常称为count
);所以一条消息可能携带6个MPI_Integers,另一条消息可能携带1024个MPI_Reals,依此类推。
当在MPI_Send
或MPI_Recv
中用作参数时,count
是消息中数据类型的实例数 - 该数据类型在两个过程中都是后面的参数count
。