1

以下链接表示 MPICH/MVAPICH 中的函数名称前缀约定(例如,MPID 和 MPIU 前缀)

MPICH/MVAPICH 中的函数名称前缀约定

我只是想知道 MPIR 前缀代表什么(上面的链接中没有解释)?它在哪一层实现,哪一层可以访问它?提前致谢

4

1 回答 1

2

MPIR_通常用于定义在顶层的符号,它在实际MPI_接口之下但在抽象设备接口(ADI)之上,其符号通常有MPID_前缀。大多数MPIU_符号也在这一层定义,但它们通常用于完全独立的实用程序,不实现任何“MPI 业务逻辑”。与这些命名约定一样,并非在所有情况下都 100% 严格遵守该约定。

来源:我的大脑;我已经开发 MPICH 超过 5 年了。

对在库中定义的例程使用非MPI_名称很重要,因为这意味着我们不会意外踩到 MPI 命名空间并可能与未来的标准化冲突或混淆用户对什么是实际标准功能:http://www.mpi -forum.org/docs/mpi22-report/node31.htm#Node31

我们使用 ISO C 声明格式。所有 MPI 名称都有一个MPI_前缀,定义的常量全部大写,定义的类型和函数在前缀后有一个大写字母。程序不得声明名称以前缀开头的变量或函数MPI_。为了支持分析接口,程序不应声明名称以前缀开头的函数PMPI_

于 2013-04-10T12:16:58.250 回答