MPICH / MVAPICH中的MPIR前缀

时间:2013-04-10 03:47:04

标签: mpi mpich mvapich2

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

Function Name Prefix Convention in MPICH/MVAPICH

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

1 个答案:

答案 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_开头的函数。