以下链接表示MPICH / MVAPICH中的函数名称前缀约定(例如,MPID和MPIU前缀)
Function Name Prefix Convention in MPICH/MVAPICH
我只是想知道MPIR前缀代表什么(在上面的链接中没有解释)?它在哪个层实现,哪些层可以访问它? 在advnace中感谢
答案 0 :(得分:2)
MPIR_
通常用于在顶层中定义的符号,该层位于实际MPI_
接口之下但在抽象设备接口(ADI)之上,其符号通常具有{{ 1}}前缀。大多数MPID_
符号也在此层定义,但它们通常用于完全独立的实用程序例程,这些例程不实现任何“MPI业务逻辑”。与这些命名约定一样,在所有情况下都没有严格遵守约定。
来源:我的大脑;我一直在开发MPICH大约5年。
对库中定义的例程使用非MPIU_
名称很重要,因为这意味着我们不会意外地踩踏MPI名称空间并可能与未来的标准化冲突或使用户混淆实际标准功能:http://www.mpi-forum.org/docs/mpi22-report/node31.htm#Node31
我们使用ISO C声明格式。所有MPI名称都有
MPI_
前缀,定义的常量全部为大写字母,定义的类型和函数在前缀后面有一个大写字母。程序不得声明名称以前缀MPI_
开头的变量或函数。为了支持分析界面,程序不应声明名称以前缀MPI_
开头的函数。