A Intel lançou a versão 3.6 da oneAPI Deep Neural Network Library (oneDNN), uma biblioteca fundamental para softwares de aprendizado profundo, como ONNX Runtime, OpenVINO, Apache MXNet e Apache SIGNA. O oneDNN também é utilizado opcionalmente por PyTorch e TensorFlow, com as extensões da Intel, proporcionando maior desempenho para diversas plataformas de hardware, incluindo processadores e GPUs da própria Intel, além de outros fornecedores, como AMD e NVIDIA.
Suporte expandido e otimizações diversas
A versão 3.6 do oneDNN aprimora o suporte não apenas para os processadores e GPUs da Intel, mas também expande sua compatibilidade com outras arquiteturas de CPU e GPU. Integrado à Unified Acceleration Foundation (UXL), o projeto tem trabalhado para otimizar o suporte a processadores Arm e POWER, além de ampliar o desempenho em GPUs da AMD e NVIDIA.
Esta nova versão traz melhorias significativas para os processadores Intel Xeon, como a quarta geração Sapphire Rapids e os recém-lançados Xeon 6 Granite Rapids. Essas otimizações afetam diversas operações comuns no aprendizado de máquina, como normalização em grupo, multiplicação de matrizes (matmul) e redes neurais recorrentes (RNNs). Essas operações são fundamentais no treinamento de redes neurais, permitindo que computadores “aprendam” a partir de grandes conjuntos de dados, o que melhora o desempenho de aplicações como reconhecimento de voz e processamento de imagens.
Melhorias no suporte a GPUs Intel e otimizações para Xe2
O desempenho das GPUs Intel também foi melhorado. A série Intel Data Center GPU Max, anteriormente conhecida como Ponte Vecchio, agora apresenta ganhos significativos de desempenho, além de suporte inicial para gráficos baseados na arquitetura Xe2, que será integrada a futuros processadores como os Core Ultra da família Lunar Lake e as GPUs Battlemage. Essas melhorias garantem que os sistemas sejam mais eficientes ao executar tarefas de inteligência artificial e processamento gráfico.
Além disso, foram introduzidas otimizações específicas para o hardware Arrow Lake H, e para operações usadas em modelos de linguagem (LLMs), como multiplicação de matrizes e produtos internos. Isso é essencial para o treinamento de modelos que lidam com grandes volumes de texto, como assistentes de voz ou sistemas de tradução automática.
Suporte expandido para processadores AArch64 e outras plataformas
A arquitetura AArch64, utilizada em processadores como os encontrados em dispositivos móveis e servidores, também recebeu melhorias importantes. As operações de convolução e multiplicação de matrizes, que são usadas para processar dados em aplicações como reconhecimento de imagem, foram otimizadas, aumentando o desempenho em dispositivos com suporte à extensão SVE. Isso significa que, em hardware compatível, o processamento de IA será mais rápido e eficiente.
O oneDNN 3.6 também melhora a integração com a Arm Compute Library (ACL), aumentando a eficiência no tempo de criação de primitivas (operações básicas usadas para tarefas de IA), resultando em um uso mais eficiente do cache do processador. Essas otimizações permitem que as aplicações rodem de maneira mais suave, com maior eficiência energética e menor tempo de processamento.
Funcionalidades experimentais e novos recursos
O oneDNN 3.6 introduz novos recursos experimentais, como o suporte para memória esparsa no formato COO, o que possibilita maior eficiência ao manipular grandes conjuntos de dados. Além disso, foram feitas melhorias no tempo de criação de operações para tarefas como softmax e normalização de camada, usadas no treinamento de redes neurais.
Para desenvolvedores, novos exemplos foram adicionados, mostrando como implementar padrões avançados, como Scaled Dot Product Attention (SDPA) e Multi-Query Attention (MQA). Esses padrões são especialmente úteis em modelos avançados de IA, que lidam com grandes volumes de dados de forma eficiente.
Melhorias gerais e usabilidade
A interface de programação de gráficos (Graph API) do oneDNN 3.6 recebeu diversas otimizações, incluindo suporte para novas operações, como GroupNorm, e funções de reorganização estática. Além disso, a nova versão adiciona suporte para o Intel DPC++/C++ Compiler 2025, facilitando o desenvolvimento de aplicações que aproveitam o poder dos processadores Intel. A remoção da dependência do OpenCL para GPUs NVIDIA e AMD torna o oneDNN mais acessível para desenvolvedores que trabalham com essas plataformas.
Essa versão também introduz um novo sistema de registro de logs com base na biblioteca spdlog, que facilita o monitoramento do desempenho das operações de IA. Com isso, desenvolvedores podem identificar problemas de forma mais rápida e ajustar suas aplicações para tirar o máximo proveito do hardware disponível.