Notebookcheck Logo

Los investigadores habilitan el soporte de aplicaciones Nvidia CUDA en la GPGPU RISC-V

Esta es la primera vez que el código optimizado por CUDA se ejecuta en hardware que no es de Nvidia.
Esta es la primera vez que el código optimizado por CUDA se ejecuta en hardware que no es de Nvidia.
Investigadores estadounidenses y surcoreanos de RISC-V han conseguido que el código CUDA de Nvidia sea compatible con el hardware que no es de Nvidia. Es todo un logro, teniendo en cuenta que AMD e Intel aún no han buscado una solución de este tipo. La GPGPU Vortex, basada en RISC-V, traduce esencialmente el código CUDA en instrucciones OpenCL a través de la biblioteca RISC-V

Nvidia introdujo por primera vez la compatibilidad con CUDA (Compute Unified Device Architecture) para sus GPU en 2007, lo que permitía a las tarjetas gráficas funcionar como una potente CPU o GPGPU de propósito general y ejecutar instrucciones de cálculo. Desde entonces, Nvidia comenzó a añadir pequeños núcleos con CUDA a todas sus GPU, y CUDA evolucionó hasta convertirse en una compleja plataforma de cálculo paralelo / API que puede alimentar incluso los más rápidos superordenadores del mundo. Es una solución propietaria, por lo que no funciona con AMD o Intel GPUs. Sin embargo, esto no ha impedido a los investigadores intentar portar la plataforma a una GPGPU basada en RISC-V, y parece que, después de todo, CUDA puede adaptarse para funcionar en hardware no propietario.

RISC-V surgió como una de las mejores alternativas para las soluciones de ARM desde que Nvidia inició el acuerdo de adquisición de ARM. Al ser la primera arquitectura de conjuntos de instrucciones de código abierto y sin licencia, RISC-V puede incluso programarse para funcionar como alternativa a la arquitectura x86 en ordenadores de sobremesa y portátilese Intel ya está planeando una colaboración con RISC-V para futuros procesadores de movilidad. Investigadores de EE.UU. y Corea del Sur han aprovechado recientemente la sintaxis fácil de entender y la amplia personalización del ISA RISC-V para hacer posible la compatibilidad con CUDA en un proyecto de GPGPU llamado Vortex. El hardware RISC-V utilizado en este caso se basa en la ISA RV32IMF, que permite escalar los núcleos de 32 bits desde diseños de GPU de 1 a 32 núcleos. Vortex ya es compatible con OpenCL 1.2 al igual que las GPGPU de AMDpero los investigadores querían demostrar que también puede soportar CUDA en cierta medida.

Para ejecutar código optimizado para CUDA, los investigadores lo reformulan en el formato de representación intermedia (IR) de NVVM, que se basa en el IR de LLVM de código abierto. Éste, a su vez, se convierte en la IR portátil estándar (SPIR-V), que luego se traduce a través de la implementación POCL (portable OpenCL) que incluye la biblioteca RISC-V. En última instancia, Vortex ejecuta el código optimizado para CUDA como instrucciones OpenCL.

Actualmente, Vortex es compatible con la mayoría de las aplicaciones CUDA, pero los investigadores especifican que hay algunas aplicaciones que utilizan memoria de texturas o funciones matemáticas, que aún no son compatibles. Todavía no está claro cómo de rápida es la traducción de CUDA a OpenCL.

 

Compra el SoC SiFive HiFive1 Rev B RISC-V y la placa de desarrollo en Amazon

(Fuente de la imagen: Vortex paper)
(Fuente de la imagen: Vortex paper)
Please share our article, every link counts!
> Análisis y pruebas de ordenadores portátiles y móviles teléfonos > Noticias > Archivo de noticias > Archivo de noticias 2021 09 > Los investigadores habilitan el soporte de aplicaciones Nvidia CUDA en la GPGPU RISC-V
Bogdan Solca, 2021-09- 9 (Update: 2021-09- 9)