"MPI程序的一些惯例-投影机pjlink协议(中文版)"
本文档主要探讨了MPI(Message Passing Interface)程序设计的一些惯例和规范,适用于并行计算和高性能编程。MPI是一种广泛使用的并行编程标准,用于在分布式内存系统中协调多个处理器之间的通信。
5.2 MPI程序的一些惯例:
1. **命名规则**:所有MPI相关的常量、变量、过程和函数名均以`MPI_`为前缀,以避免与自定义的程序元素混淆。程序员在编写自己的代码时,不应使用以`MPI_`开头的名称。
2. **大小写规则**:在FORTRAN中,MPI函数通常全部使用大写字母,虽然FORTRAN本身不区分大小写;而在C语言中,MPI函数遵循`MPI_Aaaa_aaa`的格式,即首字母大写,其余单词首字母大写。
3. **返回代码**:FORTRAN中的MPI子程序通常在参数列表的末尾包含一个返回代码,成功执行的返回值是`MPI_SUCCESS`,其他错误代码由具体实现决定。而一些MPI函数没有返回代码参数。
4. **数据类型**:FORTRAN中的句柄用整型表示,二值变量使用逻辑类型,数组下标从1开始;而在C中,数组下标从0开始。
5. **FORTRAN 77兼容性**:MPI程序设计遵循ANSI FORTRAN 77标准,但有一些扩展,例如:
- MPI标识符可以包含多达30个有效符号,而不是FORTRAN 77的6个。
- 标识符允许在第一个字符后包含下划线。
- 有选择参数的MPI子程序可以用不同类型的参数调用。
- 常量在包含文件`mpif.h`中定义。
- 支持用户定义类型的系统鼓励在`mpif.h`中提供类型说明。
此外,提及的书籍《高性能计算之并行编程技术》深入介绍了MPI并行程序设计,适合本科高年级学生、研究生和并行计算用户作为学习参考。书中内容包括并行编程基础、MPI的基本功能、高级特性,以及MPI-2的最新发展,如动态进程管理、远程存储访问和并行文件读写。通过实例和注释,帮助读者理解并掌握从简单到复杂的MPI程序设计,并培养并行求解的思维。
通过学习这些惯例和MPI的基本概念,读者不仅可以编写出有效的并行程序,还能在解决实际问题时灵活运用并行计算的方法,使其成为强大的工具。