Programación funcional · 2 min read · Oct 20, 2025
Este nuevo lenguaje de programación funcional puede generar código C y Python para aplicaciones

Usar Futhark facilita la programación para GPUs que aceleran el aprendizaje automático y otras aplicaciones intensivas en matemáticas
Investigadores del Departamento de Ciencias de la Computación de la Universidad de Copenhague han presentado recientemente Futhark, un lenguaje de programación funcional de código abierto diseñado para crear código que se ejecute en GPUs, para su uso en aprendizaje automático y otras aplicaciones de alto rendimiento.
Los investigadores dijeron que Futhark está destinado a ser más conveniente de usar que los marcos estándar de C/C++ para programar GPUs. La característica principal de Futhark es que puede generar automáticamente tanto código C como Python para ser integrado con aplicaciones existentes. Futhark está escrito en Haskell.
Hasta hoy, la mayoría de la programación de GPUs implica el uso de marcos como OpenCL o CUDA, ambos de los cuales utilizan variaciones de C o C++ para generar código que se ejecuta en la GPU. En lugar de usar cualquier marco, Futhark puede generar código C, pero es su propio lenguaje, más similar a Haskell o Standard ML que a C.
Los creadores de Futhark afirman que la expresividad del lenguaje facilita la descripción de operaciones complejas que utilizan paralelismo. Esto incluye la capacidad de soportar paralelizaciones anidadas (operaciones paralelas dentro de otras operaciones paralelas). Futhark puede hacer esto “a pesar de las complejidades de mapear eficientemente al paralelismo plano soportado por el hardware, ya que muchos programas dependen de esta característica.”
Las afirmaciones de los investigadores no son infundadas. Los benchmarks preliminares que enfrentaron programas de GPU de Futhark contra otras bibliotecas de GPU mostraron resultados prometedores. Para una prueba de suma de segmentos máxima, Futhark fue casi el doble de rápido que un proyecto de código abierto competidor. En otros casos, igualó o fue solo ligeramente más lento que la competencia. Los desarrolladores de Futhark atribuyeron esto a la novedad del lenguaje y su enfoque no refinado para asignar y reutilizar memoria.
La cadena de herramientas actual de Futhark puede generar código capaz de ejecutarse tanto en la CPU como en la GPU, con una variedad de objetivos. Para la primera, genera código C compilado por el GCC; para la segunda, genera código C que utiliza la plataforma OpenCL. Así, el mismo código se ejecuta en cualquier hardware disponible para soportarlo, de manera similar a como las aplicaciones aceleradas por GPU, como la base de datos MapD, pueden recurrir al uso de la CPU si es necesario.
Los usuarios de Python que desean un aumento de velocidad pueden generar código con Futhark envuelto automáticamente en un módulo de Python. El código de GPU se ejecuta a través de PyOpenCL, que es una biblioteca para la interfaz con GPUs. Hay ejemplos de esto, como una implementación de GPU impulsada por Futhark del Juego de la Vida de Conway.
Futhark sigue siendo un trabajo en progreso y los desarrolladores han puesto el código en GitHub para que otros investigadores y desarrolladores lo utilicen.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.