MPI并行程序设计曙光.pdf
文本预览下载声明
MPI并行程序设计
曙光信息产业(北京)有限公司
2012年6月
2012年6月 MPI并行程序设计 1/214
参考文献
• 黄铠,徐志伟著,陆鑫达等译. 可扩展并行计算技术,结构与编程. 北京:机
械工业出版社, 2000.
• 陈国良著.并行计算—结构、算法、编程. 北京:高等教育出版社,1999.
• Barry Wilkinson and Michael Allen. Parallel Programming(Techniques
and Applications using Networked Workstations and Parallel Computers).
Prentice Hall, 1999.
• 李晓梅,莫则尧等著. 可扩展并行算法的设计与分析. 北京:国防工业出
版社,2000.
• 张宝琳,谷同祥等著. 数值并行计算原理与方法. 北京:国防工业出版
社,1999.
• 都志辉著. 高性能计算并行编程技术—MPI并行程序设计. 北京:清华大
学出版社, 2001.
2012年6月 并行算法设计 2/113
相关网址
• MPI: ,
/mpi
• PVM: /pvm/
• Pthreads:
• OpenMP:
• 网上搜索:
2012年6月 并行算法设计 3/113
并行编程标准
• 多线程库标准
– – Win32 API.
– – POSIX threads.
• 编译制导标准
– – OpenMP – 可移植共享存储并行编程标准.
• 消息传递库标准
本讨论的重点 – – MPI
– – PVM
2012年6月 MPI并行程序设计 4/214
消息传递并行程序设计
• 消息传递并行程序设计
– 指用户必须通过显式地发送和接收消息来实现处理机间的数据交
换。
– 在这种并行编程中,每个并行进程均有自己独立的地址空间,相
互之间访问不能直接进行,必须通过显式的消息传递来实现。
– 这种编程方式是大规模并行处理机(MPP)和机群(Cluster )采
用的主要编程方式。
• 并行计算力度大,特别适合于大规模可扩展并行算法
– 由于消息传递程序设计要求用户很好地分解问题,组织不同进程间
的数据交换,并行计算力度大,特别适合于大规模可扩展并行算法.
• 消息传递是当前并行计算领域的一个非常重要的并行程序
设计方式
2012年6月 MPI并行程序设计 5/214
什么是MPI?
• Massage Passing Interface:是消息传递函数库的
标准规范,由MPI论坛开发,支持Fortran和C
– 一种新的库描述,不是一种语言。共有上百个函数调
用接口,在Fortran和C语言中可以直接对这些函数进行
调用
– MPI是一种标准或规范的代表,而不是特指某一个对它
的具体实现
– MPI是一种消息传递编程模型,并成为这种编程模型的
显示全部