Programação · 2 min read · Oct 20, 2025
Esta nova linguagem de programação funcional pode gerar código C, Python para aplicativos

Usar Futhark torna mais fácil programar para GPUs que aceleram o aprendizado de máquina e outros aplicativos intensivos em matemática
Pesquisadores do Departamento de Ciência da Computação da Universidade de Copenhague recentemente revelaram Futhark, uma linguagem de programação funcional de código aberto projetada para criar código que roda em GPUs, para uso em aprendizado de máquina e outras aplicações de alto desempenho.
Os pesquisadores disseram que Futhark é destinado a ser mais conveniente de usar do que estruturas padrão de C/C++ para programar GPUs. O principal recurso do Futhark é que ele pode gerar automaticamente código C e Python para ser integrado com aplicativos existentes. Futhark é escrito em Haskell.
Até hoje, a maioria da programação de GPU envolve o uso de estruturas como OpenCL ou CUDA, ambas as quais usam variações de C ou C++ para gerar código que roda na GPU. Em vez de usar qualquer estrutura, Futhark pode gerar código C, mas é sua própria linguagem, mais semelhante a Haskell ou Standard ML do que C.
Os criadores do Futhark afirmam que a expressividade da linguagem torna mais fácil descrever operações complexas que usam paralelismo. Isso inclui a capacidade de suportar paralelizações aninhadas (operações paralelas dentro de outras operações paralelas). Futhark pode fazer isso “apesar das complexidades de mapear eficientemente para o paralelismo plano suportado pelo hardware, uma vez que muitos programas dependem desse recurso.”
As alegações dos pesquisadores não são infundadas. Benchmarks preliminares comparando programas de GPU Futhark com outras bibliotecas de GPU mostraram resultados promissores. Para um teste de soma de segmento máximo, Futhark foi quase duas vezes mais rápido do que um projeto de código aberto concorrente. Em outros casos, ele igualou ou foi apenas ligeiramente mais lento do que a concorrência. Os desenvolvedores do Futhark atribuíram isso à novidade da linguagem e sua abordagem não refinada para alocar e reutilizar memória.
A atual cadeia de ferramentas do Futhark pode gerar código capaz de rodar tanto na CPU quanto na GPU, com uma variedade de alvos. Para a primeira, gera código C compilado pelo GCC; para a última, gera código C que usa a plataforma OpenCL. Assim, o mesmo código pode ser executado em qualquer hardware disponível para suportá-lo, da mesma forma que aplicativos acelerados por GPU, como o banco de dados MapD, podem recorrer ao uso da CPU, se necessário.
Usuários de Python que desejam um aumento de velocidade podem gerar código com Futhark automaticamente encapsulado em um módulo Python. O código da GPU roda via PyOpenCL, que é uma biblioteca para interface com GPUs. Existem exemplos disso, como uma implementação de GPU de Conway’s Game of Life impulsionada por Futhark.
Futhark ainda é um trabalho em progresso e os desenvolvedores colocaram o código no GitHub para outros pesquisadores e desenvolvedores.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.