MultiCortex AI Intel Accelerated: CPU, GPU e NPU Intel pronta para a Inteligência Artificial

Sistema operacional Linux integra Intel oneAPI, Level Zero, OpenVINO, Intel Arc e NPU para reduzir a complexidade da computação heterogênea e acelerar o desenvolvimento de aplicações de IA

A Inteligência Artificial está chegando cada vez mais perto do usuário. O que durante muitos anos esteve concentrado em grandes datacenters equipados com aceleradores especializados começa agora a fazer parte dos notebooks, desktops, estações de trabalho e dispositivos de borda. As novas gerações de hardware Intel são um exemplo claro dessa transformação.

Em uma mesma máquina podemos encontrar CPU, GPU Intel Arc e NPU, três arquiteturas com características diferentes e que podem ser exploradas conjuntamente em aplicações de Inteligência Artificial. O desafio, porém, não está apenas em possuir esse hardware.

É necessário fazer
tudo funcionar.

Drivers, firmware, runtimes, bibliotecas, compiladores, frameworks e diferentes camadas de acesso ao hardware precisam estar corretamente instalados, configurados e compatíveis. Foi justamente para atacar esse problema que nasceu o MultiCortex AI Intel Accelerated.

A proposta é simples: entregar um ambiente Linux no qual a infraestrutura necessária para explorar a computação heterogênea Intel já esteja disponível desde o primeiro boot. A própria plataforma apresenta CPU, Intel Arc GPU e Intel NPU como recursos complementares para processamento geral, inferência e IA eficiente.

O problema não é apenas instalar um framework

Uma das etapas mais complexas e custosas na adoção de Inteligência Artificial é a instalação, configuração e integração dos aceleradores com os frameworks utilizados pelos desenvolvedores.

Mesmo em ecossistemas extremamente populares, como NVIDIA e CUDA, preparar corretamente uma máquina para desenvolvimento de IA pode exigir conhecimento especializado. No ecossistema Intel existe um desafio adicional.

Tecnologias como Intel NPU, Intel Arc, oneAPI, Level Zero e OpenVINO ainda são menos conhecidas por uma parcela significativa dos desenvolvedores quando comparadas às stacks tradicionais de GPU.

E possuir uma NPU dentro do processador não significa automaticamente conseguir utilizá-la. Entre a aplicação e o silício existem várias camadas. De forma simplificada:

Uma falha em qualquer uma dessas camadas pode fazer com que um acelerador fisicamente presente na máquina simplesmente desapareça para a aplicação.

Foi exatamente um problema desse tipo que encontrei durante o trabalho realizado com a Intel NPU.

Quando o hardware existe, mas a aplicação não consegue utilizá-lo

Durante os testes do linux-npu-driver 1.35.0, percebi uma situação particularmente preocupante. O hardware estava presente. O firmware estava carregado. O driver de kernel estava funcionando.

Mesmo assim, o OpenVINO não conseguia disponibilizar a NPU.

Em determinados cenários, o problema era ainda mais grave: processos que dependiam da inicialização da NPU terminavam completamente com um SIGABRT.

Ou seja, não era simplesmente uma redução de desempenho ou a execução automática da carga na CPU. O processo poderia literalmente sofrer um crash durante a inicialização do Level Zero. A investigação levou a uma thread interna do driver chamada ResourceCleaner.

O código utilizava:

std::chrono::steady_clock::time_point::max()

como deadline para:

std::condition_variable::wait_until()

A intenção era representar uma espera infinita.

O problema é que determinadas implementações da libstdc++ realizam internamente conversões entre relógios ao processar o deadline recebido por wait_until(). Como time_point::max() já está próximo do maior valor suportado pelo inteiro utilizado internamente para representar o tempo, a operação de conversão poderia provocar um signed integer overflow. Em ambientes onde esse overflow era detectado pelo runtime do GCC, a execução chegava ao helper __addvdi3, que executava um abort().

O resultado final era um: SIGABRT

e o encerramento completo do processo.

Corrigindo o driver da NPU

A solução foi mudar a lógica utilizada pelo ResourceCleaner. Uma espera realmente infinita não precisa ser representada artificialmente por uma data extremamente distante. Quando nenhum timeout está configurado, a solução adequada é utilizar simplesmente:

cv.wait(lock);

Quando existe efetivamente um prazo para a operação de limpeza, permanece:

cv.wait_until(lock, timeout);

A correção também passou a proteger as atualizações da variável idleTimeout utilizando o mutex já existente no mecanismo de limpeza, evitando acesso concorrente entre setIdleTimeout() e a thread executada em background.

A alteração foi desenvolvida e submetida como contribuição upstream diretamente ao repositório oficial intel/linux-npu-driver, no Pull Request #142.

Essa contribuição representa algo importante para o projeto MultiCortex. Não estamos simplesmente instalando pacotes desenvolvidos por terceiros dentro de uma imagem Linux.

Estamos trabalhando, testando e entendendo a stack em profundidade suficiente para chegar até a camada que controla o acelerador e contribuir com sua correção.

É também mais uma contribuição Open Source brasileira chegando à infraestrutura utilizada para Inteligência Artificial.

De cinco falhas para seis testes concluídos

O problema foi reproduzido utilizando o linux-npu-driver 1.35.0 em uma Intel NPU40xx.

O teste utilizado foi:

npu-umd-test --ze-init-test -c none

Antes da alteração, apenas 1 dos 6 testes era concluído corretamente. Os outros cinco processos falhavam com:

status: 134

correspondente ao SIGABRT.

Após a aplicação da correção:

[ PASSED ] 6 tests.

Todos os seis testes foram concluídos.

Mais importante do que o teste isolado foi verificar o comportamento da stack completa.

Com Python e OpenVINO:

import openvino as ov
core = ov.Core()
print(core.available_devices)

o resultado passou a ser:

['CPU', 'NPU']

confirmando que a NPU estava novamente disponível para aplicações de Inteligência Artificial.

Esse caso ilustra exatamente por que simplesmente entregar uma lista de pacotes instalados não é suficiente para construir uma plataforma de IA.

A stack precisa ser testada do hardware até a aplicação.

É nesse ponto que entra o MultiCortex AI Intel Accelerated

O MultiCortex AI Intel Accelerated foi desenvolvido para reduzir justamente essa distância entre possuir um computador com aceleradores Intel e efetivamente conseguir utilizá-los para desenvolver Inteligência Artificial.

A imagem Linux reúne uma stack previamente preparada com componentes como:

  • Intel oneAPI, como ecossistema de desenvolvimento;
  • Level Zero, fornecendo acesso de baixo nível aos dispositivos;
  • OpenVINO, para inferência e otimização de modelos;
  • drivers e runtime para Intel Arc GPU;
  • driver e runtime para Intel NPU;
  • suporte à utilização da CPU como parte da mesma arquitetura heterogênea.

Esses componentes já fazem parte da proposta apresentada pela plataforma MultiCortex, reduzindo as etapas necessárias antes que um desenvolvedor consiga efetivamente executar seu primeiro workload.

Em vez de começar o projeto procurando documentação, adicionando repositórios, resolvendo dependências, compilando componentes e diagnosticando incompatibilidades entre drivers e runtimes, o desenvolvedor pode começar pelo que realmente importa:

a aplicação de Inteligência Artificial.

CPU + GPU + NPU

Um dos conceitos centrais do MultiCortex AI Intel Accelerated é a computação heterogênea.

Nem toda carga deve necessariamente ser executada no acelerador mais poderoso.

Cada dispositivo possui características diferentes.

A CPU continua sendo extremamente importante para controle da aplicação, pré e pós-processamento, modelos e operações gerais.

A GPU Intel Arc oferece grande paralelismo e capacidade computacional para cargas intensivas.

A NPU adiciona um acelerador especializado para redes neurais, criado principalmente para executar cargas de IA com grande eficiência energética.

Com ferramentas como o OpenVINO, uma aplicação pode selecionar dispositivos diferentes ou construir pipelines capazes de aproveitar essa diversidade de recursos.

Isso transforma o computador moderno em algo diferente do modelo tradicional em que praticamente todo o processamento era concentrado na CPU.

Passamos a ter diversos motores computacionais disponíveis dentro de uma mesma máquina.

CPU + GPU + NPU.

E o MultiCortex AI Intel Accelerated foi construído justamente para tornar essa computação heterogênea visível, utilizável e mensurável. A demonstração pública da plataforma mostra CPU, NPU e Intel Arc GPU sendo utilizadas simultaneamente.

OpenVINO como ponto de integração

