- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代密码学理论与实践之五 并 行 计 算 中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2003年9月 第四篇 并行程序设计 第十二章 并行程序设计基础 第十三章 共享存储系统并行编程 第十四章 分布存储系统并行编程 第十五章 并行程序设计环境与工具 第十三章 共享存储系统并行编程 13.1 基于共享变量的共享存储并行编程 13.2 早期共享存储并行编程模型 13.3 OpenMP编程简介 共享存储并行编程的基本问题 任务划分 域分解(数据并行) 功能分析(控制并行) 任务调度 静态调度(确定、非确定) 动态调度 任务同步 同步方式:锁、路障、事件、信号灯、管程等 任务通信 读写共享变量 共享存储编程环境 纯共享存储环境 SMP、PVP UMA 集中的、公共的共享存储器 全局统一编址 ANSI X3H5、Pthreads、OpenMP等 虚拟共享存储环境 DSM NUMA 分布的局部存储器组成系统的全局共享虚拟存储器 全局统一编址 Linda、Jiajia 第十三章 共享存储系统并行编程 13.1 基于共享变量的共享存储并行编程 13.2 早期共享存储并行编程模型 13.3 OpenMP编程简介 早期共享存储并行编程模型 ANSI X3H5共享存储模型 概念标准编程模型(1993年) 可与C、Fortran77、Fortran90三种语言结合 POSIX线程模型 IEEE/ANSI标准—IEEE POSIX 1003.1c-1995线程标准—Unix/NT操作系统层上的 ANSI X3H5共享存储模型 并行块(工作共享构造) 并行块(psections ... end psections) 并行循环(pdo ... Endo pdo) 单进程(psingle ... End psingle) 可嵌套 非共享块重复执行 隐式路障(nowait),显式路障和阻挡操作 共享/私有变量 线程同步 门插销(latch):临界区 锁:test、lock、unlock 事件:wait、post、clear 序数(ordinal):顺序 Program main !程序以顺序模式开始,此时只有一个 A !A只由基本线程执行,称为主线程 parallel !转换为并行模式,派生出多个子线(一 个组) B !B为每个组员所复制 psections !并行块开始 section C !一个组员执行C section D !一个组员执行D end psections !等待C和D都结束 psingle !暂时转换成顺序模式 E !已由一个组员执行 end psingle !转回并行模式 pdo i=1,6 !pdo构造开始 F(i) !组员共享F的六次迭代 end pdo no wait !无隐式路障同步 G !更多的复制代码 end parallel !转为顺序模式 H !初始化进程单独执行H ... !可能有更多的并行构造 End 第十三章 共享存储系统并行编程 13.1 基于共享变量的共享存储并行编程 13.2 早期共享存储并行编程模型 13.3 OpenMP编程简介 OpenMP编程简介 起源于ANSI X3H5标准 简单、移植性好和可扩展 工业标准 DEC、Intel、IBM、HP、Sun、SGI等公司支持 包括UNIX和NT等多种操作系统平台 将已有的串行程序逐步并行化 Fortran77、Fortran90、C、C++语言的实现规范已经完成, / OpenMP编程风格 使用Fork-Join并行执行模型 基于c/c++语言的OpenMP程序的结构 #include omp.hmain () {int var1, var2, var3;…#pragma omp parallel private(var1, var2) shared(var3){…}…} OpenMP编程要素 编译制导语句 并行域结构 共享任务结构 组合的并行共享任务结构 同步结构 数据域属性子句 语句的绑定和嵌套规则 //* 用OpenMP(C)编写Hello World代码段 *// #include omp.h int main(int argc, char* argv[]) { int nthreads, tid; int nprocs; char buf[32];
您可能关注的文档
最近下载
- 《GB50242-2016建筑给排水及采暖工程施工质量验收规范(条文说明)》.pdf
- 《严格规范涉企行政检查》专题讲座.pptx VIP
- 最高法院第一巡回法庭关于行政审判法律适用若干问题的会议纪要.pdf VIP
- 七年级的道德与法制下册知识点.doc VIP
- 2025年高考语文课内文言文知识梳理(统编版)《子路、曾皙、冉有、公西华侍坐》(原卷版).pdf VIP
- 苏教版初中数学八年级下册《反比例函数》单元检测试卷及参考答案.pdf VIP
- 厂区零星工程施工方案(3篇).docx VIP
- 应急管理部关于严格规范安全生产执法行为的通知专题宣贯学习.pptx VIP
- 2025年全国保密教育线上培训考试题(含答案).docx VIP
- 七年级上册《道德与法制》知识点归纳.docx VIP
文档评论(0)