JavaScript is currently disabled.Please enable it for a better experience of Jumi. Nytt programspråk för bildbehandling

HalideNytt programspråk för bildbehandling

Amerikanska forskningslabbet MIT har utvecklat ett nytt programspråk för bildbehandlingsalgoritmer. Det ger kod som är kortare och lättare att förstå, och ofta även snabbare.
Språket heter Halide. Varje program har två sektioner. I den ena specificeras algoritmen. I den andra hur koden ska distribueras på den parallella arkitekturen. Där anges i vilka blockstorlekar bilden ska styckas upp och vilka databeroenden som finns. Utifrån denna information schemalägger Halidekompilatorn automatiskt den parallella bearbetningen av bilden.
Ett program i Halide, klicka för att se:
Halide

Samma algoritm i C:
Halide

Samma algoritm i optimerad parallell version av C:
Halide

Separationen mellan algoritm och distribution gör det enklare att fokusera separat på dessa två uppgifter. Det blir också enklare att skapa skräddarsydda versioner av koden för olika arkitekturer, eftersom algoritmen stannar som den är. Dessutom blir det enklare att leka med koden, att testa olika ideer utan att riskera att introducera buggar.

MIT-forskarna testade sitt nya språk på ett antal gamla algoritmer där det redan fanns optimerade implementationer skapade av rutinerade programmerare. Halidekoden blev i snitt en tredjedel så kort och mellan två och sex gånger snabbare.

I ett fall blev Halidekoden dubbelt så lång som referenskoden, men 70 gånger snabbare. Originalet var skrivet i vektoriserad Matlab och kördes på en fyrkärnig x86-processor. I ett fall testade forskarna att optimera kod för en Nokia N900-mobil. Här blev uppsnabbningen bara fem procent men koden en tredjedel så lång.

Språket finns här (länk) under MIT:s öppenkodslicens. En vetenskaplig artikel om språket finns här (länk).

Språket presenterades på konferensen Siggraph, som ägde rum under veckan.

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)