Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于4bit普通卷积计算的优化方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京君正集成电路股份有限公司

摘要:本发明提供一种基于4bit普通卷积计算的优化方法,本方法在完整的卷积计算的过程中,在算法最里层的一个循环中加入simd指令运算;在所述最里层的循环中通过加载数据simd指令加载数据,将数据加载后,数据一直在寄存器中不重复加载;在所述最里层的循环中,通过拷贝simd指令实现数据的重复使用;再通过乘法simd指令、选择simd指令和移位simd指令最终实现8个16bit数据存放到一个128位寄存器。所述方法使用的是一次加载16个数据,数据一次运算16个结果,所述方法每次加载的数据中的一个数据拷贝到simd指令的变量中,进行8bit的乘法simd指令计算,再进行转化16bit后,进行累加simd指令计算;这种乘法和累加是在算法的最内层循环中实现。方法简单,比纯使用C算法速度提升10‑20倍左右。

主权项:1.一种基于4bit普通卷积计算的优化方法,其特征在于,所述方法适用于图像识别,在完整的卷积计算的过程中,在算法最里层的一个循环中加入simd指令运算;在所述最里层的循环中通过加载数据simd指令加载数据,将数据加载后,数据一直在寄存器中不重复加载;在所述最里层的循环中,通过拷贝simd指令实现数据的重复使用;再通过乘法simd指令、选择simd指令和移位simd指令或相乘相加simd指令最终实现8个16bit数据存放到一个128位寄存器;所述方法使用的是一次加载16个数据,数据一次运算16个结果,所述方法每次加载的数据中的一个数据拷贝到simd指令的变量中,进行8bit的乘法simd指令计算,再进行转化16bit后,进行累加simd指令计算;这种乘法和累加是在算法的最内层循环中实现;所述最内层循环中,通过加载simd指令操作,将数据加载后,数据一直在寄存器中;通过拷贝simd指令操作,实现最内层循环中数据的重复使用;由于乘法simd指令得到的结果是8bit数据,在寄存器中是16个8bit数据,需要将数据转化为16bit后才能进行后面的累加,此时需要将muls转存到两个128寄存器中,同时将16个数据转化为16bit;当芯片中没有8位到16位数据的转化指令时,用选择simd指令将muls数据前8个8bit数据存放到一个128位寄存器mul_0中,存放形式为:[a1,a1,b1,b1,c1,c1,d1,d1,e1,e1,f1,f1,g1,g1,h1,h1];再将该数据进行右移位simd指令操作,得到:[a1,b1,c1,d1,e1,f1,g1,h1]此时是8个16bit数据存放到一个128位寄存器mul_0;用选择simd指令将寄存器muls内数据的后8个8bit数据存放到一个128位寄存器mul_1中,存放形式为:[m1,m1,n1,n1,p1,p1,k1,k1,r1,r1,f1,f1,t1,t1,v1,v1];再将该数据进行右移位simd指令操作,得到:[m1,n1,p1,k1,r1,f1,t1,v1];此时是8个16bit数据存放到一个128位寄存器mul_1;这样处理的原因,寄存器里面存的都是有符号数据,为了保证数据的符号性,所以先将数据存放到高8位,再将寄存器数据执行右移位simd指令操作,使得数据8bit转化为16bit。

全文数据:

权利要求:

百度查询: 北京君正集成电路股份有限公司 一种基于4bit普通卷积计算的优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。