Synthesis of fixed-point programs

Eva Darulova, Viktor Kunčak, R. Majumdar, I. Saha
{"title":"Synthesis of fixed-point programs","authors":"Eva Darulova, Viktor Kunčak, R. Majumdar, I. Saha","doi":"10.1109/EMSOFT.2013.6658600","DOIUrl":null,"url":null,"abstract":"Several problems in the implementations of control systems, signal-processing systems, and scientific computing systems reduce to compiling a polynomial expression over the reals into an imperative program using fixed-point arithmetic. Fixed-point arithmetic only approximates real values, and its operators do not have the fundamental properties of real arithmetic, such as associativity. Consequently, a naive compilation process can yield a program that significantly deviates from the real polynomial, whereas a different order of evaluation can result in a program that is close to the real value on all inputs in its domain. We present a compilation scheme for real-valued arithmetic expressions to fixed-point arithmetic programs. Given a real-valued polynomial expression t, we find an expression t' that is equivalent to t over the reals, but whose implementation as a series of fixed-point operations minimizes the error between the fixed-point value and the value of t over the space of all inputs. We show that the corresponding decision problem, checking whether there is an implementation t' of t whose error is less than a given constant, is NP-hard. We then propose a solution technique based on genetic programming. Our technique evaluates the fitness of each candidate program using a static analysis based on affine arithmetic. We show that our tool can significantly reduce the error in the fixed-point implementation on a set of linear control system benchmarks. For example, our tool found implementations whose errors are only one half of the errors in the original fixed-point expressions.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"40","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EMSOFT.2013.6658600","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 40

Abstract

Several problems in the implementations of control systems, signal-processing systems, and scientific computing systems reduce to compiling a polynomial expression over the reals into an imperative program using fixed-point arithmetic. Fixed-point arithmetic only approximates real values, and its operators do not have the fundamental properties of real arithmetic, such as associativity. Consequently, a naive compilation process can yield a program that significantly deviates from the real polynomial, whereas a different order of evaluation can result in a program that is close to the real value on all inputs in its domain. We present a compilation scheme for real-valued arithmetic expressions to fixed-point arithmetic programs. Given a real-valued polynomial expression t, we find an expression t' that is equivalent to t over the reals, but whose implementation as a series of fixed-point operations minimizes the error between the fixed-point value and the value of t over the space of all inputs. We show that the corresponding decision problem, checking whether there is an implementation t' of t whose error is less than a given constant, is NP-hard. We then propose a solution technique based on genetic programming. Our technique evaluates the fitness of each candidate program using a static analysis based on affine arithmetic. We show that our tool can significantly reduce the error in the fixed-point implementation on a set of linear control system benchmarks. For example, our tool found implementations whose errors are only one half of the errors in the original fixed-point expressions.
不动点程序的综合
在控制系统、信号处理系统和科学计算系统的实现中,有几个问题可以归结为使用不动点算法将实数上的多项式表达式编译成命令式程序。定点算术只近似于实数,其运算符不具有实数的基本性质,如结合律。因此,朴素的编译过程可能产生一个明显偏离真实多项式的程序,而不同的求值顺序可能导致一个接近其域内所有输入的真实值的程序。给出了一种实值算术表达式在定点算术程序中的编译方案。给定一个实值多项式表达式t,我们找到一个表达式t',它等价于t除以实数,但是它的实现是一系列不动点运算,使不动点值与t的值在所有输入空间上的误差最小。我们证明了相应的决策问题是np困难的,即检查是否存在误差小于给定常数的t的实现t'。然后,我们提出了一种基于遗传规划的求解技术。我们的技术使用基于仿射算法的静态分析来评估每个候选程序的适应度。我们表明,我们的工具可以显着减少一组线性控制系统基准的定点实现中的误差。例如,我们的工具发现了一些实现,它们的错误只有原始定点表达式中错误的一半。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信