




已阅读5页,还剩101页未读, 继续免费阅读
(计算机科学与技术专业论文)ft64流处理技术:体系结构、编程语言、编译技术及编程方法.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院博士学位论文 摘要 当前流行的半导体技术使得计算越来越廉价,但同时带宽却越来越昂贵。因 此,高性能计算机系统必须充分开发局部性以提高应用的计算密集性,同时还要 充分开发并行性,以提高硬件中计算部件的利用率。传统的编程模型( 如o m p 和 m p i 等) 和体系结构( 如多核体系结构) 大多强调了对并行性开发的支持,而对 局部性( 如生产者一消费者局部性) 开发的支持还不够。 流编程模型正好可以满足这两个需求。它通过数据流的定义显示描述了大量 的并行性,同时通过计算核心内部以及之间的数据使用关系大大减少了程序的全 局带宽。流体系结构通过提供大量的计算部件以开发流编程模型所表示出来的多 个层次的并行性( 包括数据级、指令级以及任务级) ,同时通过提供多级寄存器层 次以开发流编程模型所表现出来的局部性。 本文主要从流处理器体系结构、编程语言、编译优化技术以及编程方法等方 面展开了研究,具体工作和创新点如下: 1 ) 在体系结构方面,我们设计并实现了一个面向科学计算的流处理器一飞 腾6 4 ( f t 6 4 ) ,它具有6 4 位的计算环境,峰值性能达到1 6 g f l o p s 。f t 6 4 从指令 集系统、流控制器、微码控制器、计算簇、存储层次以及网络接口和主机接口等 多个方面进行了优化和扩展设计。例如,f t 6 4 为科学计算中常用的乘加运算提供 了大量硬件和指令上的支持。此外,f t 6 4 提供了流级通信( 一种共享存储的通信 方式) 和消息传递两种通信机制,以便于扩展到大规模并行系统。 2 ) 在编程语言和编译方面,我们设计了一个面向科学计算的流编程语言 s t r e a mf o r t 黜n9 5 ( s f 9 5 ) 。s f 9 5 基于f o r t 黜n9 5 扩充了l o 条编译指导 命令。它隐式地定义了s 他锄和k e m e l ,精确地抽象了流体系结构的主要特征。 3 ) 在编译方面,我们为s f 9 5 流编程语言设计了一个编译器一一 s f 9 5 c o m p i l e r 。它面向科学计算实现了面向流体系结构的大量优化,包括流转换、 代码转换和一个内联的超越函数库。 4 ) 在编程方法方面,我们为传统程序提供了一种映射到s f 9 5 流程序的方法 来继承已有的科学计算程序。首先,我们仿照当年循环可向量化和可并行化的定 义,给出了循环流化以及循环可流化的定义;然后,基于循环相关性分析的理论, 我们研究了串行循环、可向量循环以及可并行化循环与可流化循环之间的关系, 给出了这三种程序映射到s f 9 5 程序的条件。 最后,我们针对科学计算中的9 个典型应用核心进行了测试,包括3 个n p b 的测试用例( e p 、m g 和c g ) ,个s p e c 2 0 0 0 的测试用例( s w i n ) ,以及五个重 第i 页 国防科学技术大学研究生院博士学位论文 要的科学计算核心( f f t 、l 印l a c e 、j a c o b i 、g e m m 和n l a g - 5 ) 。结果显示,除 了c g 以外,我们的f t 6 4 比i t a l l i u i i l2 执行性能更高或者至少相当。 法 主题词:流体系结构,流编程模型,流编程语言,编译优化技术,流编程方 第i i 页 国防科学技术大学研究生院博士学位论文 a b s t r a c t m o d e ms e m i c o n d u c t o rt e c l l i l o l o g ym a k e sa r i t h m e t i c 洫e x p e n s i v e 锄db a l l d w i 拙 e x p e n s i v e i l lo r d e rt 0e x p l o i t 廿1 es h i ri nc o s t ,al l i g hp e r f o 册a i l c ec o m p u t e rs y s t e m m u s te x p l o “l o c a l i 吼t 0r a i s et h e 口,砌聊p 比加纪珊砂( t h er a t i oo f 撕t l l m e t i ct 0 b a i l d w i d t t l ) o fm ea p p l i c a t i o na s 、e l la sp a r 甜l e l i s mt ok e e pal a 玛em h n b e ro fa r i t l l m e t i c 戚t sb u s y t r a d i t i o n a lp r o g r a m m i n gm o d e l ( s u c ha so p e nm pa l l dm p i ) a n dp r o c e s s o r a r c h i t e c t u r e ( s u c h 邪m u l t i c o r ep r o c e s s o ra r c l l i t e c t u r e ) a l w a y sf o c i l so nt h ee x p l o i to f p 锄l l e l i s m ,a n dm a k ei i l s u m c i e n ts u p p o r tw i t ht i l ee x p l o i to fl o c a l 时( s u c h 嬲 p r o d u c e r c o i l s u m e rl o c a l i 哆) s t r e 锄p r o 留籼i n gm o d e lm l f i l l sb o t l lo ft h e “dr e q u i r e m e m s i te x p o s e sl a r g e 锄。吼t so fp a m l l e l i s ma c r o s ss t r e 锄e l e m e n t sa r l dr e d u c e sg l o b a lb 戤l d w i d t h b y e x p r e s s i n gl o c a l i t ) r w i t h i na i l db e t w e e nk e m e l s s t i - e 锄a r c m t e c t u r e e x p l o i t st h e p a r a l l e l i s me x p o s e db ys 仃e 锄p r o 铲猢i n gm o d e l ,b yp r 0 v i d i n g10 0 so fa r i t l l m e t i c 硼i t s ,a n de x p l o i t s 也el o c a l 时o fas t r e a mp r o 黟锄,b yp r 0 v i d i n gad e e pr e g i s t e r h i e r a r c h y t t l i st h e s i sp u t sf i o 刑a r do u rs t u d yo na r c l l i t e c t u 】陀,p r 0 印l i l l m i n gl a n g u a g e , c o m p i l e ra n dp r o g r 舢i n gm e t h o d o u rc o n t r i b u t i o l l sa r es h o w n a sf o l l o 、硼: 1 ) w ed e s i g na n di m p l e m e n ta6 4 b i ts t r e 锄p r o c e s s o rf o rs c i e n t i f i cc o m p u t i n g ,f e i t e n g6 4 ( f t 6 4 ) ,w i l i c hh a sap e a kp e r f o n l l a i l c eo f16 g f l o p s f t 6 4c a r r i e so mm e o p t i m i z e da n ds c a l e dd e s i g no nt h e 嬲p e c to fi n s t m c t i o ns e ta r c l l i t e c t u r e ,s t r e 锄 c o l l t r o l l e r ,m i c r oc o n t r o l l e r ,a l uc l u s t e r ,m e m o 巧h i e r a r c h y ,n e 咖r ki n t e r f - a c e a i l d h o s ti n t e r f k e f o re x 锄p l e ,f t 6 4 s 近s 拓u c t i o ns e ta r c 址t e c t u r e 妣l u d e sm u l t i p l e 允s e d m u l t i p l y a d di n s 仇l c t i o n s a l s o ,t 、ok i l l d so fc o 删 n u i l i c a t i o n s ,m e s s a g ep a s s i n ga n d s t r e 锄c o m m u i l i c a t i o n s ,a r ee m p l o y e df o rf t 6 4 - b a s e di l i 曲p e r f o r n l 砒l c ec o m p u t e r s 2 ) w ed e s 咖a 1 1 di m p l e m e n ts t r e 锄f o i 盯r a n9 5 ( s f 9 5 ) ,as 仃e 锄p r o g r a m m i n g l 姐g u a g e ,f o rs c i e n t i f i cc o m p u t i n g b ye x t e n d i n gf o r t 凡n9 5 ,s f 9 5i n c l u d e s1o c o m p i l e rd 硫c t i v e s , c o d e d硒 c o 舢m e n t s t l l e s e c o m p i l e rd i r e c t i v e sp r e c i s e l y c k 嗽l c t e r i z et l l ef e a t u r e so ft l l es t r e 锄p r o c e s s o ra r c 衄e c t u r eb yd e f i n i n gb a s i cs t r e 锄s , d e r i v e ds t r e 锄s a n dk e m e l s 3 ) w ed e s i g na n di m p l e m e n tac o m p i l e r ,s f 9 5 c o m p i l e r ,f o rs f 9 5p r o 铲a m m i n g l a n 舒l a g e ni n t e 伊铽e sm a r l yc o m p i l e rt e c l l l l o l o g i e st os u p p o r ts c i e n t i f i cc o m p u t i n g , 硫l u d i n gs t r e 锄t r a i l s f 0 n i l a t i o n ,c o d eo p t i m i z a t i o n a i l di i l l i n en a n s c e n d e n t a i f u i l c t i o nl i b r a i y 4 ) w bp r e s e n tam e t h o dt om m s f o mt r a d i t i o r l a lp r o g r a m st os f 9 5p r o g r 锄st 0 e n a b l es t r e 锄p r o g 捌 1 1d e s i g l la n di n h e r i te x i s t i n gs c i e n t i f i cp r o g r a m s f i r s t ,w ed e f i n e l o o ps t r e 锄i z a t i o na n ds t r e 锄i z a _ b l eb yc o m p a r i n gw i t hm ed e f i l l i t i o n so fv e c t o r i z a t i o n 第i i i 页 国防科学技术大学研究生院博士学位论文 a n dp a r a l l e l i z a t i o n 1 h e n ,b a s e do nt h et h e o 巧o fd e p e n d e n c ea i l a l y s i s ,、v ed e m o n s t r a t e t h er e l a t i o n sb e t 、) 坨e ns t r e 锄l o o pa n ds e r i a l l o o p ,v e c t o rl o o pa s 、e ua sp a r a l l e l l o o p , a n dp r o v i d em em e t h o dt ot r a n s f o n nt h e s et h r e ek i n d so fp r o g r 锄si n t os f 9 5p r o g r a m s w bp e r f o 肌e x p e r i m e n t so nf t 6 4 衍t hn i n e 够p i c a ls c i e m i f i c 叩p l i c a t i o nk e m e l s , i n c l u d i n g3n p bb e n c h m a r k s ( e p ,m ga i l dc g ) ,o n es p e c 2 0 0 0b e n c h m a r k ( s 、v i m ) a n d5i m p o r t a n ts c i e n t i f i c 印p l i c a t i o nk e m e l s ( f f t ,l a p l a c e ,j a c o b i ,g e m ma n d n l a g 5 ) t h er e s u l t ss h o wt h a tf o re i g h to ft 1 1 e m ,f t 6 4p e r f o 咖se q u a l l yt oo rb e t t e r t h a ni t a n i u m2 k e yw o r d s : s t r e a ma r c h t e c t u r e ,s t r e a mp r o g r a m m i n gm o d e i , s t r e a m p r o g r a m m i n gi a n g u a g e , c o m p i e r a n d o p t i m i z a t i o nt e c h n o i o gy s t r e a m p r o g r a m m 价g 第i v 页 国防科学技术大学研究生院博十学位论文 表目录 表2 1 流级指令集系统18 表2 2 核级指令功能表1 9 表2 3 网路接口接口参数表2 7 表4 1 超越函数计算中的表项个数与多项式展开次数折中5 4 表4 2 超越函数在f t 6 4 和i a 6 4 上测试的速度和精度比较5 6 表6 1 九个测试用例的说明7 4 表6 2f t 6 4 相对于i t a n i 啪2 的性能加速比8 0 第1 v 页 国防科学技术大学研究生院博士学位论文 图目录 图1 1 流处理系统。2 图1 2c h e o p s 芯片结构示意图6 图1 3ra w 芯片示意图7 图1 - 4t h p s 芯片结构示意图7 图1 5s c o r e 芯片示意图8 图1 6i m a g i n e 芯片示意图9 图1 7m e 玎i m a c 处理器芯片布局示意图9 图1 8c e u 芯片示意图1 0 图2 1f t 6 4 芯片结构图1 5 图2 2f t 6 4 系统互连示意图l6 图2 - 3 ( a ) f t 6 4 布局图( b ) f t 6 4 芯片外观图( c ) f t 6 4 并行系统的基本模块1 7 图2 - 4 流级指令格式l8 图2 5 核级指令的v l i w 编码l9 图2 6 流控制器结构2l 图2 7s c 流水线一2 2 图2 8 微码控制器结构框图2 3 图2 9 核级流水线2 3 图2 1 0s r f 和c 1 u s t e r 结构框图2 4 图2 1 1 网路接口结构示意图2 7 图2 1 2 流级通信报文格式2 8 图2 13h i 结构2 8 图2 1 4 消息传递报文格式2 9 图2 1 5d b t 控制器结构示意图2 9 图3 1s f 9 5 程序及其映射到f t 6 4 上执行的示意图3 0 图3 2m p i 与s f 9 5 混合的编程的模版3 l 图3 3 流级程序框架3 2 图3 - 4 两种s b b 和s b e 指导命令的错误的使用3 2 图3 5s b b 和s b e 指导命令嵌套使用的错误3 3 图3 6k b b 和k b e 的使用结果3 4 图3 7 两种k b b 和k b e 指导命令的错误使用3 5 图3 8k b b 和k b e 指导命令的错误使用3 5 第v 页 国防科学技术大学研究生院博士学位论文 图3 9k b b 和k b e 指导命令的错误使用3 5 图3 1 0k l p 及r d t 指导命令的使用结果3 6 图3 1 1k l p 指导命令的错误用法3 7 图3 1 2k l p 指导命令的错误用法3 7 图3 1 3k l p 指导命令的错误用法3 7 图3 1 4s c p 指导命令的使用结果3 8 图3 1 5s c p 指导命令的错误使用一3 8 图3 1 6s c p 指导命令的错误使用3 8 图3 1 7s u r 指导命令使用结果3 9 图3 18k l p 、k u r 及k p l 指导命令的使用结果4 0 图4 1s f 9 5 c o m p i l e r 编译器结构图4 2 图4 2 三种派生流的存储方式示例4 3 图4 3 三种向量生成基流和派生流的结果4 3 图4 4 三种数组变量生成基流和派生流的结果4 4 图4 5 矩阵乘法的循环流化4 5 图4 6 矩阵乘法的循环流化4 6 图4 7i f 语句的转换及分支简化合并过程4 7 图4 8 归约识别过程举例4 7 图4 9 基流复用和派生流复用的例子4 8 图4 1 0 计算核心合并的例子4 9 图4 1 1 三种多项式的计算方法,其中n = 2 m 5 4 图5 1f o r t r a n 代码( a ) 映射到向量机( b ) ,并行机( c ) 和流处理机( d ) 上执行5 7 图5 2 紧嵌套循环三的f o i 玎凡州语言描述一5 8 图5 3 一个循环流转换的例子5 9 图5 4 ( a ) 可流化循环,( b ) 不可流化循环示例6 2 图5 5 一段s f 9 5 程序及其中间代码表示6 2 图5 6 ( a ) 内层循环可流化的嵌套循环;( b ) 内层循环不可流化的嵌套循环6 5 图5 7 ( a ) 可流化的向量循环;( b ) 最内层向量循环可流化的循环6 7 图5 8 ( a ) 可流化的并行循环;( b ) 最内层并行循环可流化的嵌套循环6 7 图5 9 一个索引变量替换的例子6 8 图5 1 0 一个语句重排的例子6 9 图5 1 1 一个循环分裂的例子6 9 图5 1 2 一个循环尾展开的例子7 0 图5 1 3 一个循环联合的例子7 0 第v i 页 国防科学技术大学研究生院博士学位论文 图5 1 4 一个循环分布的例子7 1 图5 1 5 一个循环合并的例子7 1 图5 1 6 一个循环置换的例子7 2 图5 1 7 一个数组扩张和循环置换相结合的例子7 2 图5 1 8 一个循环软流水的例子7 3 图6 1 测试用例在f t 6 4 上的执行性能8 0 图6 2 测试用例在f t 6 4 上的计算访存比8 l 图6 3s r f 与l i u 相对片外存储器的吞吐比8 l 图6 4 访存时间与计算时间占总时间的比例。8 2 图6 5g e m m ( a ) 和c g ( b ) 的性能加速比变化曲线。8 3 第v i i 页 国防科学技术大学研究生院博士学位论文 第v i i i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文r f l 特别加以标注和致谢的地方外,论文中不包含其f 也人已一,l ,执卜o ,p ? 弘v i a h ,m ij 人l1 丁刀u j 协1 ,j 、i 工1 h ;天切】u 0 川兰 i 纠巳j 下7 i c j 凸j 专i 出、l j 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目:e ! 竺鎏竺垩垫查:竺墨竺塑:竺堡堕室:叁堡垫查墨塑军查鎏 学位论文作者签名: 日期:必。7 年f c 月f r 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:坚兰堕竺垩垫查! 竺墨竺垫兰堡里皇:竺堡琏查墨竺里查鲨 学位论文作者签名:! 妾d 逛 作者指导教师签名: 日期:弘。7 年l5 月- d 日日期:弘o ,年l5 月id 日 日期:加0 7 年口月i u 日 国防科学技术大学研究生院博七学位论文 第一章绪论 1 1 课题研究背景 1 1 1 高性能计算体系结构 随着高性能计算的发展,单个芯片内的晶体管数目越来越多,已经达到l o 亿 个以上的量级【l 】,这使得高性能计算机的计算成本越来越低廉。但与此同时,片外 存储和通信延迟并没有得到本质上的改善,线延迟和功耗问题越来越突出,成为 科学家们最关注的问题之一。因此,高性能计算机系统必须充分开发局部性以提 高应用的计算密集性,同时还要充分开发并行性,以提高硬件中大量计算部件的 利用率。 自9 0 年代末至今,关于体系结构的研究不断升温,各种新型体系结构蜂拥而 现,具有代表性的包括:p i m ( p r o c e s s o ri nm e m o 哆) 体系结构【2 - 5 ,8 5 】,可重构体系 结构【6 - 1 2 1 以及流体系结构【1 3 1 9 ,6 6 】等。 p i m 是近年来体系结构研究的一个方向。由于“存储墙”问题【1 15 】的存在,当 前计算机领域面临的现状是:一方面处理器主频提高和内存访问速度之间的差距 不断增大,另一方面芯片内计算逻辑相比于存储占用的晶体管面积只有很小一部 分。因此,将部分处理功能集成到存储部件中,既可以提高存储器的数据利用率, 同时又可以增加并行处理的能力。这方面的研究主要有v i r a m 2 0 j 、f l e x r a m ( 2 、 d i v a 【2 2 j 以及v i m 盼”j 等项目。 可重构体系结构通过利用f p g a 等可编程逻辑器件,根据应用的特点动态改 变芯片的内部结构,从而得到较高的性能。通常把这种可重构的单元称为r p u 。 i 冲u 的有效性在很多实际应用中已经得到了验证。一些研究项目如d i s c 【2 4 1 、 c m m a e r a 【2 5 1 、g 唧【2 6 1 以及m a t i 淞刚等集中于探讨如何结合传统c p u 和i 冲u 功 能的新型体系结构。随着芯片集成度的进一步提高,可编程逻辑器件计算的能力 也将不断加强,可重构计算有可能打破原有高性能计算中硬件和软件的分界线。 流体系结构按照流计算模型将应用中的计算和数据分离,并重新组织成为一 条流水线型的计算链,通过开发多个层次上的并行性和充分利用各级存储层次上 的局部性,从而得到较高的计算性能。其代表芯片包括c h e o p s 【1 3 1 、洲【1 9 1 、 t 砒p s 【2 刚、s c o r e 【1 4 1 、i i i l a g i n e 【1 6 6 7 6 9 1 、m e 盯i m a c 【15 1 、c e l l 【2 9 3 0 】以及f t 6 4 【3 1 】等。 1 1 2 流体系结构 传统的编程模型( 如o p e 枞p f 3 2 1 和m p i 【3 3 1 等) 和体系结构( 如多核体系结构【3 4 1 ) 第l 页 国防科学技术大学研究生院博士学位论文 大多强调了对并行性开发的支持,而对局部性( 如生产者一消费者局部性) 开发 的支持还不够。 流编程模型【3 5 】正好可以满足这两个需求。它通过数据流的定义描述了大量的 并行性,同时通过计算核心内部以及之间的数据使用关系大大减少了程序的全局 带宽。 现有的流处理器都是流计算模型 3 6 d 7 】的实现。流计算模型将应用表达为一组 可以并行计算的模块,通过若干数据通道进行数据交换。一个典型的流处理系统 通常可以划分为三个部分:源结点用于将数据传入系统;计算结点或计算核心执 行原子计算;终结点将系统的数据输出。 图1 1 流处理系统 图1 1 【37 】是一个简单的流处理系统示意图。其中有i i l l 、i n 2 和i n 3 是三个源结 点,它们产生的数据通过可并行计算的五个计算核心m l 、m 2 、m 3 、m 4 以及m 5 处理后,结果由终结点o u t l 和o u t 2 输出。 流体系结构通过提供大量的计算部件以开发流编程模型所表示出来的多级并 行性( 包括数据级、指令级以及任务级的并行性) ,同时通过提供多级寄存器层 次以开发流编程模型所表示出来的局部性。此外,流体系结构可以通过捕获局部 寄存器文件中短期的生产者消费者局部性,以及捕获流寄存器文件中长期的生产 者消费者局部性从而减小存储带宽。而这种局部性是传统的c a c h e 所不能捕获的。 更重要的是,由于流寄存器文件与计算单元是一一对齐的,因此只需要局部的片 上通信就能实现,而c a c h e 则需要全局的片上通信。 流体系结构在信号处理【3 8 1 、多媒体和图形图象处理【3 9 枷1 等领域已经取得显著 的成功,但它是否适合科学计算,还有很多问题需要研究。 首先,在体系结构方面,面向媒体应用的流处理器对科学计算的支持还不够。 第2 页 国防科学技术大学研究生院博士学位论文 流处理器中有丰富的运算资源,能够非常高效地支持向量运算,具备提高科学计 算程序性能的潜力。要把这种计算潜力转换为实际的性能提高,流处理器首先必 须加强对双精度浮点运算的支持,因为科学计算主要是6 4 位以上的应用;其次要 对流处理器的指令集进行面向科学计算的优化,例如添加对乘加操作( f m a ,m s e d m u l t i p l y a d d ) 指令的支持等。s 伽怕r d 大学的新一代流处理器m e 玎i m a c 以及我们 的f t 6 4 已经具备这样一些特征;最重要的是,由于科学计算应用的计算规模通常 都比较大,需要大量的处理器进行处理,因此必须提供灵活的网络接口以提高系 统的可扩展性。 其次,在编程语言方面,现有的流程序编程语言也尚未完全被编程人员接受。 一是现有的流编程语言对科学计算中最常用的编程语言f o r t r a n 支持不足;二 是现有的流编程语言都试图建立一种与传统编程语言不同的新的编程风格。这样 不便于程序员对已有科学计算程序的继承和改写。 1 - 2 1 课题来源 1 2 课题研究内容 本课题来源于国家自然科学基金创新研究群体科学基金“千万亿次高性能计 算关键技术 ( 项目编号:6 0 6 2 1 0 0 3 ) 和国家自然科学基金重点项目“高效能并行 计算机体系结构研究( 项目编号:6 0 6 3 3 0 5 0 ) 。这些项目的主要研究内容是面向 高性能计算的处理器体系结构、结点互连和并行算法与编译优化技术。作为其中 的组成部分,本课题重点针对高性能计算中处理器体系结构、编程语言、编译优 化技术以及编程方法进行了深入研究。 1 2 2 课题研究重点 当前流行的半导体技术使得计算越来越廉价,但同时带宽却越来越昂贵。因 此,高性能计算机系统必须充分开发局部性以提高应用的计算密集性,同时还要 充分开发并行性,以提高硬件中大量计算部件的利用率。 流处理器体系结构正好可以满足这两个需求。流处理器体系结构已经在信号 处理、多媒体以及图形图像处理等领域获得巨大的成功,但它是否适合科学计算 还没有得到充分的验证,本文将从体系结构、编程语言、编译器以及编程方法多 个层次对这一问题进行研究,具体内容如下: 1 ) 面向科学计算的6 4 位流体系结构。 面向媒体应用的流处理器对科学计算的支持还不够。流处理器中有丰富的运 算资源,能够非常高效地支持向量运算,具备提高科学计算程序性能的潜力。要 第3 页 国防科学技术大学研究生院博士学位论文 把这种计算潜力转化为实际的性能提高,流处理器首先必须加强对双精度浮点运 算的支持,因为科学计算主要是6 4 位以上的应用;其次需要对流处理器的指令集 进行面向科学计算的优化,例如添加乘加计算指令的支持等。最后由于科学计算 领域中的计算规模通常都比较大,通常需要大量的处理器进行处理,因此必须提 供灵活的网络接口以提高系统的可扩展性。 2 ) 面向科学计算的流编程语言。 面向媒体应用的流编程语言对科学计算的支持还不够。现有的流编程语言也 尚未完全被编程人员接受。主要原因有两点:一是现有的流编程语言对科学计算 中最常用的编程语言f o r t r a n 支持不足;二是现有的流编程语言都试图建立一 种与传统编程语言不同的新的编程风格。这样不便于程序员对已有科学计算程序 的继承和改写。针对这种情况,我们要设计的编程语言既要考虑对传统程序代码 的继承问题,又要考虑对编程风格的修改尽量不大,从而满足上述两个要求。 3 ) 面向科学计算的流编译优化技术。 面向媒体应用的流编译优化技术对科学计算的支持还不够。在科学计算领域 中,为了大幅度提高系统整体的性能,不仅要继承传统的优化技术,如循环变换 和数据变换技术,还要针对特定的体系结构,进行大量面向体系结构的优化。针 对流体系结构的特征,我们要研究特定的优化方法,以提高流处理器的性能,比 如说如何充分利用流体系结构提供的多级并行和充分开发流体系结构提供的多级 存储层次的局部性等。 4 ) 面向科学计算的流编程方法。 目前的流编程方法对科学计算支持不够。现有的流编程方法大多都是一种类 似汇编级的编程方法,需要程序员对体系结构和应用程序本身的特性非常了解, 从而尽可能大幅度提高系统整体性能。这为程序员编程带来极大的负担。针对这 一问题,考虑到科学计算应用的主要开销集中在循环上,我们需要研究到底什么 样的循环能够高效地映射到流处理器上执行,这些循环与传统的可向量化循环和 可并行化循环之间有什么样的关系。 1 2 3 课题研究难点 本课题主要围绕面向科学计算的流处理技术展开研究,涉及的知识领域较广, 具有一定的难度,具体表现在: 1 ) 目前还没有一款真j 下的面向科学计算的流处理器芯片投入使用,如何针对 科学计算的特点设计面向科学计算的流处理器是一项艰巨的任务。具体来说需要 为流处理器提供6 4 位的计算环境和乘加操作指令的支持,同时还要为系统扩展提 供灵活的网络接口。 第4 页 国防科学技术大学研究生院博士学位论文 2 ) 目前还没有一种真正投入使用的面向科学计算的流编程语言。一个好的流 编程语言的应该具有以下特征:首先,它应该能够很好地在程序员和体系结构硬 件之间做出抽象;其次,它应该能够简单高效的映射到各种大量体系结构中去, 此外它还应该便于继承已有的程序代码,编译器实现简单等特点。以h p f ( h i 吐 p e r f o n i l a l l c ef o r t 凡气n ) 1 5 4 j 编程语言为例,尽管用h p f 编写的代码可以比m p i 代 码小很多,大部分程序的运行性能也不低,但它仍然没有获得成功,其主要原因 就是它的语言规范过于复杂,编程人员不易于接受,编译器也很难实现。因此, 在设计新的流编程语言的时候,必须充分兼顾易编程性和对已有代码的继承。 3 ) 面向科学计算的流编译优化技术起步较晚,目前大多停留在面向媒体应用 的编译优化技术上,而这些编译优化技术通常针对各自的处理器结构特点,缺乏 通用性,因而无法被简单地移植到我们的编译器中。针对高性能计算领域的特点, 我们需要在编译器中结合传统的编译优化技术和面向体系结构特定的优化技术, 才能达到充分提高流处理器性能的需求。 4 ) 面向科学计算的流编程方法是这一领域的一个空白,目前只有少数几个单 位开始关注这个问题,但都还没有研究成果。研究什么样的程序或循环适合流处 理器计算,需要掌握大量编译优化技术的基本理论,如依赖关系分析理论和传统 的程序变换理论等。 5 ) 为了验证我们系统的有效性,需要编写大量的测试用例进行评估。由于整 套流处理系统是我们自己设计开发的,因此,我们必须手动的将这些测试用例改 写成我们自己设计的编程语言版本。 1 3 相关工作 当前对流处理器的研究主要集中在处理器体系结构、编程语言以及编译优化 技术上。但大多数研究主要针对多媒体应用,对科学计算应用的支持不足。 1 3 1 流体系结构 流计算模型最早出现于h o a r e 的c s p 冈( c o m m u m c a t i n gs e q u e n t i a lp r o c e s s o r ) , 随后d a v i dm a y 等人在o c c a m 【4 1 】上进行了实现。近年来,随着集成电路工艺的 进步,流计算模型得到进一步研究,并成功应用于数字信号处理和多媒体领域, 出现了许多支持流计算模型的体系结构和处理器,如c h e o p s 【1 3 】、s c o r e 【1 4 】、 i m a g i n e 【1 6 1 、r a w 【1 9 】、v i r a m 【2 0 】、t p s 【2 8 1 以及l e a p 【4 2 1 等。也有一些研究工作 将流计算模型应用于科学计算领域,这方面的提出的处理器有m e r r i m a c 【”】, m a s a 【4 3 埘1 以及c e l l 【2 9 3 0 ,9 3 9 8 1 等。 第5 页 国防科学技术大学研究生院博士学位论文 按实现流计算模型的方式,流处理器可以分为硬连线流处理器和可编程流处 理器两类。硬连线流处理器中的处理单元固定执行某种特定的功能,多个处理单 元通过网络连接在一起完成流计算模型中的各种计算功能。可编程流处理器的处 理单元可以编程,因此每个处理单元都能完成不同的功能。 下面介绍一些具有代表性的流处理器。 ( 1 ) c h e o p s 是1 9 9 5 年由m i t 媒体实验室研究开发的一款流处理器。如图1 2 所示,c h e o p s 中的s p 是流处理单元,v r a m 是存储单元。s p 不可编程,只能完 成一个特定的功能,如矩阵转置,滤波,离散余弦变换等。c h e o p s 执行时,首先 按照流应用程序的需要指定每个s p 的功能以及它们之间的互连通道,这就相当于 将体系结构映射到了程序流图上。数据流从存储单元中读出后进入一个s p 进行处 理,产生的输出流通过中间全相连的交换开关传递给下一个s p ,因此c h e o p s 属于 硬连线流处理器。 图1 - 2c h e o p s 芯片结构示意图 ( 2 ) r a w 处理器是2 0 0 1 年由m i t 大学研制的款流处理器。如图1 3 所示, r a w 处理器由1 6 个t i l e 组成,每个t i l e 包含计算资源和交换单元:计算资源完 成运算,交换单元负责与其它1 r i l e 通信。洲处理器的每个t i l e 都有单独的微处 理器、数据c a c h e 以及存储部件,各个t i l e 既可以独立执行不同的线程,也可以通 过交换单元连接起来,从而实现流计算模型,因而黜州属于硬连线流处理器。洲 把底层的物理资源如门、线以及引脚等完全暴露给程序员,因此,程序员可以仔 细安排程序的执行方式以获得最佳性能,但这要求程序员对删的体系结构的理 解非常深入,从而加剧了程序员和编译器的负担。 第6 页 国防科学技术大学研究生院博士学位论文 图1 3r a w 芯片示意图 ( 3 ) t r i p s 处理器是2 0 0 3 年由美国德州大学研制的一款流处理器。图1 4 右 侧是t r j p s 处理器的一个处理器核,每个t r i p s 处理器包含两个或多个这样的核。 每个处理器核包括1 6 个计算单元,寄存器体( r ) ,数据c a c h e ( d ) ,指令c a c h e ( i ) 等。 计算单元通过一个轻量级网络相连。每个计算单元主要包括一个单发射的整数和 浮点a l u 。t r j p s 的执行机制与r a w 比较类似,在执行流计算模型时,都属于 硬连线流处理器,即每个计算单元作为流计算模型中的一个计算结点,上一个计 算结点产生的数据流直接通过网络传递给下一个结点。与r a w 的不同之处在于, r a w 中计算结点的划分是程序员或者编译决定的,而t 砌p s 是由硬件动态决定。 i。一。一一。,。 图l 一4 秭p s 芯片结构示意图 第7 页 国防科学技术大学研究生院博士学位论文 ( 4 ) s c o r e 处理器是2 0 0 3 年由美国b e r k e l e y 大学得b r a s s 小组【4 5 j 研制的一 款面向可重构的流处理器,其结构如图1 5 所示。其中,深色格子的方框表示 s c o r e 的基本计算单元,称为计算页,相邻的灰色方框是这个计算页的存储器和 互连接口。计算页包括计算逻辑和一些寄存器,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人工智能开发工程师中级面试模拟题与答案详解
- 2025年黄浦区社区工作者招聘考试笔试试卷【附答案】
- 2025年美容美发师实操模拟题及答案
- 中小学教学课件案例
- 2025年物资储备管理局招聘面试中的团队合作问题解析与应对技巧
- 2025年初中数学特岗教师招聘考试备考策略
- 2025年自动化生产线操作工面试指南与预测题
- 2025年金属材料加工技术中级考试要点解析
- 2025年山东省聊城市高考语文三模试卷
- 野村-中国医疗保健:跨国公司2025年第二季度中国业务总结 China healthcare MNCs2Q25 China results summary
- 骨折内固定术术前宣教
- 毛振明《体育教学论》(第3版)配套题库【课后习题+专项题库】
- 集团公司内部资金调剂管理办法
- 思想道德与法治课件:专题五在实现中国梦的实践中放飞青春梦想
- 新人教A必修一《集合》课件
- 复用器械处理流程
- 静安沉恒 沉子恒
- GB/T 23510-2009车用燃料甲醇
- GB/T 14216-2008塑料膜和片润湿张力的测定
- 警械使用课件
- 人教版小学三年级英语上册期中考试试卷
评论
0/150
提交评论