Nytt 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.Ett program i Halide, klicka för att se: Samma algoritm i C: Samma algoritm i optimerad parallell version av C: |
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.