- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06-第六章-HPF编程指南-并行计算实践(共11章)
现代密码学理论与实践之五 并 行 计 算 中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2003年9月 第六章 HPF编程指南 6.1 HPF概述 6.2 HPF编程简介 6.3 数据映射 6.4 数据并行结构 6.5 HPF语言的过程 6.6 HPF实例分析:2D FFT 6.7 HPF语言其他特性 6.1 HPF概述 引言 HPF的语言特点 HPF的语言模型 引言 HPF语言基础 HPF历史 HPF的设计目标 HPF语言基础 HPF语言以FORTRAN90基础 扩展了FORTRAN90 在并行机上支持数据对界和分布的控制; 加入新的数据并行结构; 内部过程和标准库提供很多有用的高级抽象功能; EXTRINSIC过程使得和其他语言或风格的接口进行标准化; 提供指令用于解决一些顺序和存储关联问题; HPF历史 DEC,高性能FORTRAN版本, 组织HPF论坛,1992年1月; 论坛正式成立,1992年3月; 发布HPF1.0,1993年5月; 发布HPF1.1,1994年11月; 发布HPF2.0,1997年1月; HPF设计目标 首要目标: 对数据并行程序设计的支持; 跨越不同体系结构的可扩展性; 在具有不同存储访问开销的并行计算机上的高性能 ; 以标准Fortran作为基础、与其它语言以及其它程序设计风格之间的开放接口和互操作性。 次要目标 能在有限时间内完成实现上的可行性; 为Fortran和C将来的标准活动提供支持; 为以一致的方式向语言中增加高级特征提供一条有发展的途径。 HPF的语言特点 HPF2.0的组成; HPF2.0的一些基本特征; HPF2.0的组成 HPF2.0语言的组成 语言的基本部分; 已经核准的扩展部分; 已被承认的外部接口; HPF2.0的一些基本特征 数据并行制导 ; 数据映射制导; 新的内部过程和库过程 ; 外部过程 ; HPF的语言模型 HPF的并行方式 HPF模型的一些不足 HPF的并行方式 HPF支持非协作任务的并行方式 : HPF程序中派生线程来执行细粒度的并行任务 将全部的HPF程序作为一个任务,提供了粗粒度的并行性,在每个任务中可以利用细粒度的循环或数组并行 HPF模型的一些不足 对以不太结构化的方式来表示并行性支持不够 ; 对有一些数据并行应用HPF处理得不好 ; HPF 不能和SMP构成的机群系统相结合 6.2 HPF编程简介 一个简单的HPF程序实例; HPF的基本特征; 一个简单的HPF程序实例 program example! declare variable integer a(1024),b(1024),c(1024) integer :: result = 0! declare distribute !hpf$ distribute a(block) !hpf$ distribute b(block) !hpf$ distribute c(block)! align values to distributed variables a=1 b=2! add them c = a + b! calculate the sum in all elements of c result = sum( c )! print the result print *, “The last element is”,c(1024) print *, “The sum in all elements is ”, resultend 一个简单的HPF程序实例 它的输出如下: The last element is 3 The sum in all elements is 3072 HPF的基本特性1 变量声明 integer :: x,y integer :: result = 0 real x,y integer a(1024) ,b(1024), c(1024) 指令前缀 HPF指令是以Fortran 90语言中注释的形式出现的 !hpf$ Chpf$ *hpf$ HPF的基本特性2 数据分布 作用:允许程序员向编译器建议如何将数组元素指定到处理器存储器中。 !hpf$ distribute a(block) 实例程序的分布图 HPF的基本特性3 顺序变量 没有显式指示为分布的数组和所有的标量 处理器的私有变量 分布数组的赋值 a=1,b=2 HPF的基本特性4 多个分布数组之间的运算 被选择的分布数组需满足如
文档评论(0)