Artikel top billede

Ny metode kan gøre din billedbehandling lynhurtig

Hjælp til udviklere: Med ny metode kan kode til behandling af billeder køres mange gange hurtigere end i dag, ligesom metoden gør det meget nemmere at portere kode til forskellig hardware.

Computerworld News Service: Forskere ved Massachusetts Institute of Technology har fundet en måde at hjælpe softwareudviklere til at omarrangere deres kode til billedbehandling, så den kan køres hurtigere og bruge færre systemressourcer.

En sådan teknik kan vise sig i særlig grad at være nyttig i forhold til mobiltelefoner og andre håndholdte enheder med begrænset batterilevetid.

Vi anvender i stigende grad apps til avanceret billedbehandling såsom Instagram på vores smartphones, så udviklerne af sådanne apps kæmper for at gøre deres software så hurtig og effektiv som muligt.

Fungerer også til desktop

"Jeg forsøgte at finde en lettere måde at skrive effektiv kode til mobile enheder, men det viste sig også at fungere rigtig godt til desktop," fortæller Andrew Adams, der postdoc-studerende ved MIT Computer Science and Artificial Intelligence Laboratory (CSAIL).

Adams har sammen med andre forskere fra MIT, Stanford University og Adobe udviklet et såkaldt domain specific language (DSL) og en tilhørende compiler, som skaber et abstraktionslag.

Dette abstraktionslag gør det let for udviklere at flytte rundt på stykker af kode for at finde den beregningsmæssigt mest effektive metode til billedbehandling.

Forskerne har brugt dette DSL ved navn Halide til at omskrive adskillige udbredte funktioner til billedbehandling.

Op til 600 procent hurtigere

I mange af tilfældene har de været i stand til at demonstrere hastighedsforøgelser på 200, 300 eller hele 600 procent.

Typisk involverer billedbehandling adskillige trin, hvoraf nogle kan gennemføres samtidig ved hjælp af mikroprocessorer med flere processorkerner.

Det er dog en besværlig proces for udviklere at omarrangere kode for at finde den optimale eksekverings-rækkefølge, ligesom der let kan ske fejl i denne proces.

Her er problemet med imperative sprog som C++

Problemet er, at i de imperative sprog, der i dag bruges til billedbehandling - såsom C++ - er denne rækkefølge oftest "indlejret i koden," fortæller Adams.

"Det kan være ret besværligt at finde ydelsesforbedringer på mobile platforme. Hvis man allerede har optimeret sin kode på en bestemt måde, skal man til at omarrangere koden, hvis man ønsker at optimere på en anden måde, hvilket sandsynligvis ender med, at man øger antallet af fejl. Det er bare en pine," forklarer Adams.

Halide (pdf) er inspireret af ideer fra funktionel programmering og gør det let for softwareudviklere at planlægge, hvor og hvornår hver rutine skal eksekveres.

Programmøren kan eksperimentere med rækkefølgen, programmet eksekveres i, uden at bekymre sig om at komme til at introducere fejl.

Hurtigt at portere programmer

Halide kan også gøre det hurtigere at portere programmer til anden hardware.

Programmøren skal ikke gøre andet end at omarrangere koden til den rækkefølge, der er optimal til den nye platform.

DSL er en udvidelse af C++ og der er compilere tilgængelig til både x86- og ARM-arkitekturerne samt til Nvidias CUDA-arkitektur til parallelberegning med grafikprocessorer.

Forskerne vil muligvis også skabe en særlig version til OpenGL-biblioteket.

I sidste ende er håbet, at ideerne bag Halide - frem for selve DSL'et - vil blive indlejret i kommercielle udviklingsværktøjer og programmeringssprog.

Forskerne vil præsentere Halide ved Association for Computing Machinerys konference Special Interest Group on Computer Graphics and Interactive Techniques (Siggraph) i næste uge i Los Angeles.

Oversat af Thomas Bøndergaard




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
itm8 A/S
Outsourcing, hosting, decentral drift, servicedesk, konsulentydelser, salg og udleje af handelsvarer, udvikling af software.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Cyber Threats 2024: Sådan arbejder de it-kriminelle – og sådan beskytter du dig

De cyberkriminelle har udviklet sig betydeligt, arbejder professionelt, fleksibelt og udnytter hinandens specifikke kompetencer – omtrent som en velsmurt koncern med klar ansvarsfordeling – og har ofte en klar politisk eller kommerciel motivation. Det stiller også nye krav til din tilgang til cybersikkerhed, og på Cyber Threats 2024 får du viden, som gør dig i stand til bedre at prioritere, planlægge og eksekvere en tidssvarende cybersikkerhedsstrategi.

06. november 2024 | Læs mere


Cyber Threats 2024: Sådan arbejder de it-kriminelle – og sådan beskytter du dig

De cyberkriminelle har udviklet sig betydeligt, arbejder professionelt, fleksibelt og udnytter hinandens specifikke kompetencer – omtrent som en velsmurt koncern med klar ansvarsfordeling – og har ofte en klar politisk eller kommerciel motivation. Det stiller også nye krav til din tilgang til cybersikkerhed, og på Cyber Threats 2024 får du viden, som gør dig i stand til bedre at prioritere, planlægge og eksekvere en tidssvarende cybersikkerhedsstrategi.

12. november 2024 | Læs mere


Fremtidens digitale kraftværk: Tag styringen med dit ERP-system

I dag ligger moderne ERP-platforme i skyen og opdateres adskillige gange årligt. Samtidig får man nærmest pr. automatik adgang til en omfattende portefølje af integrationer, add-ons, 3. partsmoduler, BI og avancerede funktioner til AI/ML-understøttelse af forretningsprocesser. På denne dag går vi derfor i dybden med, hvad det betyder for din virksomhed. Uanset om I har migreret til en cloudbaseret platform eller planlægger at gøre det indenfor en overskuelig fremtid.

13. november 2024 | Læs mere