AMD ha revelado una noticia destacada al hacer público el código fuente del controlador destinado a sus unidades con motor basado en la arquitectura XDNA, diseñado específicamente para acelerar cálculos vinculados al aprendizaje automático y procesamiento de señales, conocido como NPU (unidades de procesamiento neuronal).
El gran anuncio
Este NPU, fundamentado en la arquitectura XDNA, se encuentra presente en las series 7040 y 8040 de procesadores AMD Ryzen, así como en los aceleradores AMD Alveo V70 y SoC AMD Versal. Con este paso, AMD proporciona a los desarrolladores acceso al funcionamiento interno de estos dispositivos.
Puede leer también | El hardware libre permite al usuario tener un ‘mini ordenador’ por 30 euros
Introducida el año pasado, la APU de la serie Ryzen 7040 "Phoenix" fue la primera en incorporar el motor de inteligencia artificial basado en la arquitectura XDNA, que se apoya en la propiedad intelectual (IP) de Xilinx. Este motor tiene la capacidad de acelerar marcos de aprendizaje automático, como PyTorch y TensorFlow.
Puede leer también | Más especificaciones para Hardware Libre
Inicialmente, la compatibilidad con Ryzen AI se limitaba a sistemas operativos Windows. No obstante, tras una demostración en junio de 2023, los representantes de AMD buscaron opiniones de la comunidad de Linux en GitHub sobre la posibilidad de admitir la compatibilidad. A pesar de que el hilo de discusión se cerró inicialmente después de tres días, AMD reabrió la recopilación de comentarios en octubre y recibió una respuesta positiva de la comunidad de Linux, con más de mil comentarios solicitando soporte para Ryzen AI.
Puede leer también | Hardware libre contra hardware abierto: el debate
El controlador XDNA de código abierto para Linux
Ahora, en respuesta a las solicitudes de la comunidad de desarrolladores de Linux, AMD ha lanzado oficialmente el controlador XDNA de código abierto para Linux.
Aunque AMD aún no ha confirmado si los controladores pertinentes se integrarán en la línea principal, este paso representa un avance considerable para los usuarios de Linux interesados en aprovechar las capacidades de Ryzen AI en sus sistemas. La liberación del controlador de código abierto subraya el compromiso de AMD con la comunidad de desarrolladores y su disposición para atender las necesidades y peticiones de los usuarios de Linux.
¿Qué incluye el código publicado?
El código publicado incluye:
-
Amdxdna.ko: Un controlador de bajo nivel para el kernel de Linux que interactúa directamente con el hardware XDNA, facilitando la comunicación y el control entre el sistema operativo y la NPU.
-
Una biblioteca de tiempo de ejecución conocida como el complemento "xrt_plugin*-amdxdna", diseñada para aprovechar la interfaz XRT (Xilinx Runtime Library). Esta biblioteca proporciona una interfaz que permite a las aplicaciones interactuar con las NPU mediante la biblioteca de tiempo de ejecución Xilinx (XRT), así como acceder y utilizar los kernels que se ejecutan en el acelerador de hardware de manera eficiente.
La ventaja de XRT radica en su capacidad para ofrecer varios niveles de abstracción, simplificando así el desarrollo de aplicaciones en diversos lenguajes de programación, desde API de bajo nivel para C/C++ hasta enlaces de alto nivel para Python, junto con componentes integrados para trabajar con marcos de trabajo populares de aprendizaje automático, como TensorFlow, PyTorch y Caffe.
Puede leer también | ¿Qué es el Hardware Libre?
En cuanto a los requisitos para ejecutar aplicaciones de IA con el controlador, se menciona que se necesitan procesadores RyzenAI, como el ejemplo Phoenix/Strix, y cualquier procesador x86 para construir el repositorio. Además, se requiere el sistema operativo Ubuntu 22.04, el kernel de Linux con IOMMO SVA (direccionamiento virtual compartido) compatible con la versión 6.7 habilitado, y la instalación del paquete base XRT.
Puede leer también | Tux Droid más que una mascota con hardware y software libre
Para asegurar que el paquete base XRT funcione con el paquete de complemento, se recomienda compilarlo desde el submódulo xrt en este repositorio (/xrt). El controlador, escrito en C y C++, se ha lanzado bajo la licencia GPLv2, lo que implica que es de código abierto, permitiendo a la comunidad de desarrolladores acceder, modificar y distribuir el software de acuerdo con los términos de la licencia.
Más información en el siguiente enlace del GIT.