Your browser doesn't support javascript. This means that the content or functionality of our website will be limited or unavailable. If you need more information about Vinnova, please contact us.

Programming high-performance signal processing algorithms in high-level languages

Reference number
Coordinator RISE Research Institutes of Sweden AB - RISE SICS AB, Kista
Funding from Vinnova SEK 480 936
Project duration November 2018 - March 2019
Status Completed

Important results from the project

The goal was a methodology for high-level, portable, and high-performing programming of signal processing algorithms. Vector types, vector libraries, and the Unison code generator were evaluated. All three techniques turned out to have limitations, including expressibility, scalability, portability and precision, that prevented the goal from being reached. These limitations were not previously known, so valuable knowledge toward reaching the goal was gained.

Expected long term effects

The project could be followed up in multiple ways. Overcoming the bottlenecks of Unison is a topic for future research. Portable vector types are likely to appear in the near future. The vector library approach (e.g. Agner Fog´s library, https://www.agner.org/optimize) is promising, but two factors currently prevent its adoption in industry: (i) restrictive licensing terms, and (ii) a lack of generic abstractions for signal processing. Developing a library for industrial use is feasible but challenging.

Approach and implementation

Test programs written with traditional assembly intrinsics as well as with vector types or libraries were evaluated on an X86 Skylake processor. Vector types are not portable and many operation cannot be expressed conveniently. Vector libraries are portable and expressive, but target HPC applications and have restrictive license terms. Unison is not scalable enough and its cost function deviates too much from actual execution time. Factors behind these limitations have been identified.

External links

The project description has been provided by the project members themselves and the text has not been looked at by our editors.

Last updated 16 November 2018

Reference number 2018-04338

Page statistics