最简单的MPI程序HelloworldC.PPT

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最简单的MPI程序HelloworldC

机群应用开发 并行编程原理及 程序设计 Parallel Programming: Fundamentals and Implementation 戴 荣 dair@ 曙光信息产业有限公司 2006.4 参考文献 黄铠,徐志伟著,陆鑫达等译. 可扩展并行计算技术,结构与编程. 北京:机械工业出版社, P.33~56,P.227~237, 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. 相关网址 MPI: , /mpi Pthreads: PVM: /pvm/ OpemMP: 网上有哪些信誉好的足球投注网站: 共享存储编程 Programming with Shared Memory 共享存储并行机模型 共享存储编程标准与特点 共享存储器编程标准 Pthreads(线程标准) X3H5(线程标准) OpenMP(最常用的共享存储并行编程方式,是我们讨论的重点.) 共享存储器编程特点 显式多线程库调用.(Pthreads). 编译制导语句,OpenMP等. 语言 C,Fortran77,Fortran90/95,C++… 并行编程标准 线程库标准(Thread Library) – Win32 API. – POSIX threads线程模型. – X3H5:概念性线程模型 编译制导(Compiler Directives) – OpenMP - portable shared memory parallelism. 为什么流行多线程编程? 线程:在进程的内部执行的指令序列. 相对于进程,线程开销小: 创建一个线程的时间大约是建立一个新进程的1/30。如在Sun4/75工作上站上,创建一个非绑定线程约为52微秒,而fork()一次的时间为1700微秒。 线程同步时间约是进程同步时间的1/3. 线程与RPC相结合,发挥多处理机的处理能力; 发挥多处理器的处理能力; 开发程序的并发性,改善程序的结构. 容易实现数据共享:由于线程共用内存地址,因此可实现数据共享 例:一高性能Web服务器可为每一打开链接的浏览器分配一个线程,所有线程即可共用同一cache来访问网站的热点话题 统一的标准: 以前各开发商提供互不兼容的线程库,结果导致多线程程序不能很好地移值。自1995年的POSIX线程标准实施之后,极大地促进多线程编程的统一。各系统都支持Pthreads,如Linux、SUN、IBM AIX等。 Pthreads线程模型 POSIX1003.4a小组研究多线程编程标准. 当标准完成后,大多数支持多线程的系统都支持POSIX接口.很好的改善了多线程编程的可移植性. IEEE Portable Operating System Interface, POSIX, 1003.1-1995标准:POSIX线程模型:pthreads. 线程管理(Pthread为例) 创建:pthread_create 终止:pthread_exit 汇合:pthread_join 分离:pthread_detach 线程属性初始化:pthread_attr_init 唯一执行:pthread_once 同步对象 在共享存储多处理器并行机上,线程通过全局变量通信,对于全局变量的操作必须进行同步。 pthread提供两个线程同步原语 : 互斥和条件变量. 互斥锁函数 函数 操作 Mutex_init() 初始化一个互斥锁 Mutext_lock() 阻塞式加锁操作 Mutex_trylock() 非阻塞式加锁操作 Mutex_unlock() 解锁 Mutex_destroy() 解除互斥状态 条件变量的函数 函数 操作 pthread_cond_init() 初始化条件变量 pthread_cond_wait() 阻塞直至条件为真 pth

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档