DumPy: Uma linguagem de array mais simples para GPUs, descartando o desperdício de cérebro do NumPy

2025-05-24
DumPy: Uma linguagem de array mais simples para GPUs, descartando o desperdício de cérebro do NumPy

O autor critica a complexidade e a ineficiência do NumPy no tratamento de arrays de dimensões superiores, particularmente suas intrincadas regras de broadcasting e indexação, forçando os programadores a pensar constantemente nas formas dos arrays e nos comportamentos das funções. Para resolver isso, ele propõe o DumPy, uma linguagem de array mais simples que usa a sintaxe de loops e índices, compilando-os secretamente em operações vetorizadas para aceleração de GPU, evitando assim as complexidades introduzidas no NumPy para contornar loops lentos. A ideia central do DumPy é mapear dimensões para rótulos e usar a função `vmap` do JAX para vetorização, simplificando o código e aumentando a eficiência. O autor fornece exemplos comparando DumPy, NumPy, JAX e loops puros, demonstrando a superior concisão e desempenho do DumPy.

Desenvolvimento