Se ha anunciado la disponibilidad de panthor, el controlador abierto para la GPU Mali de décima generación

La empresa Collabora ha anunciado la disponibilidad del controlador abierto panthor, desarrollado para la décima generación de GPU Mali (G310, G510, G710), que utiliza la tecnología CSF (Command Stream Frontend). Esta tecnología desplaza algunas funciones del controlador a la firma para reducir la carga en la CPU y ofrece un nuevo modelo para la organización de la ejecución de tareas en la GPU. El controlador DRM (Direct Rendering Manager) panthor ha sido aceptado en la rama drm-misc y se espera que forme parte del núcleo Linux 6.10. Los cambios necesarios para dar soporte al nuevo controlador también han sido aceptados en Mesa y se han incluido en el controlador Gallium panfrost para GPUs Mali.

En la nueva generación de GPU Mali, el programador Job Manager ha sido sustituido por la interfaz CSF (Command Stream Frontend), que, en lugar de un modelo basado en la cadena de trabajos, utiliza un modelo basado en un flujo de comandos con planificación de la cola de flujo de comandos en la firma. Para gestionar el trabajo del programador en la GPU, se ha integrado un microcontrolador Cortex-M7, y se ha previsto una unidad especial de ejecución de comandos (Command Execution Unit) para la ejecución de las instrucciones CSF. Estas características requieren una organización fundamentalmente diferente para la transmisión de trabajos a la GPU desde el espacio del usuario.

Inicialmente, se había intentado implementar el soporte para la GPU Mali en base a CSF en el controlador DRM Panfrost, pero los desarrolladores concluyeron que esto complicaría mucho el controlador existente y sería más óptimo crear un nuevo controlador para CSF utilizando una arquitectura diferente. En el controlador panthor se ha implementado una nueva uAPI, una nueva lógica de planificación de trabajos y una nueva lógica de gestión de MMU/GPU-VA. Como base para el nuevo controlador, se ha utilizado el código existente del controlador DRM Panfrost, del cual se han tomado plantillas estándar para la inicialización del controlador, gestión de frecuencias y gestión de energía.

Al principio, el desarrollo del nuevo controlador se llevó a cabo utilizando ingeniería inversa, pero luego la empresa ARM se unió al proyecto, proporcionó acceso a la documentación y participó en la revisión del código. Dos empleados de ARM obtuvieron el estatus de co-mantenedores del controlador para el núcleo Linux. Más adelante, tras la disponibilidad del controlador OpenGL, el trabajo se centrará en la implementación del controlador Vulkan para las nuevas GPU Mali y la modernización del controlador Vulkan existente para las viejas GPU Mali.

Se señala que el controlador panthor preparado permite el soporte de GPU en placas con SoC Rockchip RK3588. La empresa Collabora también ha trabajado para garantizar la carga de placas basadas en Rockchip RK3588 utilizando un stack de software completamente abierto. Se ha preparado una imagen del sistema basada en Debian y un cargador de arranque abierto para reemplazar los componentes propietarios BL31 (Boot Loader stage 3.1).

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