Optimisation of linear algebra software implementation on a DSP architecture
Sammanfattning: The speed and precision of linear algebra algorithms are determining factors for the performance of wireless networks. How these algorithms are implemented is therefore critical. Even though they can be implemented with specialised hardware components, a software implementation of these functions can be preferable for its flexibility. This solution has been chosen at Ericsson to replace a hardware accelerator that currently implements a set of useful matrix functions. The aim of this project was therefore to design, implement, and optimise a software program which supports the same functions as the accelerator, and which runs on Ericsson’s proprietary DSP core.Different algorithms, data formats, and data structures have been analysed and compared based on a literature study and an analysis of the DSP’s characteristics. The final program has been implemented in C for the main structure, and the actual linear algebra functions have been optimised in assembly. Several test cases have also been written and executed on a cycle-accurate simulator in order to evaluate the performance of the program in terms of speed and precision. Even though the matrix functions are in general slower when executed on the DSP than on the hardware accelerator, the schedule of the instructions has been optimised to make the best use of the DSP’s capabilities. In most cases, several versions have been written in order to adapt the data formats and the algorithms to the properties of the matrices and to the needs of the user, which was not possible on the previous hardware implementation. Bottlenecks have been identified to suggest potential future evolution in the hardware architecture and in the software interface that could further improve the performance of the program.
HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)