NVIDIA anuncia una gran novedad que entusiasmará a los programadores de Python

Ya no será obligatorio usar lenguajes de programación como Java, C++ o Fortran, NVIDIA ha traído el soporte de Python para CUDA de forma nativa para las tarjetas gráficas.
La compañía de Jen-Hsun Huang ha hecho numerosas colaboraciones con organizaciones como CrowdStrike en mejoras de ciberseguridad y Tesla de Elon Musk en hardware de IA. Más allá de esto, la fuente principal de las acciones de esta empresa provienen de su desarrollo de GPUs RTX GeForce.
Ante la salida de las propuestas como Radeon de AMD o ARC de Intel, parece que NVIDIA se ha enfocado en mejorar cada vez más su kit de herramientas CUDA que permiten ejecutar cálculos de alta capacidad con la potencia de las tarjetas gráficas que se emplea principalmente con C y C++.
Con el uso de wrappers se pueden hacer uso de Fortran, Julia, Java e incluso Python, pero este último ya no tiene que ser implementado de esta manera, pues ahora se ha confirmado que va a estar disponible de forma nativa y no será una traducción entre entornos, siendo una de las noticias más sorprendentes para los profesionales.
Python en CUDA ya es una realidad y será muy diferente a C

Sí, CUDA finalmente ha recibido el soporte completo de Python y eso es algo que muchos usuarios llevan tiempo esperando, ya que ahora no será necesario usar otros lenguajes si tienes conocimientos sobre este, lo cual evita la curva de aprendizaje que anteriormente requería para poder usar la mencionada plataforma.
Esta integración nativa va a ser muy distinta a cualquier otra que se haya visto hasta ahora, porque, según lo que dice Stephen Jones, arquitecto de CUDA, han acelerado el proceso para que este entorno sea implementado de la forma más eficiente posible, por lo que “Python para CUDA no debería parecerse a C”.
En realidad, el trabajo que le han dedicado a esta novedad va de la mano con la gran cantidad de programadores que utilizan este estilo de código, haciendo que se parezca lo más posible con el fin de evitar que sea “simplemente una traducción” de sintaxis entre la base y el externo.
“No deberías abandonar los compiladores de línea de comandos ni nada por el estilo, deberías estar en pleno proceso”. - Stephen Jones.
De esta manera, se pueden utilizar interfaces naturales con el nuevo entorno de ejecución CUDA Core, el cual es una “reinvención” de las bibliotecas Pythonic. Con la compilación just-in-time (JIT) para la arquitectura y el reemplazo de la biblioteca NumPy por cuPyNumeric, han conseguido que haya menos dependencias y una mayor eficiencia.
Esto hace que exista un uso de Python de extremo a extremo sin obstaculizaciones porque la interoperabilidad se acopla a las capas necesarias, siendo la clave de que no se parezca a C o que sea una traducción directa del mismo.
Otra de las cosas que ha compartido Nvidia es que se encuentra desarrollando un modelo de programación llamado CuTile, el cual se centra en obtener mapeos de alta capacidad para matrices de GPUs “a un nivel menos granular”.
CUDA en Python integrará esta característica para que haya una simplificación en el desarrollo con ventajas más adaptadas al lenguaje. Al mismo tiempo, en un futuro llegaría a C++, ya que parece que será esencial para una depuración de código efectiva sin afectar el rendimiento.
¿Por qué es tan importante usar Python en este entorno?

De acuerdo a lo que confirma The Newstack, todo esto se ha hecho con el objetivo principal de que el kit de herramientas de Nvidia sea cada vez más familiar y accesible para los usuarios, tanto experimentados, como principiantes.
Debido a esto, es esencial para ampliar sus horizontes a los desarrolladores de India y Brasil debido a la repercusión que tiene Python o que estén comenzando a adentrarse en la industria y no quieran aprender otro idioma informático exigido por la plataforma.
Entonces, no será el final de la misión de los directivos, pues la empresa quiere que haya una implementación similar para más lenguajes de programación que puedan servir en dispositivos en el Windows de Microsoft, distribuciones de Linux o el macOS de Apple. Por lo tanto, sería el comienzo de futuros avances donde otras opciones como Julia o Rust también estén de manera nativa.