DumPy: Un lenguaje de arrays más simple para GPUs, desechando la pérdida de neuronas de NumPy

2025-05-24
DumPy: Un lenguaje de arrays más simple para GPUs, desechando la pérdida de neuronas de NumPy

El autor critica la complejidad y la ineficiencia de NumPy al manejar arrays de dimensiones superiores, particularmente sus intrincadas reglas de broadcasting e indexación, lo que obliga a los programadores a pensar constantemente en las formas de los arrays y en el comportamiento de las funciones. Para solucionar esto, propone DumPy, un lenguaje de arrays más simple que utiliza la sintaxis de bucles e índices, compilándolos en secreto en operaciones vectorizadas para la aceleración de la GPU, evitando así las complejidades introducidas en NumPy para sortear los bucles lentos. La idea central de DumPy es mapear las dimensiones a etiquetas y usar la función `vmap` de JAX para la vectorización, simplificando el código y aumentando la eficiencia. El autor proporciona ejemplos que comparan DumPy, NumPy, JAX y bucles puros, demostrando la superior concisión y rendimiento de DumPy.

Desarrollo