买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:北京君正集成电路股份有限公司
摘要:本发明提供一种基于SIMD指令实现快速求解sigmoid函数的方法,包括:S1.加载数据,保存在寄存器Register1;S2.对Register1里的数据取相反数,保存在Register2;S3.对Register2里的数据基于SIMD指令的exp指数函数求出exp的值,结果保存在Register3中;S4.将Register3里的数据与浮点数1.0f相加,相加后的结果保存在Register4里;S5.对Register4里的数据基于SIMD指令快速求解正数倒数求出倒数值,结果保存在寄存器Register5中;S6.将计算结果从寄存器Register5保存到内存中。通过使用SIMD指令以及快速求解sigmoid函数的方法能够快速高效得到sigmoid函数的结果。SIMD指令可以提高缓存利用率,一次性加载多个数据,尽可能的利用缓存空间,减少硬盘或内存与缓存之间数据交互的次数,从而大大提高了运算速度,占用少量资源,在硬件资源有限的情况下也能高效运行。
主权项:1.一种基于SIMD指令实现快速求解sigmoid函数的方法,其特征在于,所述方法包括以下步骤:S1.加载数据,是以32bit的整数倍加载,一个寄存器最多能够加载512bit数据;单精度浮点数为32bit,一个寄存器能够加载16个浮点数,所以一条SIMD指令能够同时对16个浮点数进行计算,表示为:Register1=Ingenic_simd512_loadfloatdata其中,Ingenic_simd512_load为加载数据的SIMD指令;floatdata为输入的16个32bit单精度浮点数,Register1为寄存器1,将输入数据保存在Register1里;S2.对Register1里的数据取相反数,表示为:Registe2=Ingenic_simd512_float_negRegister1其中,Ingenic_simd512_float_neg为浮点取反的SIMD指令,将寄存器Register1里的浮点数据最高位符号位取反得到浮点数的相反数,结果保存在寄存器Register2里;S3.对Register2里的数据基于SIMD指令的exp指数函数求出exp的值,结果保存在寄存器Register3中,表示为:Register3=Ingenic_simd512_expRegister2其中,Ingenic_simd512_exp为基于SIMD指令的exp指数函数的方法名,其表示能够涵盖求解exp的各步骤,将所述各步骤合在一起命名为Ingenic_simd512_exp;S4.将Register3里的数据与浮点数1.0f相加,表示为:Register4=Ingenic_simd512_float_addRegister3,1.0f其中,Ingenic_simd512_float_add为浮点相加的SIMD指令,将寄存器Register3里的数据与1相加,相加后的结果保存在寄存器Register4里;S5.对Register4里的数据基于SIMD指令快速求解正数倒数求出倒数值,结果保存在寄存器Register5中,表示为:Register5=Ingenic_simd512_recRegister4其中,Ingenic_simd512_rec为基于SIMD指令快速求解正数倒数的方法名,其表示能够涵盖求解正数倒数的各个步骤,将这些步骤合在一起命名为Ingenic_simd512_rec;S6.将计算结果从寄存器Register5保存到内存中。
全文数据:
权利要求:
百度查询: 北京君正集成电路股份有限公司 一种基于SIMD指令实现快速求解sigmoid函数的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。