Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Optimisation of linear algebra software implementation on a DSP architecture
KTH, School of Information and Communication Technology (ICT).
2017 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

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.

Abstract [sv]

Hastigheten och noggrannheten i beräkningar av linjär algebra är avgörande för prestanda i trådlösa nätverk. Det är därför mycket viktigt hur man väljer att implementera dessa funktioner. Trots att de kan implementeras med dedicerad hårdvara, så kan en mjuk lösning ändå vara att föredra på grund av dess flexibilitet. Detta steg har tagits hos Ericsson för att ersätta en accelerator som utför ett antal i sammanhanget användbara matrisberäkningar. Målet med projektet har därför varit att utforma, implementera och optimera en mjukvarulösning som stöder samma funktioner som acceleratorn, och för att exekveras på Ericssons mångkärniga DSP-plattform. Olika algoritmer, dataformat och datastrukturer har undersökts och jämförts, utifrån litteraturstudier och egenskaperna hos DSP:n. Den slutliga lösningen har implementerats i C för huvudapplikationen, och i optimerad assembler för signalbehandlingsfunktionerna. Ett antal testfall har också utformats och körts på en cykelexakt simulator, för att utvärdera exekveringstid och beräkningsnoggrannhet. Matrisoperationerna tar generellt sett längre tid att köra på en DSP jämfört med acceleratorn, men instruktionerna har schemalagts för att på bästa sätt utnyttja DSP:ns resurser. För många funktioner har flera varianter tagits fram, för bättre anpassning till olika dataformat, matrisers egenskaper och yttre krav, vilket inte var möjligt med den existerande acceleratorn. Flaskhalsar har identifierats, och förslag till förändringar i arkitekturen och mjukvarugränssnittet har tagits fram. Införs dessa förändringar så kan prestanda ytterligare förbättras.

Place, publisher, year, edition, pages
2017. , 88 p.
Series
TRITA-ICT-EX, 2017:6
National Category
Computer and Information Science
Identifiers
URN: urn:nbn:se:kth:diva-207082OAI: oai:DiVA.org:kth-207082DiVA: diva2:1095662
Subject / course
Information and Communication Technology
Educational program
Master of Science in Engineering - Information and Communication Technology
Supervisors
Examiners
Available from: 2017-05-15 Created: 2017-05-15 Last updated: 2017-05-18Bibliographically approved

Open Access in DiVA

fulltext(3866 kB)19 downloads
File information
File name FULLTEXT01.pdfFile size 3866 kBChecksum SHA-512
1126a69b999c1bcefae068cc8693ce56068a49cc84bea99381bd003db91fc82713319a99549b8b93220afa3740510ccb9c27a73257d004f64cb05f149b950458
Type fulltextMimetype application/pdf

By organisation
School of Information and Communication Technology (ICT)
Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 19 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 187 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf