面向申威1621多核处理器的BLAS3扩展函数优化技术

来源 :中原工学院 | 被引量 : 0次 | 上传用户:obo9413
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自“神威·太湖之光”计算机问鼎世界,我国高性能计算机和高性能计算应用蓬勃发展,位居世界前列。在当下国际激烈竞争中,自主可控技术和自主可控的知识产权显得尤为重要,而仅仅自主可控只是一个良好的开端,如何构建具有足够竞争优势的自主可控产业生态链是需要投入大量时间精力,科研开发人员全身心投入科研实践中去,探究摸索,搭建环境,最重要的是结合架构去优化底层库,使之更好的为上层应用服务。
  基础线性代数子函数库(BLAS),作为高性能计算中最基本的数学库,对高性能计算机平台上的数值计算、人工智能等领域应用都起着重要作用。许多大规模科学计算应用,如流体动力学、大气数值模拟等,均依赖于高度优化的BLAS库来获得高效的运行效率。BLAS3级函数是矩阵与矩阵的运算,其中,GEMM是整个BLAS库性能的核心指标。由于矩阵乘法运算,是人工智能领域的重要热点函数,近年来,矩阵乘法的高性能优化成为了学术界和工业界的研究热点。稠密矩阵乘法属于计算密集的函数,且计算访存规则,如何充分利用平台特性,优化出足以发挥平台优势的BLAS库,是提升性能的关键。
  目前,还没有能够充分发挥申威1621平台优势的高性能BLAS库。针对上述问题,在申威1621平台上,进行了GotoBLAS的实现与优化。结合申威1621平台特性从算法级优化、线程级优化、指令级优化三个方面进行研究,提出相关的优化技术,并取得了一定的性能提升与加速。本文完成的研究内容和主要贡献如下:
  1.本文进行GEMM函数算法优化时,提出了计算模式改进,其思想不仅仅适用于申威1621平台,对于其他平台,同样可获得一定的性能提升。
  2.提出了一种使用SIMD向量化进行核心代码优化的算法实现,为满足向量优化的算法实现分别进行了数据重排、计算数据块选择、浮点寄存器分配、向量化指令改写等优化技术。分别比较了SGEMM和DGEMM在Micro-kernel中使用cache行和使用向量化优化的最优数据块选择方案,并使用单核优化方式扩展到多核多线程进行实验验证。测试结果表明,优化后最佳分块下的SGEMM单核性能比GotoBLAS单核单精度浮点数平均加速52.09倍,DGEMM单核性能比GotoBLAS单核双精度浮点数平均加速32.75倍。
  3.在多核并行下,提出的多核多线程的三种优化方案,1)初始线程缓冲区大小预设;2)减少计算任务重叠;3)保证线程安全的互斥锁换为原子锁。进一步发挥多核多线程性能优势,SGEMM函数4线程、8线程、16线程较优化后的单线程平均加速比分别为3.43、7.11、14.75;DGEMM函数4线程、8线程、16线程较优化后的单线程平均加速比分别为3.49、7.06、13.66。平均并行效率最高达92.19%。
  
其他文献
学位
学位
学位
学位
学位
蛋白质泛素化修饰是重要的蛋白质翻译后修饰之一,在细胞凋亡、转录调控、细胞疾病、DNA修复等基本反应中承担着非常重要的角色。高效而准确的识别泛素化位点对于研究蛋白质泛素化修饰问题具有非常重要的生物意义。传统的基于生物识别方法需要研究人员在大量的蛋白质序列数据中进行生物实验验证,例如CHIP-CHIP分析法和质谱法等,这需要大量的时间和经济成本。而基于计算的识别方法,能够在大规模数据上进行高效而准确的
稀疏解混作为一种重要的高光谱图像混合像元分解方法,通过在大型公共光谱库中搜索目标遥感图像的组成端元特征和其对应丰度来完成解混任务,而融合空间信息的稀疏解混方法已成为目前的重点研究方向。非局部信息作为高光谱图像的重要空间信息可以更为全面地映射出目标图像的空间特性,在高光谱解混领域也逐渐获得了一些关注。但目前的融合空间上下文信息的稀疏解混方法在模型构建上会出现比较复杂的约束项,从而增大求解的难度。对于
人联网(the Internet of People,IoP)是一种以人为中心的新型实时交互式物联网,它的服务理念聚焦于用户的个性化需求,为个人带来了更丰富的交互体验。近年来,IoP系统在医疗监护和健康领域有着较为广泛的研究。由于系统中包含了大量与用户联系紧密的服务,而这些服务中即使存在一些微小的错误,都可能伤害到用户甚至对其造成生命威胁,所以对IoP系统进行可靠性分析十分重要。然而,IoP系统不
学位
现有的基于神经网络的自然语言处理模型依赖于大量目标域内的标记数据进行训练,然而,为低资源目标域收集足够的训练数据通常是昂贵且耗时的。文本序列的迁移学习方法通过将一些在不同但相关的任务或领域的源域中已经获得的知识直接迁移到感兴趣的目标域来提高目标任务的表现,与单任务方法相比具有直接的优势。虽然迁移学习在文本序列的处理上已取得了不错的进展,但是仍面临一些问题,包括不同领域间“迁移什么”和“如何迁移”。
学位
随着科技的发展,高性能计算机在生产、生活、科技等方面越来越发挥着不可替代的作用。由于高性能硬件体系结构的迅速发展,高性能计算应用软件已无法充分发挥硬件体系结构的优势,因此有必要对高性能计算软件进行优化。基础数学函数库是高性能计算机中必不可少的软件之一,也是编译器至关重要的组成部分,众多领域的高性能计算应用软件都依赖于基础数学函数的计算结果,它的性能直接决定了众多领域的上层应用计算程序的执行效率。为