Pular para o conteúdo
Notícias e tutoriais sobre Linux
Linux

Intel atualiza driver de NPU para suportar cargas de trabalho maiores

Logotipo da Intel em prata sobre um fundo escuro com textura de couro, destacando uma versão elegante e moderna da marca.

A Intel continua a aprimorar seu driver de unidade de processamento neural (NPU) para lidar com cargas de trabalho de IA cada vez mais exigentes. Com a chegada da quinta geração de NPUs, que será apresentada na família Panther Lake, uma nova série de patches foi lançada, trazendo melhorias significativas para o driver Intel IVPU.

Entre as melhorias incluídas na atualização estão a remoção do suporte ao motor de cópia obsoleto, melhorias na performance da função open() através da alocação preguiçosa de tabelas de páginas MMU, correções no tratamento de erros e suporte para cargas de trabalho maiores, permitindo o processamento de modelos mais complexos.

Além disso, os patches incluem:

  • Não falhar quando mais de um tile está fundido.
  • Alocação adiada da tabela de páginas raiz do MMU.
  • Limpeza da entrada CDTAB em caso de falha.
  • Desmapeamento de BOs parcialmente mapeados em caso de erros.
  • Utilização de xa_alloc_cyclic() em vez de função personalizada.
  • Alocação do ID da fila de comandos em XArray.
  • Não alocar buffers de preempção quando o MIP está desabilitado.
  • Adição de uma opção de depuração no Kconfig.

O principal destaque dessa atualização é a expansão dos endereços da unidade de processamento visual (VPU), permitindo maior flexibilidade e aumento da capacidade de execução de cargas de trabalho maiores. A Intel também aumentou o intervalo de endereços DMA, passando para 128 GB nos modelos 37xx, devido a limitações do MMU, e para 256 GB nas gerações mais recentes. Além disso, nos modelos 40xx e superiores, agora é possível acessar todo o espaço de 256 GB tanto da memória DMA quanto do firmware.

Essas mudanças também incluem a união dos intervalos de usuário e DMA nos modelos 40xx, garantindo maior eficiência e desempenho. Outra melhoria importante foi o aumento do intervalo de endereços de usuário no modelo 37xx, passando de 255 MB para 511 MB, permitindo o carregamento de modelos muito grandes. O hardware do Intel NPU 37xx é utilizado nos SoCs Meteor Lake.

Para otimizar a utilização dos recursos de preempção, outro patch move a alocação do buffer secundário de preempção para o intervalo DMA, aumentando a capacidade de alocação de filas de comandos com buffers de preempção sem esgotar o intervalo de endereços.

Com essas mudanças no driver IVPU, a Intel busca garantir que sua NPU possa executar modelos de IA cada vez mais exigentes, trazendo um impacto positivo para o desenvolvimento de soluções de IA mais robustas e eficientes.

Fique atento para mais novidades sobre quando essas melhorias do driver Intel NPU serão integradas ao kernel principal do Linux.

QUEM ESCREVE
Emanuel Negromonte

Sobre o autor

Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.