35、高效低精度内核合成技术解析

高效低精度内核合成技术解析

1. 引言

自动化程序合成有望简化和加速常见编程任务,程序员只需编写计算规范,合成工具就能自动生成实现,且正确性有保证。当前许多合成技术会生成针对特定指标优化的程序,如枚举技术常选择满足规范的最小规模程序,或使用静态成本模型剔除低效程序。

引入近似值是提高程序效率的另一种方法。很多应用能容忍一定程度的误差或噪声,不必精确计算结果。但近似值会带来准确性和效率的权衡,确定合适的近似值需要验证程序的整体准确性,且可能的近似值空间巨大,手动优化程序既繁琐又容易出错。

目前大多数合成技术只考虑精确规范,不适合生成有误差范围的程序,且多数技术未明确针对程序效率进行优化。少数生成近似程序的方法通过少量样本输入测试来检查正确性,无法保证准确性。

为此,提出了一种全自动合成方法,用于数值内核领域。该方法对算术运算和基本函数进行近似处理,并提供可靠的端到端准确性保证。用户指定理想的实值程序和最大误差范围,该技术会生成具有基本函数多项式近似的高效有限精度实现。

数值内核涵盖了多个领域的广泛应用,如嵌入式控制、科学计算模拟和机器学习模型等。目前程序员通常使用库实现基本函数,但这些实现精度有限,严重限制了优化机会。此外,还针对定点算术实现,它在加速器(如 FPGA)上执行时,能在准确性和效率的权衡上提供高度灵活性,但会显著增加搜索空间,使代码合成更具挑战性。

2. 背景知识
  • 定点算术 :浮点算术是在离散计算机上实现实数近似的常见选择,但浮点单元支持的精度有限,对于有限范围的应用,很多位未被使用,造成资源浪费。定点算术允许程序员使用纯整数算术进行
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值