Lanzamiento de ZLUDA 5, una implementación abierta universal de la tecnología CUDA

Andrzej Janik presentó la versión ZLUDA 5, una implementación abierta de la tecnología CUDA. El objetivo del proyecto es permitir la ejecución de aplicaciones CUDA no modificadas en sistemas con GPU que no sean NVIDIA, con un rendimiento cercano al de las aplicaciones que se ejecutan sin capas intermedias. El código del proyecto está escrito en Rust y se distribuye bajo las licencias MIT y Apache 2.0.

ZLUDA 5 se convirtió en la segunda versión significativa del proyecto, formada tras la limpieza de la base de código de los desarrollos realizados durante el tiempo de Andrzej en AMD. Desde 2022, Andrzej trabajó en AMD para crear una capa de compatibilidad para GPUs AMD con CUDA, pero en 2024 el proyecto fue cerrado. De acuerdo con los términos del contrato y tras recibir el permiso para publicar de un representante de AMD, Andrzej abrió el código de los trabajos realizados durante su tiempo en AMD que permitían ejecutar aplicaciones CUDA sobre la pila ROCm y el runtime HIP (Interfaz de computación heterogénea para portabilidad).

El año pasado, Andrzej se vio obligado a retirar el código del acceso público tras recibir una carta de abogados que dejaron claro que el permiso otorgado en la correspondencia por correo electrónico no tenía fuerza legal. Después de eso, Andrzej comenzó a trabajar en una nueva edición de ZLUDA, basada en la base de código que existía antes de que Andrzej comenzara en AMD. En su versión actual, el desarrollo se centra en la ejecución de aplicaciones que utilizan CUDA para acelerar tareas relacionadas con el aprendizaje automático. El proyecto actualmente está limitado al funcionamiento en GPUs AMD, pero se adaptará más adelante para GPUs Intel.

Principales mejoras en la nueva versión:

  • Se ha agregado soporte inicial para la ejecución en ZLUDA de los frameworks llm.c, Llama.cpp y PyTorch para la ejecución de modelos de lenguaje grandes utilizando optimizaciones CUDA aplicadas a GPUs NVIDIA.
  • Se ha implementado soporte inicial para la ejecución de aplicaciones que utilizan las bibliotecas cuBLAS, cuBLASLt y nvml para mejorar el rendimiento.
  • Se ha añadido la capa zluda_trace para la trazabilidad de aplicaciones que utilizan CUDA. Con zluda_trace, es posible diagnosticar problemas y detectar deficiencias en ZLUDA que impiden la correcta ejecución de la aplicación.
  • Se ha presentado la utilidad de línea de comandos zoc (compilador offline ZLUDA), que permite compilar archivos con instrucciones NVIDIA PTX en una representación intermedia AMD RDNA (anteriormente, esta funcionalidad estaba disponible en forma de funciones de biblioteca).
  • En el cargador de módulos PTX se ha implementado un mecanismo de caché para los núcleos que se ejecutan en la GPU. La caché permite evitar la ejecución repetida de operaciones intensivas en recursos de compilación de instrucciones PTX (Ejecución de Hilos Paralelos) en código de máquina para una GPU específica.

    Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster