-
题名基于国产PuDianNao芯片的向量函数库优化
- 1
-
-
作者
杨指政
杜子东
文渊博
-
机构
郑州大学河南先进技术研究院
中国科学院计算技术研究所
中国科学技术大学计算机学院
-
出处
《郑州大学学报(工学版)》
CAS
北大核心
2023年第1期31-37,共7页
-
基金
国家自然科学基金资助项目(61925208)
国家自然科学基金联合基金资助项目(U19B2019)
+1 种基金
中国科学院战略性先导科技专项(XDB32050200)
北京智源人工智能研究院以及北京市科技新星计划项目(Z191100001119093)。
-
文摘
目前国产人工智能处理器PuDianNao芯片上的向量数学函数只能依靠循环调用标量函数来实现,该方法性能比较低。基于PuDianNao芯片提出了3种优化方法。方法一为插值方法;方法二为SIMD加掩码方法;方法三基于PuDianNao的硬件阵列结构,使用VLIW指令操作阵列中的每个处理单元,封装出SIMT编程模型,提出了暴露分支范围和分支扁平化的编程方法。对以上3种方法进行精度和性能测试,对比实验结果表明,方法三具有最好的精度和性能。使用方法三实现基于国产PuDianNao芯片的向量数学函数库PuDianNao-VecMath,解决了数学函数多分支结构难以向量化的难题。该函数库精度性能较好、功能稳定、运行正确,提供的接口包括取整函数、超越函数、比较函数、激活函数等常见基础数学库函数。在精度上,将函数定义域区间全数据作为输入,运算结果和标量函数在CPU i7运行的结果进行对比。结果表明,单精度版本最大ULP值为2,半精度版本最大ULP值为1。性能与使用标量循环相比有较大提高,单精度版本相对于标量循环平均加速比平均值为18.26,最大加速比为35.90;半精度版本平均加速比平均值为15.65,最大加速比为30.11。
-
关键词
向量化函数
PuDianNao-VecMath
国产人工智能处理器
暴露分支范围和分支扁平化
-
Keywords
vectorized function
PuDianNao-VecMath
domestic artificial intelligence processor
expose branch scope and branch flattening
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-