我今天遇到了这个问题(http://www.mcs.anl.gov/research/projects/mpi/www/www3/MPI_Send.html)
__PRE__
零计数通常有效意味着什么?这是否意味着它依赖于实现?
我觉得你读得太多了.我认为这仅仅意味着取决于用户实现,从0到随机正整数的任何内容都是有效计数.不难想象一个不需要参数的消息标签.
如果消息标记不需要参数,那么仅发送零(实际上,发送更多信息可能无效)是有效的.您必须记住,没有参数与没有数据不同,因为消息标记是其自身的"参数".
这意味着要求指定消息数据大小的MPI中的任何函数都接受零,但这并不意味着它将导致正确的应用程序代码.
例如,MPI_Send接受0作为计数,并且将始终发送一个空消息,该消息不携带任何数据,但仍然有一个信封,并且可以通过任何匹配接收MPI_Recv.另一方面,如果您将0指定为计数,MPI_Recv则会收到任何已到达的匹配非空消息的消息截断错误.MPI_Recv尽管它对于MPI是完全可以接受的,但是0几乎从来都不是有效的(从应用程序的角度来看)计数值.
零在MPI中被广泛接受,因为它使人们能够编写更对称的代码(例如,没有大量代码的代码) if (count != 0) ...
| 归档时间: |
|
| 查看次数: |
3783 次 |
| 最近记录: |