FT64流处理技术:体系结构、编程语言、编译技术及编程方法

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:felixsilent
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当前流行的半导体技术使得计算越来越廉价,但同时带宽却越来越昂贵。因此,高性能计算机系统必须充分开发局部性以提高应用的计算密集性,同时还要充分开发并行性,以提高硬件中计算部件的利用率。传统的编程模型(如OMP和MPI等)和体系结构(如多核体系结构)大多强调了对并行性开发的支持,而对局部性(如生产者—消费者局部性)开发的支持还不够。流编程模型正好可以满足这两个需求。它通过数据流的定义显示描述了大量的并行性,同时通过计算核心内部以及之间的数据使用关系大大减少了程序的全局带宽。流体系结构通过提供大量的计算部件以开发流编程模型所表示出来的多个层次的并行性(包括数据级、指令级以及任务级),同时通过提供多级寄存器层次以开发流编程模型所表现出来的局部性。本文主要从流处理器体系结构、编程语言、编译优化技术以及编程方法等方面展开了研究,具体工作和创新点如下:1)在体系结构方面,我们设计并实现了一个面向科学计算的流处理器——飞腾64(FT64),它具有64位的计算环境,峰值性能达到16GFLOPS。FT64从指令集系统、流控制器、微码控制器、计算簇、存储层次以及网络接口和主机接口等多个方面进行了优化和扩展设计。例如,FT64为科学计算中常用的乘加运算提供了大量硬件和指令上的支持。此外,FT64提供了流级通信(一种共享存储的通信方式)和消息传递两种通信机制,以便于扩展到大规模并行系统。2)在编程语言和编译方面,我们设计了一个面向科学计算的流编程语言——Stream FORTRAN 95(SF95)。SF95基于FORTRAN 95扩充了10条编译指导命令。它隐式地定义了stream和kernel,精确地抽象了流体系结构的主要特征。3)在编译方面,我们为SF95流编程语言设计了一个编译器——SF95Compiler。它面向科学计算实现了面向流体系结构的大量优化,包括流转换、代码转换和一个内联的超越函数库。4)在编程方法方面,我们为传统程序提供了一种映射到SF95流程序的方法来继承已有的科学计算程序。首先,我们仿照当年循环可向量化和可并行化的定义,给出了循环流化以及循环可流化的定义;然后,基于循环相关性分析的理论,我们研究了串行循环、可向量循环以及可并行化循环与可流化循环之间的关系,给出了这三种程序映射到SF95程序的条件。最后,我们针对科学计算中的9个典型应用核心进行了测试,包括3个NPB的测试用例(EP、MG和CG),一个SPEC2000的测试用例(Swin),以及五个重要的科学计算核心(FFT、Laplace、Jacobi、GEMM和NLAG-5)。结果显示,除了CG以外,我们的FT64比Itanium 2执行性能更高或者至少相当。
其他文献
数字化信息的爆炸性增长使得人们需要对海量数据进行可靠的存储与有效的利用。网络光盘库作为层次化海量存储中的一种准在线存储设备,在科研、生产等广泛领域中具有非常重要
通过3个月对某跨境电商产业园出口外贸的研究,运用鱼骨分析法和5W2H等方法,找出供应链可优化的环节。制定策略实施后,选品更贴合客户需求,供应更稳定,物流成本降低,一线业务
葫芦大娃:“妖精!我们要消灭你!”  蛇妖:“呵呵呵,真是可笑。你们自个儿也都是葫芦变的,凭什么叫我妖精?”  葫蘆二娃:“你也说了,我们是葫芦变的,自然不是妖精。”  蛇妖:“不是妖精,那你们是什么?”  葫芦娃们异口同声道:“哈哈哈哈哈!我们是植物人!”
2011年12月23日出版的《科学》杂志评出2011年度科学突破,一项名为HPTN052的艾滋病病毒(HIV)研究获得殊荣。
新闻是新近发生的事实的报道,新闻对客观事物的反映准确及时,具有真实性和时效性。既然新闻是客观的真实,那么新闻播音是否也应客观地播报而不带有任何感情色彩呢?新闻播音到
股价阴跌背后的上药,是内斗的暗流不断涌动。改革派被清洗后,上药改革之路更加艰难。
肺癌是全球病死率最高的肿瘤之一,大部分患者为非小细胞肺癌(NSCLC),严重威胁人类的健康。近年来,肺癌发病率呈上升趋势,在城市位于恶性肿瘤第1位。尽管在过去30多年里,手术、
引言银行与非银行之间杠杆率存在较大差异:1996-2017年中国银行的权益价值与资产总值比率为9%,非银行的比率为50%.在最近的金融危机之后,许多人指出银行杠杆是一个问题,认为由
期刊
参照系是我国罚金刑中倍比罚金制确定罚金刑数额的决定因素。而我国《刑法》确定罚金刑参照系不具有协调性,同类犯罪参照系不同一,易出现同罪异罚、异罪同罚等不良现象,导致