MPI_Probe() 用于确定消息大小
MPI_Probe() for determining message size
MPI_Probe 的一个常见用法是确定传入消息的大小,以便为接收缓冲区分配足够的内存。但这也可以通过一对单独的 MPI_Send-MPI_Recv 调用来完成,即发送方进程在不同的消息中将消息大小发送给接收方。可以假设 MPI_Probe 通常是更快的选择吗?为什么?我们可以执行一些测试并比较挂钟时间,但结果可能取决于实现。
- 对于短消息,延迟比消息的大小更重要,因此探测小消息可能更快。
- 探测使得处理
MPI_ANY_SOURCE
作为发件人变得更容易:否则您必须首先确定大小消息的来源,然后从该来源进行特定的接收。
人们通常使用 MPI_Iprobe
而不是 MPI_Probe
,它会告诉您是否有消息。是的,您可以使用多个 Irecv
来模拟它,但为什么要让您的代码如此复杂?
MPI_Probe 的一个常见用法是确定传入消息的大小,以便为接收缓冲区分配足够的内存。但这也可以通过一对单独的 MPI_Send-MPI_Recv 调用来完成,即发送方进程在不同的消息中将消息大小发送给接收方。可以假设 MPI_Probe 通常是更快的选择吗?为什么?我们可以执行一些测试并比较挂钟时间,但结果可能取决于实现。
- 对于短消息,延迟比消息的大小更重要,因此探测小消息可能更快。
- 探测使得处理
MPI_ANY_SOURCE
作为发件人变得更容易:否则您必须首先确定大小消息的来源,然后从该来源进行特定的接收。
人们通常使用 MPI_Iprobe
而不是 MPI_Probe
,它会告诉您是否有消息。是的,您可以使用多个 Irecv
来模拟它,但为什么要让您的代码如此复杂?