并行计算:第十三章 并行程序设计基础.pdf

并行计算:第十三章 并行程序设计基础.pdf

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

并行计算 Parallel Computing 主讲人主讲人 徐徐云云 Spring, 2014Spring, 2014 第四篇第四篇 并行程序设计并行程序设计 第十三章 并行程序设计基础 第十四章 共享存储系统并行编程 第十五章第十五章 分布存储系统并行编程分布存储系统并行编程 第十六章 并行程序设计环境与工具 第十三章并行程序设计基础  13.113.1 并行程序设计概述并行程序设计概述  13.213.2 进程和线程进程和线程  13.313.3 同步和通信同步和通信  13.413.4 单核多线程与多核多线程单核多线程与多核多线程单核多线程与多核多线程单核多线程与多核多线程  13.513.5 影响多线程性能的常见问题影响多线程性能的常见问题  13.613.613.613.6 并行程序设计模型并行程序设计模型并行程序设计模型并行程序设计模型 国家高性能计算中心(合肥) 3 并行程序设计概述 11 并行程序设计难的原因并行程序设计难的原因 2222 并行语言的构造方法并行语言的构造方法并行语言的构造方法并行语言的构造方法 33 并行性问题并行性问题 4444 交互交互交互交互////通信问题通信问题通信问题通信问题 55 五种并行编程风范五种并行编程风范 国家高性能计算中心(合肥) 4 1 并行程序设计难的原因  技术先行,缺乏理论指导  程序的语法程序的语法//语义复杂语义复杂, 需要用户自已处理需要用户自已处理  任务/数据的划分/分配  数据交换  同步和互斥  性能平衡  并行语言缺乏代可扩展和异构可扩展并行语言缺乏代可扩展和异构可扩展, 程序移植困难程序移植困难, 重写代码难度太大  环境和工具缺乏较长的生长期环境和工具缺乏较长的生长期, 缺乏代可扩展和异构可缺乏代可扩展和异构可 扩展 国家高性能计算中心(合肥) 5 2 并行语言的构造方法 串行代码段串行代码段 ((c)) 加编译注释构造并行程序的方法加编译注释构造并行程序的方法 for ( i= 0; iN; i++ ) A[i]=b[i]*b[i+1]; #pragma parallel for (i= 0; iN; i++) c[i]=A[i]+A[i+1]; #pragma shared(A,b,c) ##pragma llocal(i)l(i) (a) 使用库例程构造并行程序 { id=my_process_id(); # pragma pfor iterate(i=0;N;1) p=numberp=number_ofof_processes();processes(); forfor (i=0;iN;i++)(i=0;iN;i++) A[i]=b[i]A[i]=b[i]*b[i+1];b[i+1]; for ( i= id; iN; i=i+p) A[i]=b[i]*b[i+1]; # pragma synchronize barrier(); # pragma pfor iterate (i=0; N; 1) forfor (i(i= id;id; iiN;N; ii=ii+p)p) c[i]c[i]=A[i]A[i]+A[iA[i+1];1]; forfor (i=0;iN;i++)c[i]=A[i]

文档评论(0)

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

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

1亿VIP精品文档

相关文档