Programming high-performance signal processing algorithms in high-level languages
|Coordinator||RISE Research Institutes of Sweden AB - RISE SICS AB, Kista|
|Funding from Vinnova||SEK 499 900|
|Project duration||November 2018 - March 2019|
|Venture||Banbrytande idéer inom industriell utveckling|
|Call||Banbrytande idéer inom industriell utveckling 2018|
Purpose and goal
Telecom products perform real-time computation on a massive scale that require hardware platforms with vector architectures in order to deliver the required performance. We seek to investigate whether machine-level programming of vector algorithms can be replaced by a high-level coding style. We do this by evaluating the combination of the support offered by modern compilers with a combinatorial optimization approach to compilation. The goal is a methodology for high-level programming of signal processing algorithms with performance no worse than machine-level code.
Expected results and effects
If it were possible to express the algorithms on a higher level without loss of performance, then a source code base common to all target architectures, suitable for the production environment as well as for simulation, would be feasible. A successful project would enable major long- and short-term savings and simplification in the development and management of this mission-critical class of software. It would also simplify recruiting new developers, which would promote gender equality.
Planned approach and implementation
The key technologies are (a) the ability of compilers to identify constructs with vectorization potential and new syntax elements that support vector operations; (b) a declarative framework for code generation that views code generation as combinatorial problem solving. We will build a test suite of signal processing algorithms expressed in a high-level style, compile them using a mix of the above-mentioned technologies, and measure the performance of the resulting machine code on x86 hardware. A report will summarize the lessons learned from the project.