Programmering av snabba signalbehandlingsalgoritmer i högnivåspråk
Diarienummer | |
Koordinator | RISE Research Institutes of Sweden AB - RISE SICS AB, Kista |
Bidrag från Vinnova | 480 936 kronor |
Projektets löptid | november 2018 - mars 2019 |
Status | Avslutat |
Viktiga resultat som projektet gav
Projektet har sökt en metodologi för portabel programmering av effektiva signalbehandlingsalgoritmer på hög nivå. Vi har utvärderat vektortyper, bibliotek av vektoroperationer, samt kodgeneratorn Unison. Alla tre teknikerna visade sig ha sådana begränsningar, i uttrycksfullhet, skalbarhet, portabilitet med mera, att målet inte kunde uppnås. Dessa begränsningar var inte kända tidigare, så nu vet vi bättre hur man kan närma sig det önskade målet.
Långsiktiga effekter som förväntas
Flera uppföljningsprojekt är tänkbara. Att komma runt begränsningarna i Unison vore ett intressant forskningsprojekt. Portabla vektortyper kommer sannolikt inom en snar framtid. Biblioteksansatsen (t.ex. Agner Fogs bibliotek, https://www.agner.org/optimize) är lovande, men den kommersiella användning av just detta bibliotek hindras av licensvillkor och av avsaknaden av abstraktioner som är generiska m.a.p. typ och storlek, och anpassade för signalbehandling.
Upplägg och genomförande
Testprogram skrivna såväl på låg nivå som med vektortyper och med bibliotek har utvärderats på en X86-processor av modell Skylake. Vektortyper är inte portabla, och låter inte alla operationer uttryckas bekvämt. Bibliotek är portabla och uttrycksfulla, men har licensproblem och är skrivna för numerisk analys snarare än för signalbehandling. Unison saknar tillräcklig skalbarhet och dess kostnadsfunktion saknar tillräcklig precision. Faktorerna bakom dessa brister har identifierats.