基于申威1621处理器的BLAS一级函数优化①

2021-08-02 11:09:08李浩然
计算机系统应用 2021年7期
关键词:指令优化

李浩然,王 磊

1(中原工学院 计算机学院,郑州 450007)

2(中原工学院 前沿信息技术研究院,郑州 450007)

1 引言

BLAS (Basic Linear Algebra Subprograms)基础线性代数库是一个基本线性代数操作的数学函数标准,支撑着许多计算机应用领域的数值线性代数计算,BLAS一般分为三级,一级主要完成向量与向量之间的操作;二级主要完成向量与矩阵之间的操作;三级主要完成向量与向量之间的操作.其不仅被广泛应用于科学计算领域,并且在深度学习方面,底层调用BLAS 库进行加速运算已经十分常见了.例如基于矩阵类的深度学习有90%或更多的时间是通过BLAS来进行计算的,因此一个高性能的BLAS 库具有十分重要的意义.目前各大主流处理器厂商都对其硬件平台做了深度优化工作,例如Intel的MKL (Math Kernel Library,数学核心库)、AMD的ACML (AMD Core Math Library)、以及在Nvidia 上使用的CuBLAS 等.

申威1621 处理器基于第三代“申威64”核心的国产高性能多核处理器,主要面向高性能计算和中高端服务器应用.设计目标主频为2.0 GHz,单芯片集成了16个64 位申威处理器核心,双精度浮点性能可达512 Gflpos.申威1621 处理器具有16 核心共享32 MB的三级Cache,支持256 位SIMD 指令,可以在最大程度上提升系统的数据级并行.

目前来说,BLAS 三级函数的研究已经较为成熟[1],因此本文的研究内容主要在于优化工作相对较少的BLAS一级函数上.首先BLAS 一级函数属于访存密集型函数,性能主要受限制于处理器本身的缓存大小和访存带宽,对这些函数优化难度较大[2];其次在于计算数据规模和排布的不确定性,又给优化工作带来新的难题……

登录APP查看全文

猜你喜欢
指令优化
听我指令:大催眠术
超限高层建筑结构设计与优化思考
房地产导刊(2022年5期)2022-06-01 06:20:14
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
ARINC661显控指令快速验证方法
测控技术(2018年5期)2018-12-09 09:04:26
LED照明产品欧盟ErP指令要求解读
电子测试(2018年18期)2018-11-14 02:30:34
杀毒软件中指令虚拟机的脆弱性分析
电信科学(2016年10期)2016-11-23 05:11:56
基于低碳物流的公路运输优化
现代企业(2015年2期)2015-02-28 18:45:09