基于龙芯3B的GCC自动定量化移植与性能分析

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:game1980
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多媒体产业的迅猛发展,许多通用微处理器中都加入了SIMD扩展指令集。处理器系统需要硬件设备、操作系统和编译器的紧密耦合才能正常工作,编译器的性能直接影响了系统的整体性能。从龙芯2号处理器开始,龙芯系列处理器芯片中逐渐加入了SIMD扩展指令集,龙芯3B具备独立的向量处理器核和完整的向量指令集。为了更好的发挥龙芯3B处理的性能,急需在编译器中加入自动向量化的支持。   龙芯处理器采用开源的GCC(GUN Compiler Collection)作为自己的编译器。随着GCC结构的变化,它的功能逐渐丰富起来,从2004年开始,GCC引入了自动向量化优化,并在随后的几年中不断完善更新。龙芯3B处理器具有全新的SIMD扩展指令集,GCC中缺乏相应的自动向量化支持。本文在对GCC的自动向量化原理进行研究分析的基础上,结合龙芯3B处理器的结构特点,进行了基于龙芯3B平台的GCC4.3.0自动向量化的移植工作,包括龙芯3B向量化的整体实现,定义ISA级别和向量寄存器的使用规则,以及实现256位向量访存操作等。并在上述工作的基础上,对龙芯3B平台上GCC自动向量化的效果进行了测试和分析。   实验数据表明,龙芯3B的GCC自动向量化有效的加速了程序的运行,提高了系统的整体性能。通过使用GCC自动向量化,SPEC CPU2000中部分程序分数得到了提升,gap提升最多达到了7.5%; Stream程序的四个操作均有大幅度的性能提升,其中COPY操作性能提升了61%;使用CBLAS库中向量化dgemm函数的HPL运行时间减少了62%,浮点计算峰值增加一倍多。
其他文献
多目标问题出现在许多工程领域。由于多目标问题的复杂性,很难找到精确的解,因此利用遗传算法解多目标问题的研究应运而生。它们以种群为基础,通过特定方法在决策空间中探索,
高性能计算机在征服每秒千万亿次计算能力的过程中,成功地提高了单个节点的性能和互连网络的规模,但同时也引入了许多新的问题。多核处理器和GPU等加速部件在增加了节点性能的
由于缺乏有效的激励手段,传统的P2P (Peer-to-Peer)网络普遍存在着搭便车现象以及“公共物品的悲剧”等问题,严重影响了网络的健壮性及可用性。因此,如何构建和设计合理的激
浮点乘加部件是现代高性能微处理器中的核心运算部件之一,对微处理器浮点运算性能的提升起着至关重要的作用。针对高性能浮点乘加部件所进行的优化设计研究具有广泛的实用价值
随着工业无线技术的发展,工业无线网络在过程自动化和工厂自动化领域得到了广泛应用。工业无线网络标准在实现过程中会面临成本高、难度大、稳定性差、知识产权保护和技术封锁
近年来,随着数字化产品及信息服务在家庭不断渗透并日益融合,“数字家庭”已经成为一个新的消费热点,并且迅速发展成为一个规模巨大、产业关联性强的行业。国家“战略性新兴
随着我国大力推行医疗信息化、无纸化、共享化,建立统一的居民健康档案部署规划,区域医疗信息化逐渐成为医疗行业信息化建设的重点。在区域卫生信息平台中,居民的医疗、保健
近几年,随着计算机的广泛应用,计算机视觉、图像处理及可视化技术成为非常热的研究方向,也越来越多的应用在诸如医学等其他领域内。另一方面,医学领域内的磁共振成像(Magneti
互联网的快速发展,特别是Web2.0的崛起,为用户提供了越来越丰富的网络应用和服务。这些应用包括博客、照片、视频、微博、个人网络存储等等。它们为用户带来便利的同时,也存在着
可信计算是信息安全领域的新技术,它从终端入手,从根本上解决信息系统的安全问题,它的三大主要功能是数据保护、身份证明和完整性度量、存储、报告。在可信计算中,用户对实体(如密