Anunciada a disponibilidade do panthor, driver aberto para a 10ª geração de GPUs Mali

A empresa Collabora anunciou a conclusão do driver open source panthor, desenvolvido para a décima geração de GPUs Mali (G310, G510, G710), que utiliza a tecnologia CSF (Command Stream Frontend), transferindo algumas funções do driver para o firmware para reduzir a carga na CPU e oferecendo um novo modelo de execução de tarefas na GPU. O driver DRM (Direct Rendering Manager) panthor foi aceito na branch drm-misc e deverá fazer parte do kernel Linux 6.10. As mudanças para suportar o novo driver também foram aceitas no Mesa e incluídas no driver Gallium panfrost para GPUs Mali.

Na nova geração de GPUs Mali, o agendador Job Manager foi substituído pela interface CSF (Command Stream Frontend), onde, em vez do modelo baseado no envio de uma cadeia de tarefas, é aplicado um modelo baseado em fluxo de comandos com agendamento da fila de fluxo de comandos pelo firmware. Para organizar o funcionamento do agendador, um microcontrolador Cortex-M7 foi integrado na GPU, e um bloco especial de execução de comandos (Command Execution Unit) foi projetado para executar as instruções CSF. Essas características exigem uma organização fundamentalmente diferente da transmissão de tarefas à GPU a partir do espaço do usuário.

Inicialmente, houve uma tentativa de implementar suporte para GPUs Mali com base no CSF no driver DRM Panfrost, mas os desenvolvedores concluíram que isso levaria a uma grande complexidade ao driver existente e que para o CSF seria mais otimizado criar um novo driver, construído com uma arquitetura diferente. O driver panthor implementou uma nova uAPI, uma nova lógica de agendamento de tarefas e uma nova lógica de controle da MMU/GPU-VA. Como base para o novo driver, foi utilizado o código existente do driver DRM Panfrost, do qual foram aproveitados modelos típicos de inicialização do driver, controle de frequência e gerenciamento de energia.

Inicialmente, o desenvolvimento do novo driver foi realizado por meio de engenharia reversa, mas depois a empresa ARM juntou-se ao projeto, fornecendo acesso à documentação e participando da revisão do código. Dois funcionários da ARM receberam o status de co-mantenedores do driver para o kernel Linux. Posteriormente, após a conclusão do driver OpenGL, o trabalho se concentrará na implementação do driver Vulkan para novas GPUs Mali e na modernização do driver Vulkan existente para as antigas GPUs Mali.

É observado que o driver panthor preparado oferece suporte a GPU em placas com SoC Rockchip RK3588. A empresa Collabora também trabalhou para garantir a inicialização de placas baseadas no Rockchip RK3588 utilizando um stack de software totalmente aberto. Para o Rockchip RK3588, foi preparado uma imagem do sistema baseada em Debian e um bootloader aberto para substituir os componentes proprietários BL31 (Boot Loader stage 3.1).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster