51、基于多流SIMD机制的CNN加速器设计与矩阵运算优化

基于多流SIMD机制的CNN加速器设计与矩阵运算优化

1. 矩阵运算优化

在矩阵运算中,通过观察各种矩阵分解算法,定义了矩阵的基本行列运算。利用CORDIC运算电路解释了如何使用CORDIC进行行列运算,并将每种矩阵分解方法的运算行为分为扫描模式和对角模式,在此基础上进行电路设计。

1.1 优化计算方面
  • Row Major操作设计 :提出Row Major操作设计,以降低行列运算中数据的复杂度。矩阵数据可以自适应排列存储,通过一次读取多个数据,有效减少内存读取次数。
  • 矩阵数据存储 :首先定义块存储方法,将矩阵存储为4×4的子矩阵单元,使行列运算具有良好的数据局部性。使用A/B缓冲区的两个缓冲块存储数据,根据矩阵分解方法的运算行为确定矩阵数据的存储位置,进一步减少与外部内存的数据交换次数。
  • 运算加速 :使用递归CORDIC运算单元,通过旁路跳过大幅度旋转来加速CORDIC运算。采用相同的运算核心架构和自适应数据分配,设计了具有多个计算核心的运算模式,使运算核心能够灵活扩展。此外,通过移位操作,大大减少了矩阵运算的迭代次数。

通过软件模拟整个架构的运算,除了评估性能外,还通过测试平台使用模拟结果验证多个CORDIC运算核心的正确性。最后,将四个计算核心模块化成CORDIC 4,使整个架构可以由CPU控制,实现更灵活的扩展。

不过,本文提出的Row - Major操作方法可以优化特征值分解的运算,但在进行奇异值分解时,由于算法的限制,无法使用该方法进行优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值