sexta-feira, 10 de agosto de 2012
Uma nova linguagem para processamento de imagem
Pesquisadores do Computer Science and Artificial Intelligence Laboratory (CSAIL) no MIT apresentaram uma nova linguagem de programação chamada Halide. Ela foi criada para simplificar o desenvolvimento de aplicativos de processamento de imagens em sistemas modernos de computadores. A linguagem de domínio específico (domain-specific language, ou DSL) embarcada tem como objetivo melhorar a eficiência de algoritmos como auqeles usados para os pipelines de imagens RAW das câmeras, grades bilaterais, filtragem Laplaciana e segmentação de imagem.
"Não só os programas Halide são mais fáceis de ler, escrever e revisar do que os programas de processamento de imagens escritos em uma linguagem convencional, mas como o Halide automatiza os procedimentos de otimização de código que tomariam horas se fossem realizados manualmente, eles também são significativamente mais rápidos," afirmaram os pesquisadores. A equipe usou o Halide para reescrever vários algoritmos comuns de processamento de imagem e descobriram que suas versões são um terço menores e oferecem uma velocidade de processamento seis vezes maior. Eles destacaram que um dos fatores que contribuíram para essa velocidade é o processo altamente otimizado de paralelização de processos.
Embarcado em C++, o Halide opera em plataformas como o X86-64/SSe, ARMv7/NEON e CUDA. Ele suporta unidades SIMD, múltiplos núcleos e hierarquias complexas de memória. O compilador atualmente oferece suporte a sistemas Mac OS X (a equipe de pesquisa usou as versões 10.6 à 10.8) e as principais distribuições Linux, como a versão LTS mais recente do Ubuntu. Os pesquisadores afirmaram que, apesar de compilações no Windows serem tecnicamente possíveis, elas não foram tentadas ou testadas dentro dos projetos. O código-fonte e binários do Halide foram disponibilizados sob uma licença MIT. O código para o compilador e para o próprio Halide estão disponíveis para download na página GitHub do projeto.
Fonte: h-online, em inglês.
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário