高效低精度内核的合成方法与实验评估
1. 成本函数与误差分布
在优化过程中,采用参数化的成本函数,这为不同目标和硬件的优化提供了灵活性。与混合精度调优的全局预算分配类似,评估了基于面积、机器学习和组合的成本函数,发现基于面积和机器学习的成本函数等权重组合的整体性能最佳。
对于示例情况,sin(x1) 的细化循环需要两次迭代,得到最优分布为 ϵ0_fp = 3ϵ0_approx,对应值为 ϵ0_fp = 4.47e−8 和 ϵ0_approx = 1.49e−8。对于 cos(2*x1) 和 sin(x2),初始的均等分割已经达到最小成本,即对于 i ∈{1, 2},有 ϵi_fp = ϵi_approx = 2.98e−8。
2. 合成近似多项式
2.1 使用 Metalibm 工具
为了找到每个基本函数的多项式近似,使用 Metalibm 工具。生成近似时,需要指定以下参数:
- 要近似的基本函数 f(x);
- f(x) 要近似的定义域 x ∈I;
- 分配的局部近似误差预算 ϵi_approx;
- 最大多项式次数。
这里的定义域 I 不是用户指定的输入定义域,而是函数参数 x 的局部输入定义域。应尽可能紧密地计算这个定义域,因为这可能使 Metalibm 使用次数更小的多项式或更少的内部定义域细分。通常,手动确定这些定义域具有挑战性,算法使用区间和仿射算术对范围和有限精度误差进行静态分析,以全自动方式计算此信息。当程序多次包含相同的基本函数调用时,会检查是否已经为给定范围和分配的局部误差预算 ϵi 合成了近似,如果是,则重用已生成的近似。
超级会员免费看
订阅专栏 解锁全文
1341

被折叠的 条评论
为什么被折叠?



