买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于SIMD指令集的exp指数函数的实现方法_北京君正集成电路股份有限公司_202210876628.2 

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

申请日:2022-07-25

公开(公告)日:2024-02-02

公开(公告)号:CN117492699A

主分类号:G06F7/556

分类号:G06F7/556;G06F9/38

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.02.23#实质审查的生效;2024.02.02#公开

摘要:本发明提供一种基于SIMD指令集的exp指数函数的实现方法,包括S1:加载数据;S2:将输入数据的范围限制在‑88.7~88.7之间;S3,先将x拆分成两部分相加,即x=x_bas+x_rem公式4,再将ex拆分成两部分相乘,即ex=exp_bas*exp_rem公式8,其中exp_bas=2x_int公式6,exp_rem=ex_rem公式7,先求ex的第一部分exp_bas;S4求ex的第二部分exp_rem:利用泰勒展开式求公式7,以e为底指数函数的泰勒公式是公式9,ex_rem展开为公式10;S5:求得的exp_bas与exp_rem相乘,求公式8的结果;S6:将计算结果从寄存器中保存到内存中。

主权项:1.一种基于SIMD指令集的exp指数函数的实现方法,其特征在于,所述方法包括S1:加载数据,是以32bit的整数倍加载,一个寄存器最多能够加载512bit数据;单精度浮点数float为32bit,一个寄存器能够加载16个单精度浮点数,所以一条SIMD指令能够同时对16个单精度浮点数进行计算;S2:将输入数据的范围限制在-88.7~88.7之间;S3:为了加快exp函数的运算速度,将ex拆分成两部分相乘,其中x为步骤S2中经过范围限制后的输入数据,因此需要先将x拆分成两部分相加,公式如下:x_int=intxln2公式1x_bas=x_int*ln2公式2x_rem=x-x_bas公式3公式1中,intxln2是将x除以ln2的结果转化为int类型即保留结果整数部分舍去小数部分,x_int表示x除以ln2的商;公式2中x_bas表示商x_int乘以除数ln2的结果;公式3中x_rem表示x除以ln2的余数;由被除数=商*除数+余数可得:x=x_bas+x_rem公式4由公式4x拆分成两部分相加后,ex拆分成两部分相乘,步骤如下: 令令ex=exp_bas*exp_rem公式81利用SIMD指令求公式1;2利用SIMD指令求公式6的exp_bas;S4:求ex的第二部分exp_rem:1利用SIMD指令求公式3;2利用泰勒展开式求公式7,以e为底指数函数的泰勒公式是 ex_rem展开为 公式10;S5:利用SIMD指令将上述步骤求得的exp_bas与exp_rem相乘,求公式8的结果;S6:将计算结果从寄存器中保存到内存中。

全文数据:

权利要求:

百度查询: 北京君正集成电路股份有限公司 一种基于SIMD指令集的exp指数函数的实现方法

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