Se ha publicado el kit de herramientas ZLUDA, que le permite ejecutar aplicaciones CUDA en GPU AMD

El proyecto ZLUDA ha desarrollado una implementación de código abierto de la tecnología CUDA para GPU AMD, lo que permite la ejecución de aplicaciones CUDA sin modificar con un rendimiento cercano al de las aplicaciones que se ejecutan sin intermediarios. El kit de herramientas publicado garantiza la compatibilidad binaria con las aplicaciones CUDA existentes creadas con el compilador CUDA para GPU NVIDIA. La implementación se ejecuta sobre la pila ROCm de AMD y el entorno de ejecución de la Interfaz de Computación Heterogénea para la Portabilidad (HIP). El código del proyecto está escrito en Rust y se distribuye bajo las licencias MIT y Apache 2.0. Es compatible con Linux и Windows.

La capa para organizar el trabajo de CUDA en sistemas con GPU AMD se desarrolló durante los últimos dos años, pero el proyecto tiene una historia más larga y se creó originalmente para garantizar que CUDA funcione en GPU Intel. El cambio en la política de soporte de GPU se explica por el hecho de que al principio el desarrollador de ZLUDA era un empleado de Intel, pero en 2021 esta empresa consideró que brindar la capacidad de ejecutar aplicaciones CUDA en GPU de Intel no tenía interés comercial y no aceleró. el desarrollo de la iniciativa.

A principios de 2022, el desarrollador dejó Intel y fue contratado por AMD para desarrollar una capa de compatibilidad CUDA. Durante el desarrollo, AMD pidió no publicitar el interés de AMD en el proyecto ZLUDA y no realizar compromisos con el repositorio público de ZLUDA. Dos años más tarde, AMD decidió que ejecutar aplicaciones CUDA en GPU AMD no era de interés para las empresas, lo que, según los términos del contrato, permitió al desarrollador descubrir su trabajo. Dado que los fabricantes de GPU han dejado de financiar el proyecto, su destino ahora depende del interés de la comunidad y de la recepción de propuestas de cooperación de otras empresas. Sin apoyo externo, el proyecto sólo podrá desarrollarse en direcciones que sean personalmente interesantes para el autor, como DLSS (Deep Learning Super Sampling).

En su forma actual, el nivel de calidad de la implementación se evalúa como versión alfa. Sin embargo, ZLUDA ya se puede utilizar para ejecutar muchas aplicaciones CUDA, incluidas Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM y Arnold. Proporciona soporte mínimo para primitivas y bibliotecas cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL y NVML.

El primer lanzamiento de aplicaciones CUDA que ejecutan ZLUDA ocurre con retrasos notables debido al hecho de que ZLUDA compila código GPU. No hay tal retraso en ejecuciones posteriores, ya que el código compilado se almacena en la memoria caché. Cuando se ejecuta código compilado, el rendimiento es cercano al nativo. Al ejecutar Geekbench en una GPU AMD Radeon 6800 XT, la versión ZLUDA del conjunto de pruebas CUDA tuvo un rendimiento notablemente mejor que la versión OpenCL.

Se ha publicado el kit de herramientas ZLUDA, que le permite ejecutar aplicaciones CUDA en GPU AMD

La compatibilidad con la API del controlador CUDA oficial y la parte de ingeniería inversa de la API CUDA no documentada se implementa en ZLUDA reemplazando las llamadas a funciones con funciones similares proporcionadas en el tiempo de ejecución de HIP, que es similar en muchos aspectos a CUDA. Por ejemplo, la función cuDeviceGetAttribute() se reemplaza por hipDeviceGetAttribute(). La compatibilidad con bibliotecas NVIDIA como NVML, cuBLAS y cuSPARSE se garantiza de manera similar: para dichas bibliotecas, ZLUDA proporciona bibliotecas de traducción con el mismo nombre y el mismo conjunto de funciones, creadas como complementos sobre bibliotecas AMD similares.

El código de la aplicación GPU compilado en la representación PTX (Parallel Thread Execution) se traduce primero mediante un compilador especial a la representación intermedia LLVM IR, a partir de la cual se genera el código binario para las GPU AMD.

Se ha publicado el kit de herramientas ZLUDA, que le permite ejecutar aplicaciones CUDA en GPU AMD


Fuente: opennet.ru
Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster