Autor Tópico: Programas gráficos mais fáceis com linguagem livre  (Lida 819 vezes)

Alexandre ABC

  • Trade Count: (0)
  • Membro Ativo
  • ***
  • Mensagens: 546
Online: 07 de Agosto de 2012, 09:13:09
Gráficos abertos

Engenheiros do MIT, nos Estados Unidos, criaram uma nova linguagem de programação otimizada para a criação de algoritmos para processamento de imagens.

O código resultante não apenas é mais claro, facilitando a manutenção e a reutilização, como também resulta em um executável mais rápido.

A nova linguagem, chamada Halide, tenta imitar ao máximo a linguagem convencional, para facilitar a programação, a revisão e a correção do código.

Isto significa que suas funções automatizam a otimização de código necessária quando o programa é feito em outras linguagens. Na média, essa otimização automatizada resulta em programas significativamente mais rápidos.

A maior vantagem, porém, é que a nova linguagem para programação gráfica não apenas é gratuita, como é de código aberto.

Otimização de código

O teste da nova linguagem não poderia ser feito de outra forma: os criadores da Halide reescreveram vários algoritmos de processamento de imagens que já foram extensivamente otimizados por programadores experientes.

O código escrito em Halide é cerca de 30% maior - em termos de linhas de código - mas apresentou ganhos em velocidade de processamento que variaram de duas a seis vezes em relação ao algoritmo original. Em um caso específico, o código em Halide gerou um executável 70 vezes mais rápido.

Uma das maiores vantagens da nova linguagem é que ela cuida automaticamente de paralelizar o processamento para cada plataforma - um processador multicore de um PC ou o processador de um smartphone, por exemplo.

Agenda de processamento

O programa em Halide tem duas seções: uma para os algoritmos, e outra para o "agendamento" do processamento.

Essa agenda pode especificar o tamanho e o formato dos blocos da imagem que cada núcleo precisa processar em cada etapa, além das dependências de dados - por exemplo, os passos executados em um determinado núcleo precisarão acessar os resultados do processamento realizado em outro núcleo.

Uma vez estabelecida a agenda, o compilador cuida do resto. Se for necessário exportar o programa para uma plataforma diferente, basta refazer a agenda, sem precisar mexer no algoritmo.

Jonathan Ragan-Kelley e Andrew Adams, os criadores do Halide, já disponibilizaram o código da nova linguagem no endereço http://halide-lang.org.

fonte

É de se esperar uma boa melhora nos programas de edição livres.


tiaoadao

  • Trade Count: (2)
  • Conhecendo
  • *
  • Mensagens: 106
Resposta #1 Online: 13 de Agosto de 2012, 11:11:36
Tem como popularizar, o que vai trazer de beneficio?

Desculpa a ignorancia deste simples mortal.

Abços


Alexandre ABC

  • Trade Count: (0)
  • Membro Ativo
  • ***
  • Mensagens: 546
Resposta #2 Online: 14 de Agosto de 2012, 12:35:43
Pessoas que tem boas ideias mas dificuldades em programação se interessarão e produzirão programas de edição livres e aperfeiçoarão os já existentes.