【问题标题】:MPI zero count data exchangeMPI 零计数数据交换
【发布时间】:2018-12-02 08:44:11
【问题描述】:

我有一些关于交换零计数数据(例如,通过 MPI_Send 和 MPI_Recv)的问题,我无法在 MPI 文档中找到答案:

1) 据我了解,计数等于 0 是合法的(根据 MPI 标准)。还是定义了实现?

1a) 在像MPI_Gatherv 这样的函数中,某些计数可以为零吗?

2) 如果计数为零,缓冲区是否仍然必须是有效指针?还是可以NULL/uninitialized?

3) 即使 count 为 0,网络上仍有一些通信,即某些标头/元数据仍在通信。我说的对吗?

【问题讨论】:

    标签: parallel-processing mpi


    【解决方案1】:

    1) 计数为零是合法的。

    1a) 在MPI_Gatherv()(和MPI_Scatterv(),MPI_Alltoallv()` 和朋友)中有一些计数为零是合法的

    2) 标准不强制指针在计数为零时有效

    3) 零消息大小是一条消息,直接结果是交换了一些元数据。 MPI_Recv(..., count=0, ...) 仅在收到(并因此发送)零大小消息后返回,如果没有发送数据,则不会发生这种情况。

    【讨论】:

      猜你喜欢
      • 2013-07-08
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2012-10-17
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多