NVIDIA integra soporte nativo de Python en CUDA para facilitar la programación en GPUs

TecnologíaNvidia

NVIDIA integra soporte nativo de Python en CUDA para facilitar la programación en GPUs

NVIDIA ha anunciado la integración nativa de Python en su toolkit CUDA, revolucionando la programación en GPUs y ampliando el acceso a desarrolladores.

Descripción

En 2024, Python se convirtió en el lenguaje de programación más popular del mundo, superando a JavaScript, según la encuesta de código abierto de GitHub. En un momento clave para el desarrollo tecnológico, NVIDIA ha anunciado el soporte nativo y plena integración de Python en su toolkit CUDA, lo que facilita su uso para la programación en GPUs sin la necesidad de conocer lenguajes como C o C++. Esto supone una gran ventaja para los desarrolladores, ya que CUDA ha estado históricamente ligado a estos lenguajes de programación.

Stephen Jones, arquitecto de CUDA, afirmó durante la reciente conferencia GTC que "Python para CUDA no debería parecerse a C. Debería tener la apariencia de Python". Este enfoque permitirá a los programadores utilizar interfaces naturales de Python y un modelo de scripting para crear programas de inteligencia artificial que se ejecuten en los GPUs de NVIDIA. Con esta integración, NVIDIA tiene la oportunidad de atraer a millones de programadores, especialmente en mercados en desarrollo como India y Brasil, donde los codificadores hacen contribuciones activas a proyectos de código abierto.

Según datos de The Futurum Group, el número de usuarios de CUDA pasó de 2 millones en 2020 a 4 millones en 2023, y con el auge de Python, esta cifra podría aumentar aún más. Esto abre la puerta a que NVIDIA esté mejor posicionado en mercados emergentes, donde empresas de telecomunicaciones están comenzando a implementar instalaciones de GPU a gran escala.

NVIDIA ha desarrollado nuevas bibliotecas y herramientas, como las bases Python de CUDA y cuPyNumeric, que es un reemplazo drop-in para NumPy, la biblioteca computacional más utilizada en Python. Esto permite que el código diseñando para CPU funcione de manera similar en GPUs con solo modificar una directiva de importación. Además, han presentado el nuevo modelo de programación CuTile, que permite un mapeo eficiente de arreglos a GPUs, facilitando el entendimiento y la depuración del código.

La empresa recalca la importancia de mantener la interoperabilidad entre las distintas capas del stack CUDA, lo que generará incrementos significativos en la productividad y en el uso de Python de extremo a extremo. En este contexto, Jones enfatizó que "mantener esta interoperabilidad entre todas las capas será un gran avance para la productividad y para poder usar Python de manera integral".

Con un enfoque en la simplificación del desarrollo y la práctica de programación, NVIDIA busca atraer a más programadores y planea soportar otros lenguajes como Rust y Julia en el futuro. La capacidad de los compilers de realizar un mejor mapeo de hilos y operaciones de arreglos visualizando el procesamiento en niveles menos granulares es un paso hacia un desarrollo más accesible y potente.