fortran - fortran中的MPI空地址
问题描述
var_to_be_summed
想象一下通过 MPI_REDUCE
a buffer
on将变量的值相加root=0
。
call MPI_REDUCE(var_to_be_summed, buffer, 1, MPI_REAL, MPI_SUM, root, MPI_COMM_WORLD, err)
根据MPICHbuffer
仅对root有意义。所以原则上我可以使用任何变量。例如,buffer
在非根等级中不存在原生的情况下。
real :: dummy
if(rank==root) then
call MPI_REDUCE(var_to_be_summed, buffer, 1, MPI_REAL, MPI_SUM, root, MPI_COMM_WORLD, err)
else
call MPI_REDUCE(var_to_be_summed, dummy, 1, MPI_REAL, MPI_SUM, root, MPI_COMM_WORLD, err)
endif
我的问题是:是否有一种很好的/通用的/标准的方式(在可移植性、易于编码和阅读方面)给 MPI 例程提供一个类似空的参数,在非根级别上有一个“不重要的”缓冲区。
我想用dummy
上面的代码替换它,MPI_BOTTOM
因为它代表一个地址,但我不确定是否有任何副作用。
TL;DR:
MPI 是否支持一个变量,它代表“空”或“任何”地址,如通用标签 MPI_ANY_TAG
?
解决方案
推荐阅读
- amazon-web-services - apigateway 身体映射模板不适用于 s3 静态网站
- javascript - 如果值为零,如何创建一个类以禁用按钮
- python - 在 PyX(python)中填充闭合曲线失败
- javascript - 在特定时间加载 BLOB 视频
- javascript - 用链接连接函数
- r - R - 左下角带有标签的箱线图
- c# - JsonConvert 结束函数
- c# - Android - 从服务中获取价值并在小部件中使用它
- jenkins - Jenkins Heroku Step war:部署成功,但构建失败
- solr - 搜索视图 solr Drupal