基于龙芯处理器的GotoBLAS数学库优化

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:tianxia108
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
龙芯系列处理器是中国科学院计算技术研究所自主研发的,兼容MIPS指令集的高性能通用处理器。目前已经广泛应用于各个领域,包括高性能计算、桌面和网络安全等。为了充分发挥龙芯处理器的优势,推动龙芯在高性能计算领域的应用,需要开发一套符合国际标准,并且适合龙芯处理器的高性能通用数学库。基本线性代数函数库BLAS是最基本最重要的数学库之一。本文在龙芯平台上,对运算量占到GotoBLAS库90%以上的核心函数矩阵乘法进行了移植,根据龙芯处理器的结构级和微结构级特性,对GotoBLAS矩阵乘法进行了分析和优化。并针对GotoBLAS算法无法有效控制数据Cache冲突替换这一问题,设计了一种地址交错乘法和有效的预取算法,取得了较好的效果。主要研究内容及结果如下:   ⑴对GotoBLAS矩阵乘法进行移植,并通过微结构的分析和实验数据得出,一级数据Cache缺失是影响性能提高的关键因素,也是GotoBLAS分块策略在龙芯处理器上不能获得很高性能的原因。从而明确了优化GotoBLAS算法的方向。   ⑵在不支持高效预取指令的龙芯2F上,对GotoBLAS矩阵乘法重点进行了分块优化,以降低数据Cache的缺失代价。优化之前,GotoBLAS矩阵乘法的性能为理论浮点峰值的33%,优化之后,性能达到了理论浮点峰值的56%。   ⑶在支持高效预取指令的龙芯3号上,使用高效的预取指令,进一步对GotoBLAS乘法进行了预取优化。分析发现,由于GotoBLAS乘法无法有效控制LlCache冲突替换,使得性能难以进一步提升。为此设计了一种地址交错矩阵乘法和相应的预取算法,大大减少了数据Cache的冲突缺失和强制缺失。由于龙芯3号还没有完成流片,本文作者在龙芯3号单核仿真平台上进行了实验,实验结果显示:进一步预取优化后的GotoBLAS乘法性能达到理论峰值的59.2%,而通过地址交错和相应的预取算法,性能可以达到理论峰值的75%。
其他文献
图形符号识别是模式识别的一个重要分支,它在很多工程技术领域都有重要的应用研究价值。虽然不同图纸专业领域的符号识别算法所针对的对象不同,但是从整体看,它们可以大致分成相
科学计算可视化是20世纪80年代后期出现的一个新的研究领域。近几年来科学计算可视化被广泛的应用于天体物理、计算流体力学、医学科学(包括二维图像处理和三维重构技术)、有
随着手机的广泛使用,尤其随着智能手机的普及,手机与个人电脑之间的界限越来越模糊,越来越多的人通过手机传递或者存放重要文件,隐私信息等。一旦手机遭到病毒攻击,对用户将造成重
在C2C电子商务中,信用评价至关重要,直接影响交易成功与否。目前的C2C电子商务信用评价系统,评分等级的设置相对简单,不能很好的反映真实的交易状况的问题。从而产生信用诋毁、信
随着经济的发展与人们生活方式的改变,中国已成为世界上移动终端用户最多的国家。能够支持移动接收的多媒体广播服务因庞大的移动终端使用人群而显得日渐必要。国际上现有一
当前,国内水环境污染十分严重,尤其是江河流域普遍遭到污染。水利部对全国700余条共约10万km长的河流开展的水资源质量评价结果表明:水质污染严重而不能用于灌溉(即劣于Ⅴ类)
学位
今天Web应用程序的界面不再是通过Web服务器中的模板生成,而是通过浏览器中的JavaScript生成。用Ajax技术构建Web应用程序,使Web应用程序的架构产生了一次重大变革。但通过Java
视频图像中的运动目标跟踪作为计算机视觉领域的核心研究课题之一,经过近50多年的发展得到了广泛而深入的研究。它融合了图像处理、模式识别、人工智能、自动控制等相关领域的
学位
动态心电图(DCG,Dynamic Electrocardiography)是临床上分析诊断心血管疾病的重要手段。如何从心电信号中有效地提取各种特征并进行分类识别处理,辅助医务人员进行各种心血管疾
随着计算机软硬件技术的飞速进步与发展,分布式虚拟现实系统受到各行各业越来越多的关注,在军事、医学、建筑、娱乐、教育等领域都显示出巨大的经济和社会效益。本文探讨了分布