Optimized Polynomial Evaluation with Semantic Annotations
This addresses performance and portability issues for developers working with mathematical computations, but it appears incremental as it builds on existing annotation and compiler optimization techniques.
The paper tackles the problem of improving performance, programmability, maintainability, and portability in code by using semantic annotations to provide mathematical algorithmic information to compilers, with polynomial equations of varying degrees as an example.
In this paper we discuss how semantic annotations can be used to introduce mathematical algorithmic information of the underlying imperative code to enable compilers to produce code transformations that will enable better performance. By using this approaches not only good performance is achieved, but also better programmability, maintainability and portability across different hardware architectures. To exemplify this we will use polynomial equations of different degrees.