Reinicio del Proyecto Rust-CUDA: Habilitando Kernels NVIDIA CUDA en Rust.

Publicado el 5 de febrero de 2025, 9:27

El ecosistema de programación en Rust continúa expandiéndose, y ahora el proyecto Rust-CUDA ha sido "reiniciado" con el objetivo de permitir la codificación de núcleos de cómputo NVIDIA CUDA dentro del lenguaje de programación Rust. Este esfuerzo busca integrar más profundamente Rust en el ámbito de la computación acelerada por GPU, ofreciendo una alternativa segura y eficiente a las soluciones tradicionales basadas en C y C++.

Objetivos y enfoque del proyecto

El proyecto Rust-CUDA está diseñado para habilitar la ejecución de núcleos CUDA en GPUs NVIDIA mediante código Rust. Para lograrlo, el compilador Rust-CUDA apunta al NVVM IR de NVIDIA, una derivación del LLVM IR que se especializa en la compilación de núcleos de cómputo para GPU. Este código intermedio es luego traducido a PTX, el lenguaje ensamblador de NVIDIA para la ejecución en sus GPU.

Desde su última versión v0.3 en febrero de 2022, el proyecto había estado inactivo, pero ahora, tres años después, los desarrolladores han retomado el trabajo con la intención de revitalizarlo y atraer más colaboradores de código abierto.

Colaboraciones y expansión del ecosistema

Una de las metas clave del reinicio del proyecto es fomentar una mayor colaboración con otros proyectos de Rust orientados a GPU. En particular, los desarrolladores esperan compartir algunos activos con el proyecto Rust-GPU, el cual está enfocado en la generación de código SPIR-V para Vulkan. Además, se explora la posibilidad de trabajar conjuntamente en el backend y la abstracción cudarc PTX para proporcionar una integración más fluida del lenguaje Rust con CUDA.

Próximos pasos y objetivos a futuro

En el corto plazo, los desarrolladores de Rust-CUDA han identificado varias tareas prioritarias:

  • Fusionar las solicitudes de extracción pendientes en el repositorio del proyecto.

  • Actualizar las dependencias para garantizar compatibilidad con las versiones más recientes de Rust y CUDA.

  • Lanzar un nuevo sitio web del proyecto para centralizar documentación y atraer más contribuyentes.

  • Atender otros elementos en su lista de pendientes (TODO list).

A mediano plazo, se espera mejorar la interoperabilidad entre Rust y C, fortalecer la colaboración en el backend PTX y trabajar más estrechamente con el equipo de Rust-GPU para fomentar sinergias en el desarrollo de herramientas para computación acelerada.

A largo plazo, las ambiciones del proyecto incluyen:

  • Integración más profunda con el compilador de Rust para optimizar el soporte de CUDA.

  • Desarrollo de una API de GPU unificada para Rust, simplificando la programación en múltiples plataformas de cómputo acelerado.

  • Evolución del lenguaje Rust para mejorar su compatibilidad con la programación de GPU, incorporando características que faciliten la escritura de código optimizado para este tipo de hardware.

El reinicio del proyecto Rust-CUDA representa un paso importante para la computación en GPU dentro del ecosistema Rust. Con un enfoque en la seguridad, eficiencia y compatibilidad con CUDA, esta iniciativa tiene el potencial de convertirse en una pieza clave para el desarrollo de software de alto rendimiento en Rust. A medida que el proyecto avanza, será interesante ver cómo la comunidad responde y qué nuevas posibilidades surgen para la programación en GPU con Rust.

 

Añadir comentario

Comentarios

Todavía no hay comentarios