答案 0 :(得分:9)
我认为你正在阅读太多内容。我认为这仅仅意味着取决于用户实现,任何来自0的随机正整数都是有效计数。不难想象一个不需要参数的消息标签。
如果消息标记不需要参数,那么仅发送零(实际上可能无效以发送更多信息)是有效的。你必须记住,没有参数与没有数据是不一样的,因为消息标记是一个“参数”,它本身就是一个“参数”。
答案 1 :(得分:6)
这意味着MPI中任何需要指定消息数据大小的函数都接受零,但这并不意味着它会导致正确的应用程序代码。
例如,MPI_Send
接受0作为计数,并始终发送一条空消息,该消息不带数据但仍有信封,任何匹配的MPI_Recv
都可以接收。另一方面,如果在MPI_Recv
中指定0作为计数,则对于已到达的任何匹配的非空消息,将收到消息截断错误。对于MPI_Recv
来说,0几乎永远不是有效的(从应用程序的角度来看)计数值,尽管MPI完全可以接受。
在MPI中广泛接受零,因为这样可以编写更加对称的代码(例如,没有大量if (count != 0) ...
的代码