Uma das tecnologias centrais dessa estratégia é o OpenVINO.

O OpenVINO permite desenvolver e executar aplicações de inferência em diferentes dispositivos, criando uma camada de abstração entre os modelos de Inteligência Artificial e os aceleradores disponíveis.

A geração OpenVINO 2026 ampliou ainda mais essa estratégia.

A documentação oficial da versão 2026.3 apresenta suporte a novos modelos executando em CPU, GPU e NPU, além da expansão de modelos como YOLO26 para GPU e NPU e novas integrações para aplicações de IA generativa.

O MultiCortex AI Intel Accelerated utiliza essa capacidade como uma das bases para permitir que desenvolvedores experimentem inferência, visão computacional, processamento de linguagem natural, modelos generativos e outros workloads aproveitando o hardware disponível localmente.

IA na borda

Existe ainda uma consequência importante dessa evolução.

Quanto mais capacidade computacional existe localmente, menos determinadas aplicações precisam depender exclusivamente do datacenter.

Processamento de imagens, reconhecimento de voz, biometria, análise de dados, modelos de linguagem e diferentes mecanismos de predição podem começar a ser executados diretamente no equipamento do usuário.

Isso traz vantagens importantes para aplicações que exigem:

baixa latência, privacidade, funcionamento offline, eficiência energética e soberania sobre os dados.

A NPU tem um papel particularmente interessante nesse cenário.

Ela é um recurso que já está fisicamente presente em uma nova geração de computadores, mas que ainda permanece subutilizado por muitas aplicações.

O desafio agora é permitir que mais desenvolvedores aprendam a utilizá-la.

Reduzindo a barreira de entrada

É exatamente aí que considero estar a principal contribuição do MultiCortex AI Intel Accelerated.

O objetivo não é simplesmente criar mais uma distribuição Linux.

É criar uma plataforma de experimentação e desenvolvimento capaz de reduzir uma das maiores barreiras da computação heterogênea:

a preparação do ambiente.

Um desenvolvedor que deseja estudar Intel NPU não deveria precisar passar dias tentando entender por que o dispositivo não aparece no framework.

Uma empresa que deseja validar um caso de uso com Intel Arc não deveria começar seu projeto de IA diagnosticando versões incompatíveis de drivers.

Uma equipe de inovação interessada em CPU + GPU + NPU deveria poder começar experimentando sua arquitetura, e não montando toda a infraestrutura necessária para chegar até ela.

Por isso, o conceito do MultiCortex AI Intel Accelerated pode ser resumido em uma frase:

Do hardware Intel à aplicação de IA, sem perder tempo preparando o ambiente.

Mais do que consumir tecnologia

Minha experiência trabalhando com OpenVINO e com o driver Intel NPU também reforçou uma convicção que tenho há muitos anos dentro do Open Source.

Não devemos ser apenas consumidores de tecnologia.

Precisamos aprender como ela funciona.

Precisamos empacotar.

Testar.

Encontrar problemas.

Investigar.

Corrigir.

E, sempre que possível, devolver essas melhorias para o projeto original.

A correção desenvolvida para o ResourceCleaner do Intel Linux NPU Driver é um exemplo concreto dessa filosofia.

E o conhecimento adquirido nesse processo retorna diretamente para o desenvolvimento do MultiCortex AI Intel Accelerated.

Isso significa que a plataforma não nasce apenas da integração de componentes.

Ela nasce da experiência prática de fazer CPU, GPU, NPU, Level Zero, oneAPI, drivers e OpenVINO funcionarem juntos em um ambiente Linux real.

O computador já possui um acelerador de IA. Precisamos começar a utilizá-lo.

Estamos entrando em uma nova fase da computação pessoal.

A Inteligência Artificial não estará apenas na nuvem.

Ela estará no próprio equipamento.

CPU, GPU e NPU formarão uma plataforma heterogênea capaz de executar uma parte cada vez maior dos workloads de Inteligência Artificial localmente.

O hardware está chegando.

Agora precisamos entregar aos desenvolvedores as ferramentas para utilizá-lo.

Esse é o propósito do MultiCortex AI Intel Accelerated:

transformar o hardware Intel disponível no computador em uma plataforma Linux completa, integrada e pronta para desenvolvimento e execução de Inteligência Artificial desde o primeiro boot.

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.