Intel Innovator brasileiro impulsiona IA local em PCs com Intel viabilizando suporte à NPU no openSUSE Linux


São Paulo, janeiro de 2026 A comunidade openSUSE deu um passo decisivo para consolidar o conceito de AI PC no ecossistema Linux com o lançamento oficial de um driver em formato RPM que habilita o uso da Unidade de Processamento Neural (NPU) presente nos processadores Intel Core Ultra. A novidade permite que notebooks e desktops executem cargas de trabalho de inteligência artificial de forma local, eficiente e energeticamente otimizada, diretamente no sistema operacional.

O pacote, batizado de linux-npu-driver, foi desenvolvido e empacotado no âmbito da iniciativa openSUSE for Innovators, passando a integrar oficialmente as distribuições openSUSE Tumbleweed, Slowroll e Leap. Com isso, o Linux passa a oferecer suporte prático a um dos pilares centrais da nova geração de PCs com IA: a aceleração dedicada por hardware.

A NPU é um acelerador especializado integrado aos processadores Intel Core Ultra, projetado para executar inferência de redes neurais com altíssima eficiência energética. Atuando de forma complementar à CPU e à GPU integrada, ela possibilita o offloading inteligente de tarefas de IA, reduzindo consumo de energia, impacto térmico e latência características especialmente relevantes em notebooks e cenários de uso contínuo.

“Os PCs com Intel Core Ultra foram concebidos desde o início para executar cargas de trabalho de inteligência artificial de forma local, eficiente e persistente”, explica Yuri Daglian, engenheiro de aplicações da Intel. “A disponibilização oficial do driver da NPU no openSUSE conecta definitivamente o hardware ao software e fortalece o ecossistema de AI PC no Linux, abrindo espaço para aplicações de IA generativa, visão computacional e modelos de linguagem rodando diretamente no dispositivo do usuário.”

Na prática, o suporte à NPU permite acelerar inferência de modelos ONNX, pipelines de visão computacional, modelos quantizados e fluxos híbridos que combinam CPU, GPU e NPU. Para o usuário final, isso significa que o sistema operacional passa a reconhecer e explorar plenamente os recursos de IA já presentes no hardware — algo que até então permanecia inacessível no Linux.

Entretanto, o uso efetivo da NPU depende também de software compatível. Atualmente, o principal caminho é o OpenVINO, toolkit de código aberto da Intel voltado à otimização e implantação de modelos de IA, que precisa ser compilado com o backend específico da NPU habilitado.

“O driver é a base de tudo. Sem ele, a NPU simplesmente não existe para o sistema operacional”, afirma Alessandro Faria, cofundador da Multicortex, embaixador do openSUSE Linux e parceiro do programa Intel Innovator, responsável pelo empacotamento do linux-npu-driver. “Como comunidade de código aberto, temos a responsabilidade de democratizar tecnologias emergentes e reduzir barreiras de acesso. Garantir que o openSUSE acompanhe a revolução da IA executada localmente faz parte desse compromisso.”

Além do driver da NPU, o próprio OpenVINO passou a estar disponível nativamente no openSUSE, resultado de um trabalho pioneiro de compatibilização entre as políticas técnicas da Intel e os padrões da distribuição. Segundo Alessandro, o processo envolveu ajustes profundos no fluxo de compilação, dependências e no modelo de instalação, viabilizando uma integração limpa e suportada oficialmente.

“O OpenVINO simplesmente não rodava no openSUSE. Primeiro foi preciso torná-lo compatível; depois, adaptar o processo de instalação para que ele funcionasse de forma nativa”, explica. “Esse é um esforço colaborativo, construído com código aberto, que não beneficia apenas o openSUSE, mas serve de referência para todo o ecossistema Linux.”

Lançado em 2018, o OpenVINO já é utilizado por centenas de milhares de desenvolvedores ao redor do mundo para acelerar inferência de IA da borda ao data center. O toolkit oferece otimização automática de hardware, recursos avançados de quantização e compressão de modelos, suporte a modelos generativos e LLMs, além de integração com tecnologias como oneAPI, oneDNN e oneTBB.

Com a infraestrutura básica agora disponível no openSUSE, a expectativa da comunidade é que cada vez mais aplicações passem a oferecer suporte nativo à NPU da Intel, consolidando a execução de inteligência artificial local, eficiente e segura diretamente no PC do usuário um dos fundamentos centrais da nova geração de AI PCs com Intel Core Ultra.

Publicação original: https://newsroom.intel.com/pt/client-computing/opensuse-passa-suportar-npu-intel-viabiliza-ia-em-pcs-com-core-ultra

Compute Capability: O “detalhe” de build CUDA que pode evitar até ≈ +3300% de prejuízo em performance.

Em projetos de IA, é comum a equipe de TI usar uma GPU “padrão de homologação” na nuvem (por exemplo, NVIDIA T4 no ambiente de teste) para compilar, testar e validar o pipeline. O problema aparece quando esse mesmo binário é executado em GPUs mais novas no ambiente produtivo e o desempenho fica absurdamente abaixo do que o hardware poderia entregar (e ninguém percebe por diversos fatores).

O motivo costuma ser simples: o binário foi compilado mirando a Compute Capability errada.

A Compute Capability (CC) é o identificador (X.Y) que representa o conjunto de recursos e instruções suportados por uma geração de GPUs NVIDIA. Na tabela oficial da NVIDIA, por exemplo, a T4 é CC 7.5 e a RTX 4060 Ti é CC 8.9. A seguir, vamos entender o porquê isso importa tanto e usar o seu exemplo real para mostrar o impacto: 4,30 ms vs 0,13 ms um ganho de ~33× (≈ +3208%, frequentemente arredondado como “3300%”). https://developer.nvidia.com/cuda/gpus

O que é Compute Capability e por que ela manda no desempenho

Compute Capability não é “marketing” é um contrato técnico entre o seu código e a microarquitetura da GPU. Ela define:

  • Quais instruções existem (ISA/SASS disponível naquele SM)
  • Quais otimizações o compilador pode aplicar
  • Quais recursos de hardware podem ser usados (ex.: instruções especializadas, caminhos de memória, operações assíncronas, etc.)
  • Qual PTX (código intermediário) pode ser gerado sem “assumir” features que não existem na GPU-alvo

A NVIDIA lista CC por GPU e deixa explícito que diferentes modelos mapeiam para CC diferentes (T4=7.5; RTX 4060 Ti=8.9). Em termos práticos: compilar para CC antiga em uma GPU nova pode “capar” o compilador, porque ele precisa gerar um código que usa features garantidas naquela CC antiga.

O nvcc normalmente gera:

  • PTX (intermediário, “assembly virtual”)
  • CUBIN/SASS (binário nativo para um SM específico, ex.: sm_75, sm_89)
  • Tudo isso pode ser empacotado num fatbinary dentro do executável

Na documentação do nvcc, a NVIDIA explica que o executável carrega imagens de código e, em tempo de execução, o runtime/driver escolhe a imagem mais apropriada para a GPU presente.

E aqui mora o ponto-chave:

  • Se você inclui SASS nativo para a GPU (sm_89 na 4060 Ti), ela roda direto com o melhor código possível.
  • Se você não inclui SASS para aquela GPU, mas inclui PTX, o driver pode fazer JIT (compilar na hora) porém limitado ao PTX e às features assumidas naquele PTX.
  • Se você inclui apenas código para uma GPU mais antiga e/ou PTX “antigo”, você pode até rodar, mas deixa performance na mesa.

O artigo técnico da NASA sobre compilação CUDA resume bem o modelo em 2 estágios (PTX → CUBIN) e descreve o papel de compute_XY vs sm_XY, além do JIT e do fatbinary como estratégia de portabilidade. Este texto da NASA foi inspiração deste post: https://www.nas.nasa.gov/hecc/support/kb/compiling-cuda-applications-for-different-generations-of-nvidia-gpus-at-nas_700.html

O caso real: time compila no ambiente de homologação T4 (CC 7.5) e executa na RTX 4060 Ti (CC 8.9)

Compilação “errada” (mirando T4 / compute_75)

Um equipe compila na instância com T4 (muito usada em homologação e testes) com:

$ nvcc matmul.cu -o matmul_wrong -arch=compute_75 -gencode arch=compute_75,code=sm_75

Executando esse binário numa RTX 4060 Ti (CC 8.9), o resultado medido foi:

$ ./matmul_wrong
Tempo de execução: 4.30 ms

Compilação “certa” (mirando a GPU real do alvo / compute_89)

Agora compilando especificamente para a RTX 4060 Ti:

$ nvcc matmul.cu -o matmul_right -arch=compute_89 -gencode arch=compute_89,code=sm_89

Resultado:

$ ./matmul_right
Tempo de execução: 0.13 ms

O “ganho de 3300%” (matemática do impacto)

  • Speedup (vezes mais rápido): 4,30 / 0,13 ≈ 33,08×
  • “% mais rápido” (comparando contra o tempo menor): (4,30 − 0,13) / 0,13 × 100 ≈ 3207,7%
  • Redução do tempo: (4,30 − 0,13) / 4,30 × 100 ≈ 97,0%

Ou seja: chamar isso de “~3300%” é um arredondamento comum o número exato pelo seu benchmark dá ~3208%.

Por que a Compute Capability errada pode causar um abismo desses?

Mesmo que o código-fonte CUDA seja igual, o código gerado pode mudar drasticamente quando você troca o alvo (sm_75sm_89), porque:

  1. Instruções e agendamentos diferentes
    • O backend (ptxas) gera SASS específico por arquitetura. Mirar sm_89 permite escolher instruções, latências e scheduling adequados ao hardware.
  2. Limitação por “conjunto mínimo de features”
    • Quando você gera PTX assumindo compute_75, você está dizendo ao compilador: “use apenas o que é garantido em CC 7.5”.
    • Mesmo rodando numa GPU CC 8.9, o caminho pode ficar preso a decisões conservadoras (ou depender mais de JIT).
  3. JIT não é “milagre”: ele compila o que você deu
    • Se você entrega PTX antigo, o driver compila, mas não inventa features que o PTX/arquitetura-alvo não permitiram assumir. A própria doc do nvcc descreve que PTX pode ser embutido e compilado dinamicamente quando não há binário nativo adequado.

Homologação na nuvem ≠ alvo final

  • No exemplo, a T4 (CC 7.5) é ótima para CI e testes, mas não pode ditar o “target único” se você entrega para desktops Ada (CC 8.9) e isso vale muito em pipelines de IA (inferencia, kernels custom, extensões CUDA, etc.).

A melhor prática para times: compile uma vez e rode bem em T4 e em 4060 Ti

Em vez de escolher “T4 ou 4060 Ti”, faça o executável carregar ambos:

  • SASS nativo para T4 (sm_75) → sem JIT, ótimo no ambiente de teste/homologação
  • SASS nativo para 4060 Ti (sm_89) → máximo desempenho no desktop
  • PTX para forward-compat (opcional, mas recomendado quando você não controla todos os alvos)

A própria documentação do nvcc mostra como --generate-code/-gencode permite repetir arquiteturas e também como incluir PTX (usando code=compute_XX) para JIT quando não existir SASS correspondente.

Exemplo de “fat binary” bem pragmático para seu cenário:

$ nvcc matmul.cu -o matmul_fat \
--generate-code arch=compute_75,code=sm_75 \
--generate-code arch=compute_89,code=sm_89 \
--generate-code arch=compute_89,code=compute_89

Assim:

  • Na T4, ele usa sm_75.
  • Na RTX 4060 Ti, ele usa sm_89.
  • Em GPUs futuras (acima de 8.9), se não houver SASS exato, ainda há PTX 8.9 para o driver compilar via JIT.

Benchmark honesto: duas dicas rápidas para não “se enganar”

Seu micro benchmark já é excelente para ilustrar o ponto, mas em artigo eu sempre recomendo mencionar:

  • Warm-up: rode o kernel algumas vezes antes de medir (evita pegar JIT/cache/boost “frio”).
  • Várias iterações: meça média/mediana de N execuções (evita ruído de clock/boost).

Isso não muda a mensagem principal (CC correta importa), mas dá credibilidade técnica.

O código do exemplo (para referência no artigo)

Abaixo está o kernel e a medição por cudaEvent exatamente como você forneceu (um microbenchmark simples para evidenciar diferenças de codegen/arquitetura):

#include <stdio.h>
#include <cuda.h>

__global__ void matmul_kernel(float *A, float *B, float *C, int N) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;

if (idx < N) {
float sum = 0.0f;
for (int i = 0; i < N; i++) {
sum += A[idx * N + i] * B[i * N + idx];
}
C[idx] = sum;
}
}

int main() {
const int N = 1024;
const int size = N * N * sizeof(float);

float *hA = (float*)malloc(size);
float *hB = (float*)malloc(size);
float *hC = (float*)malloc(N * sizeof(float));

for(int i = 0; i < N*N; i++){
hA[i] = 1.0f;
hB[i] = 1.0f;
}

float *dA, *dB, *dC;
cudaMalloc(&dA, size);
cudaMalloc(&dB, size);
cudaMalloc(&dC, N * sizeof(float));

cudaMemcpy(dA, hA, size, cudaMemcpyHostToDevice);
cudaMemcpy(dB, hB, size, cudaMemcpyHostToDevice);

dim3 block(256);
dim3 grid((N + block.x - 1) / block.x);

// Medição
cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);

cudaEventRecord(start);
matmul_kernel<<<grid, block>>>(dA, dB, dC, N);
cudaEventRecord(stop);

cudaDeviceSynchronize();

float ms = 0.0f;
cudaEventElapsedTime(&ms, start, stop);

printf("Tempo de execução: %.2f ms\n", ms);

cudaMemcpy(hC, dC, N * sizeof(float), cudaMemcpyDeviceToHost);

cudaFree(dA); cudaFree(dB); cudaFree(dC);
free(hA); free(hB); free(hC);

return 0;
}

Fechando: a regra de ouro

Se o seu time como no exemplo aqui, compila em T4 (CC 7.5) para homologação, mas o alvo também inclui Ada (CC 8.9), não escolha um único target.

  • Compute Capability certa = performance “de graça”
  • Compute Capability errada = gargalo invisível que pode custar ordens de grandeza (como seus 33×)

E o melhor: corrigir isso geralmente é só ajustar flags de build e de quebra você padroniza uma entrega que roda bem em cloud e local.

Checklist final para o time de TI (cloud + desktop)

  • Não compile “só para a GPU da de testes” se o binário roda fora dela
  • Gere fat binary com -gencode para todos os alvos relevantes
  • Inclua PTX (ex.: code=compute_XX) quando você não controla 100% dos alvos
  • Padronize isso no CMake/CI (não deixe o dev “lembrar” na mão)
  • Documente o CC alvo por ambiente (homologação, dev, produção)

Conclusão

Compute Capability não é detalhe: é uma decisão de engenharia de build que pode te entregar performance “de graça” ou te fazer carregar um gargalo invisível por meses.


Qwen3-TTS: TTS open source com streaming de baixa latência e controle de voz.

A equipe Qwen (Alibaba Cloud) liberou o Qwen3-TTS, uma suíte multilíngue e open source de text-to-speech focada em três frentes que, na prática, costumam exigir pipelines separados: TTS de alta qualidade, clonagem de voz (com poucos segundos de referência) e “design” de voz guiado por descrição em linguagem natural. A proposta aqui é clara: oferecer uma pilha única, pronta para produção de voice agents, dublagem, narração e interfaces conversacionais com streaming em tempo real e controle detalhado de estilo

O que muda na prática: “primeiro pacote” rápido e voz controlável

O destaque do Qwen3-TTS é o foco explícito em latência percebida. No relatório técnico, o time descreve o objetivo de emitir áudio rapidamente (o famoso first-packet latency), citando valores na casa de ~97 ms para a variante menor e ~101 ms para a maior, em configuração de referência. Isso é o tipo de número que muda a experiência de um assistente de voz: em vez de “pensar em silêncio”, o sistema começa a falar quase imediatamente e vai completando o restante conforme gera. https://arxiv.org/pdf/2601.15621v1

Ao mesmo tempo, o Qwen3-TTS foi desenhado para ser controlável por instruções (estilo “ChatML/Chat-like”), permitindo guiar emoção, ritmo, entonação e timbre com prompts. Isso vale tanto para vozes predefinidas quanto para vozes clonadas — e também para o modo “VoiceDesign”, em que você descreve a voz (“nervoso, adolescente, entonação ascendente…”) e o modelo tenta materializar essa identidade sonora.

Família de modelos: Base, CustomVoice e VoiceDesign

A suíte é organizada em variantes com objetivos bem definidos:

  • Base (0.6B e 1.7B): o “coringa” para TTS e clonagem de voz, onde você fornece um áudio de referência (e opcionalmente a transcrição) para imitar o falante.

CustomVoice (0.6B e 1.7B): modelos com vozes/timbres curados e “prontos” para usar via prompt, ideais para prototipar produtos com consistência de personagem sem precisar gravar dataset próprio.

VoiceDesign (1.7B): criação de voz “do zero” a partir de descrições em linguagem natural, útil para gerar personas novas (e, em seguida, reutilizá-las). Um ponto importante para quem publica conteúdo ou atende público global: o Qwen3-TTS cobre 10 idiomas, incluindo Português (além de chinês, inglês, japonês, coreano, alemão, francês, russo, espanhol e italiano).

O “segredo” do streaming: tokenizer de fala e arquitetura dual-track

Grande parte da mágica vem do tokenizer de fala (codec) e do desenho do modelo. O artigo e o relatório descrevem um tokenizer em 12,5 frames/s (chamado “12Hz”), com múltiplos codebooks para separar conteúdo semântico de detalhes acústicos viabilizando compressão agressiva sem “matar” naturalidade. A arquitetura do modelo é descrita como dual-track, permitindo que, a cada avanço do texto, já haja previsão de tokens acústicos e decodificação incremental do áudio.

No relatório técnico, o time também menciona a existência de dois tokenizers (12Hz e 25Hz), com trade-offs diferentes (o 12Hz mirando ultra-low latency). E, no repositório oficial, eles deixam claro que nem tudo do relatório está liberado ainda: alguns modelos citados no paper devem ser disponibilizados depois, enquanto a série pública atual gira em torno do tokenizer 12Hz e modelos 0.6B/1.7B. https://github.com/QwenLM/Qwen3-TTS

Benchmarks: clonagem zero-shot e qualidade multilíngue

Os resultados apresentados enfatizam dois eixos: inteligibilidade (ex.: WER em cenários de clonagem) e similaridade de falante (o quão parecido fica com a voz-alvo). No texto de divulgação, a equipe destaca desempenho forte em clonagem zero-shot e bons resultados multilíngues, inclusive em testes cruzados (um falante “mantendo identidade” ao falar outro idioma).

Licença e por que isso importa

Um detalhe que vale ouro para quem cria produto: a equipe afirma que está liberando modelos e tokenizers sob licença Apache 2.0, o que costuma facilitar adoção comercial (sempre com a devida revisão jurídica do seu caso).

Mão na massa: como experimentar rápido

O repositório oficial indica um caminho bem direto: instalar o pacote qwen-tts via PyPI e carregar os modelos por ID do Hugging Face, com exemplos tanto para VoiceDesign quanto para Voice Clone. Eles também mostram como reusar um “prompt de clonagem” para evitar recomputar características do falante quando você vai gerar várias falas na mesma voz (ótimo para reduzir custo/latência).

Dica prática: se a sua meta é real-time voice agent, olhe primeiro para a combinação modelo + streaming + reuso de prompt de clonagem é aí que normalmente se ganha responsividade sem sacrificar tanto a qualidade.

Cuidados e uso responsável

Sempre que falamos de clonagem e design de voz, vale reforçar: use com consentimento, sinalize quando uma voz for sintetizada (quando aplicável) e evite cenários que possam facilitar fraude/impersonação. Modelos bons tornam isso mais importante, não menos.

Fonte: https://www.marktechpost.com/2026/01/22/qwen-researchers-release-qwen3-tts-an-open-multilingual-tts-suite-with-real-time-latency-and-fine-grained-voice-control/

OpenCV 4.13.0: desempenho, robustez e maturidade em produção

No último dia de dezembro de 2025 foi lançada a versão 4.13.0 do OpenCV, a biblioteca de visão computacional mais utilizada no mundo. Diferente de versões focadas apenas em novos recursos pontuais, o OpenCV 4.13.0 se destaca por consolidar desempenho, estabilidade e suporte a arquiteturas modernas, tornando-se uma atualização especialmente relevante para ambientes de produção, IA embarcada e pipelines de alto desempenho.

Robustez e confiabilidade

Um dos pontos mais fortes do OpenCV 4.13.0 é a grande quantidade de correções críticas. A biblioteca recebeu melhorias importantes relacionadas a:

  • Correções de memory leaks, heap-buffer-overflow e acessos fora dos limites.
  • Tratamento mais seguro de entradas inválidas ou degeneradas.
  • Maior estabilidade numérica em funções sensíveis como calibração de câmera, PnP, solveCubic, minAreaRect e algoritmos geométricos.

Esse conjunto de ajustes reduz drasticamente riscos de falhas em sistemas que operam continuamente, como aplicações industriais, automação, robótica e visão computacional em tempo real.

Ganhos reais de desempenho multiplataforma

A versão 4.13.0 traz otimizações profundas voltadas a diferentes arquiteturas modernas:

  • x86 (AVX512)
  • ARM (NEON, SVE, Windows ARM64)
  • RISC-V (RVV)
  • IBM POWER9

Essas otimizações impactam diretamente operações fundamentais como filtros (Gaussian Blur, bilateral), gradientes (Sobel, Scharr), Canny, operações morfológicas e kernels usados em DNN.
Além disso, melhorias no HAL e no backend IPP reduzem gargalos em cenários multi-thread e de alto throughput.

Na prática, isso significa mais FPS, menor latência e melhor aproveitamento de hardware, sem mudanças no código da aplicação.

Evolução consistente em algoritmos clássicos de visão

O OpenCV 4.13.0 também avança na qualidade dos algoritmos tradicionais:

  • Novo Iterative Phase Correlation, ampliando precisão em alinhamento de imagens.
  • Melhorias significativas em convexHull, minEnclosingCircle, approxPolyDP e geometria computacional.
  • Correções em Hough Lines, connected components e desenho de contornos.
  • Optical Flow e ECC mais flexíveis, com suporte multicanal e máscaras opcionais.

Essas melhorias são especialmente importantes para aplicações que dependem de precisão geométrica, como metrologia, inspeção visual, visão estéreo e mapeamento.

DNN mais estável, rápido e compatível

O módulo DNN recebeu atenção especial:

  • Suporte ampliado a ONNX e TFLite, incluindo novas camadas.
  • Correções no parsing de convoluções e flags de otimização.
  • Otimizações de GEMM e softmax, com intrínsecos específicos para ARM.
  • Correções de falhas críticas que poderiam causar crashes em redes complexas.

Isso torna o OpenCV ainda mais confiável como engine de inferência leve, especialmente em ambientes edge e embarcados.

VideoIO e codecs mais modernos

Outro destaque é a evolução no suporte a vídeo e câmeras:

  • Melhor integração com aceleração por hardware (incluindo HEVC em Raspberry Pi 4 e 5).
  • Avanços no suporte a câmeras industriais (Orbbec, Aravis).
  • Correções importantes em seek, escrita de vídeo e uso de codecs por hardware.

Essas melhorias são essenciais para quem trabalha com captura de vídeo em tempo real, visão embarcada e sistemas de aquisição contínua.

Imgcodecs mais completos e seguros

O módulo de codecs evoluiu significativamente:

  • Suporte avançado a metadados (ICCP, XMP, cICP) em JPEG, PNG, WebP e AVIF.
  • OpenEXR com leitura e escrita multiespectral.
  • Maior tolerância a imagens muito grandes (acima de 1 GiB).
  • Diversas correções encontradas por fuzzing, reforçando a segurança contra arquivos malformados.

Isso amplia o uso do OpenCV em pipelines profissionais de imagem, fotografia computacional e processamento científico.

Bindings mais maduros (Python, Java e JavaScript)

A versão 4.13.0 também melhora bastante a experiência para desenvolvedores:

  • Python: suporte a DLPack, tipagem mais precisa, menos vazamentos de memória.
  • JavaScript/WASM: melhor performance, deep copy correto e APIs mais consistentes.
  • Java: wrappers mais modernos e opções de gerenciamento de ciclo de vida.

Essas melhorias tornam o OpenCV mais integrado a pipelines modernos de IA, web e ciência de dados.

Build, CUDA e futuro

Por fim, o OpenCV 4.13.0 olha claramente para o futuro:

  • Suporte a CUDA 13.0.
  • Compatibilidade com Visual Studio 2026.
  • Builds reprodutíveis.
  • Integração do KleidiCV 0.7 por padrão em Linux e macOS.
  • Melhor compatibilidade com toolchains novos e antigos.

Conclusão

O OpenCV 4.13.0 não é apenas uma atualização incremental. Ele representa uma versão madura, estável e altamente otimizada, pronta para:

  • Ambientes industriais
  • IA embarcada e edge computing
  • Pipelines de visão computacional em larga escala
  • Aplicações críticas em tempo real

Se você utiliza OpenCV em produção, esta versão é altamente recomendada — não apenas pelos novos recursos, mas principalmente pela qualidade, performance e confiabilidade que ela entrega.

Mais detalhes deste release e informações aqui: https://github.com/opencv/opencv/wiki/OpenCV-Change-Logs#version4130

Abaixo a lista de contribuidores deste release, parabéns a todos os envolvidos.

0AnshuAditya0, Aakash Preetam, Abhishek Gola, Abhishek Shinde, Aditya Jha, Adrian Kretz, AdwaithBatchu, Akash Arunkumar, Alessandro de Oliveira Faria (A.K.A.CABELO), Alex, Alexander Alekhin, Alexander Smorkalov, Anastasiya Pronina, Andrei Tamas, Ansh Swaroop, Anshu, Arsenii Rzhevskii, Atri Bhattacharya, Benjamin Buch, Brian Ferri, ClaudioMartino, cudawarped, D00E, Dave Merchant, Dheeraj Alamuri, Dimitre, Dmitry Kurtaev, Dmytro Dadyka, eplankin, Ghazi-raad, happy-capybara-man, harunresit, inventshah, kallaballa, Karnav Shah, Kumataro, Madan mohan Manokar, Maxim Smols kiy, Pierre Chatelier, pratham-mcw, raimbekovm, ramukhsuya, Samaresh Kumar Singh, satyam yadav, Stefania Hergane, Suleyman TURKMEN, utibenkei, Vadim Levin, Vincent Rabaud, and Yuantao Feng

librePods: liberte seu AirPods em 2026.

Relembrando os tempos dourados, deixo aqui no Viva O Linux, Um artigo onde veremos como libertar o seu AirPods para utilizá-lo na plataforma Linux com todos os recursos diferenciados deste hardware.

Quando você conecta um AirPods a um desktop Linux, normalmente ele funciona como “um fone Bluetooth qualquer”: áudio ok, mas boa parte dos recursos premium (ANC/Transparency, detecção de ouvido, bateria confiável, ajustes finos, etc.) fica presa ao ecossistema Apple. O LibrePods nasceu justamente para “libertar” esses recursos.

O que é o LibrePods

LibrePods é um projeto open source que desbloqueia recursos avançados dos AirPods em dispositivos não-Apple, trazendo de volta modos de ruído, transparência/adaptive, detecção de ouvido, status de bateria, modo “hearing aid”, personalizações e mais recursos que a Apple costuma expor só quando o fone “acha” que está conectado a iOS/macOS.

Para que serve (no Linux)

Na prática, no Linux ele serve como um painel/controle para o seu AirPods, com um app nativo (GUI) que expõe funções que normalmente não aparecem no stack Bluetooth padrão. O repositório mantém um app Linux dedicado e releases específicos.

Como ele funciona (visão técnica, sem magia)

O “pulo do gato” do LibrePods é que ele implementa (via engenharia reversa) partes do protocolo proprietário usado pelos AirPods para negociar recursos com dispositivos Apple. Em várias funções, a liberação depende de identificação do dispositivo host (ex.: fabricante/vendor), então o projeto também documenta mecanismos para o host “se apresentar” de forma compatível e o AirPods liberar telemetria e controles avançados. The Verge+1

Em outras palavras: não é “tweak de UI”; é protocolo + controle de estados (e, em alguns cenários, identificação do host) para acessar recursos que já existem no hardware do AirPods.

Vantagens para usuárias Linux

  • Você usa o que pagou: ANC/Transparency/Adaptive e outros controles deixam de ficar “reféns” do iPhone/iPad/Mac.
  • Status de bateria mais útil (incluindo case/earbuds, dependendo do modelo/estado do suporte).
  • Experiência mais integrada: o projeto menciona melhorias de integração (ex.: expor bateria e atalhos de controle), e existe um app Linux com funcionalidades centrais.
  • FOSS e auditável: por ser open source, dá para inspecionar/acompanhar evolução e limitar “apps caixa-preta” que só fazem polling genérico.

Observação importante de maturidade: o README do projeto sinaliza que o app Linux tem/teve uma fase “versão antiga” e que há trabalho em uma nova versão, então espere evolução rápida e possíveis arestas dependendo do seu modelo de AirPods e distro.

Requisitos no Linux

1) Hardware/stack Bluetooth

  • Adaptador Bluetooth funcional no PC (interno ou dongle).
  • BlueZ e serviços de Bluetooth ativos (padrão na maioria das distros desktop).

2) AirPods compatíveis

O projeto lista compatibilidades por modelo (alguns com suporte completo, outros parcial). Em geral, modelos mais recentes tendem a receber o “suporte cheio” primeiro.

StatusDeviceFeatures
AirPods Pro (2nd Gen)Fully supported and tested
AirPods Pro (3rd Gen)Fully supported (except heartrate monitoring)
AirPods MaxFully supported (client shows unsupported features)
⚠️Other AirPods modelsBasic features (battery status, ear detection) should work

Dependências

Devemos garantir que o sistema de gerenciamento de audio e bluethooth esteja funcionando corretamento.

Qt6 packages

# For Arch Linux / EndeavourOS
sudo pacman -S qt6-base qt6-connectivity qt6-multimedia-ffmpeg qt6-multimedia

# For Debian
sudo apt-get install qt6-base-dev qt6-declarative-dev qt6-connectivity-dev qt6-multimedia-dev \
qml6-module-qtquick-controls qml6-module-qtqml-workerscript qml6-module-qtquick-templates \
qml6-module-qtquick-window qml6-module-qtquick-layouts

# For Fedora

sudo dnf install qt6-qtbase-devel qt6-qtconnectivity-devel \
qt6-qtmultimedia-devel qt6-qtdeclarative-devel

# For openSUSE
sudo zypper install patterns-kde-devel_qt6

openSSL

# On Arch Linux / EndevaourOS, these are included in the OpenSSL package, so you might already have them installed.
sudo pacman -S openssl

# For Debian / Ubuntu
sudo apt-get install libssl-dev

# For Fedora
sudo dnf install openssl-devel

# For openSUSE
sudo zypper install openssl-devel

Libpulse e cmake

# On Arch Linux / EndevaourOS, these are included in the libpulse package, so you might already have them installed.
sudo pacman -S libpulse

# For Debian / Ubuntu
sudo apt-get install libpulse-dev

# For Fedora
sudo dnf install pulseaudio-libs-devel

# For openSUSE
sudo zypper install pulseaudio-qt-devel cmake libpulse-devel

Download, compilação e instalação.

Agora com todos requisitos instalado e cofigurado, efetue do download dos fontes com o comando git clone.

git clone https://github.com/kavishdevar/librepods

Após o download entra na pasta linux dentro da pasta librepods recém criada.

cd librepods/linux

Ao entrar na pasta, devemos criar a pasta build e os comandos cmake e make para efetuas a compilação.

mkdir build
cd build
cmake ..
make -j $(nproc)

Se tudo funcionou corretamente, teremos o binario librepods na pasta pronto para ser executado. Então basta digitar ./librepods e teremos uma tela como na figura a baixo e pronto! Boa liberdade.

Mais informações na página oficial do projeto. https://github.com/kavishdevar/librepods/

Instalando Intel NPU Driver no Linux.

Introdução

O Intel® Linux NPU Driver vem se consolidando como a base de software para explorar o potencial das NPUs embarcadas nos Intel Core Ultra (Meteor Lake, Arrow Lake, Lunar Lake e afins). A versão 1.24.0 marcou um ponto importante dessa evolução: além de atualizar firmware e componentes internos, trouxe melhorias de desempenho, estabilidade e segurança que começaram a aparecer em tutoriais e notícias da comunidade Linux. Nessa release, a Intel atualizou o Level Zero, o compilador e o firmware, além de fazer ajustes no próprio utilitário de testes da UMD, sempre mantendo a compatibilidade com o driver de kernel “intel_vpu” (que ainda carrega o nome histórico de VPU, apesar do hardware ser uma NPU).

A versão 1.26.0, lançada em 26 novembro de 2025, chega como continuidade desse trabalho, mas já com um ecossistema bem mais maduro em torno do conceito de “AI PC”. Segundo o LinuxCompatible, o 1.26.0 foi validado em várias combinações de Intel Core Ultra + Ubuntu (22.04/24.04/24.10/25.04) com kernels recentes e firmwares específicos, mantendo o alinhamento com Level Zero 1.24.2, OpenVINO 2025.3 e um compilador NPU atualizado (npu_ud_2025_44_rc1). Isso significa que, ao instalar o linux-npu-driver a partir do código-fonte ou via pacotes, você está plugando sua máquina em uma stack validada para workloads de IA eficientes em energia, pensada para executar redes neurais diretamente na NPU sem sobrecarregar CPU ou GPU.

Stack de software do Intel® NPU Driver

O repositório intel/linux-npu-driver hospeda o driver de espaço de usuário para o dispositivo Intel® NPU, um acelerador de inferência embarcado nos Intel Core Ultra. No Linux, a pilha é dividida em duas grandes camadas:

  1. Driver de kernel – o módulo intel_vpu (IVPU) já está integrado ao kernel e é responsável por expor o dispositivo como /dev/accel/accel0 (ou similar), gerenciar o firmware e integrar com a infraestrutura de DRM/accel.
  2. Stack de user-space – é o foco deste projeto: bibliotecas de user mode driver (UMD), implementações de oneAPI Level Zero para a NPU, compilador de modelos (NPU compiler) e ferramentas de validação, como o npu-umd-test.

Do ponto de vista das aplicações, você normalmente não conversa diretamente com o driver: quem faz isso é o framework de IA. Ferramentas como o OpenVINO usam o plugin “NPU” e, por baixo dos panos, dependem dessa stack para compilar o modelo (via compilador NPU) e enviar comandos ao hardware usando Level Zero. É aqui que o driver entra como peça crítica: se a combinação driver + firmware + compilador + Level Zero não estiver correta, a aplicação não enxerga a NPU ou sofre quedas de desempenho. Releases como 1.24.0 e 1.26.0 alinham todas essas versões, garantindo que quando você compilar um modelo para NPU, o binário gerado seja compatível com o firmware embarcado e com a versão do driver instalada no sistema.

Compilando e instalando o linux-npu-driver a partir do código-fonte

Abaixo está o fluxo básico para compilar e instalar o driver a partir do repositório oficial:

git clone https://github.com/intel/linux-npu-driver
cd linux-npu-driver
git submodule update --init --recursive

cmake -B build -S . \
-DENABLE_NPU_COMPILER_BUILD=ON \
-DCMAKE_CXX_FLAGS="-fcf-protection=none" \
-DCMAKE_C_FLAGS="-fcf-protection=none"

cmake --build build --parallel $(nproc)
sudo cmake --install build

Comentando passo a passo:

  1. git clone
    Baixa o código-fonte da versão atual do driver, incluindo UMD, compilador, firmware e ferramentas.
  2. git submodule update --init --recursive
    O projeto depende de vários submódulos (por exemplo, componentes como vpux_elf e partes do compilador). Esse comando garante que todo o código necessário seja trazido junto, o que é essencial para builds offline e para empacotamento em distribuições.
  3. Comando cmake -B build -S . ...
    • Cria um diretório de build fora da árvore de fontes (build).
    • Ativa a construção do compilador NPU (ENABLE_NPU_COMPILER_BUILD=ON).
    • Desabilita o -fcf-protection nas flags C/C++, o que é útil em toolchains que não reconhecem essa opção (como alguns GCC empacotados em distros específicas).
    • Nessa etapa, o CMake verifica dependências, configura caminhos, escolhe opções de compilação e gera os arquivos de projeto/Makefiles.
  4. cmake --build build --parallel $(nproc)
    Compila o projeto usando todos os núcleos disponíveis. Isso gera as bibliotecas de UMD, o compilador, os binários de teste e demais artefatos necessários.
  5. sudo cmake --install build
    Instala os artefatos gerados nos prefixos configurados (tipicamente /usr ou /usr/local), registrando as libs, o compilador e as ferramentas como npu-umd-test no sistema.

Em ambientes de produção (ou empacotamento para distro), é comum encapsular esse fluxo em um spec de RPM, .deb ou snap, como fez a Canonical no intel-npu-driver snap.

Validando o driver com o comando npu-umd-test

Depois de instalar o driver, é fundamental validar se a NPU está realmente funcional. Para isso existe a aplicação de teste do user mode driver, hoje chamada npu-umd-test (o prefixo antigo era vpu-umd-test, renomeado nas versões mais recentes do driver).GitHub+1

Nos pacotes em snap (intel-npu-driver), a Canonical documenta um fluxo bem claro que vale como referência também para instalações manuais:GitHub

Garantir permissões de acesso ao dispositivo
A NPU costuma aparecer como /dev/accel/accel0 associado ao módulo intel_vpu. Antes de rodar o teste sem ser root, o usuário precisa estar no grupo render e o nó de dispositivo precisa ter permissões adequadas:

    sudo usermod -a -G render $USER   # depois faça logout/login
    sudo chown root:render /dev/accel/accel0
    sudo chmod g+rw /dev/accel/accel0

    Ver o help e opções disponíveis

    Em instalações via snap, o binário é exposto como app do snap:

      intel-npu-driver.npu-umd-test --help

      Em uma instalação “pura” a partir do código-fonte, o binário normalmente estará em um diretório padrão de executáveis (por exemplo /usr/bin/npu-umd-test), então:

      npu-umd-test --help

      Executar a bateria de testes
      O npu-umd-test roda um conjunto de testes que exercitam o Level Zero da NPU, o compilador e o fluxo de envio de comandos ao hardware. Na própria documentação do snap, eles mostram resultados típicos como “200/209 testes passando” em diversas combinações de kernel/Ubuntu, com alguns testes marcados como “skipped” por dependências opcionais (GPU, DMA heap, métricas de uso, etc.).

      Entender o papel do npu-umd-test no seu fluxo

      • Se todos (ou quase todos) os testes passam, significa que driver de kernel, firmware, UMD, Level Zero e compilador estão conversando corretamente.
      • Se vários testes falham, é um indicativo de versão incompatível de firmware, kernel sem suporte ou configuração incorreta de permissões/dispositivos.
      • Em ambientes de empacotamento (RPM, DEB, snap, flatpak), é comum usar o npu-umd-test como smoke test automatizado de pós-instalação.

        Em resumo, o npu-umd-test é o seu “check-up” oficial da NPU: se ele está feliz, as chances de seu pipeline OpenVINO ou outro framework de IA rodar liso na NPU são muito maiores.

        DiraQ :O Linux de bolso para computação quântica

        É com grande alegria que anuncio hoje o lançamento do DiraQ, uma distribuição Linux portátil baseada no openSUSE 15.6 — projetada especialmente para experimentação, ensino e pesquisa em computação quântica. O DiraQ roda diretamente de um pendrive, sem necessidade de modificar o disco rígido da máquina.

        Por que o DiraQ existe?

        A ideia do projeto nasceu da constatação de que muitos estudantes, pesquisadores e entusiastas de computação quântica esbarram em barreiras de infraestrutura: configurar ambientes complexos, instalar bibliotecas específicas, lidar com incompatibilidades etc. O DiraQ vem como uma alternativa prática e “plug-and-play”, permitindo que você inicie um ambiente completo para experimentação quântica em qualquer computador compatível, com apenas um pendrive.

        Além disso, o DiraQ está intimamente ligado ao projeto LEONTI — o primeiro computador quântico fotônico de código aberto do Brasil atuando como seu sistema operacional oficial. Isso significa que o DiraQ vai além de ser “apenas mais uma distribuição” ele funciona como a ponte entre o hardware quântico fotônico e o mundo clássico de software.

        Principais destaques

        • Ambiente pré-configurado com bibliotecas e frameworks quânticos de ponta, como Cirq, PennyLane e Strawberry Fields.
        • Robusto e portátil: basta gravar a imagem no pendrive e inicializar qualquer máquina compatível, sem tocar no restante do sistema operacional instalado.
        • No futuro terá integração com API de alto nível para comunicação entre o DiraQ/LEONTI e aplicações externas, seja via Wi-Fi ou conexões físicas como USB.
        • Licença aberta e espírito colaborativo: o projeto é pensado para que a comunidade participe, contribua e construa junto esse ecossistema.

        Como começar a usar o DiraQ

        1. Baixe a imagem ISO do DiraQ (versão atual: 1.0.0) — a página oficial oferece links diretos para download. openSUSE
        2. Grave no pendrive (mínimo recomendado: 4 GB) usando ferramentas como Etcher (Windows/macOS) ou comandos como dd no Linux. openSUSE+1
        3. Inicialize o computador pelo pendrive — em alguns casos pode ser necessário ajustar a ordem de boot ou ativar suporte USB no BIOS/UEFI. openSUSE+1
        4. Explore o ambiente, execute simulações, escreva seus próprios circuitos ou integre com projetos quânticos.

        Convite à comunidade: participe, colabore e compartilhe

        O DiraQ foi idealizado por Wilson Fonseca e Alessandro “Cabelo” de Oliveira Faria, mas para que ele alcance seu verdadeiro potencial, é essencial que a comunidade científica, entusiastas e desenvolvedores façam parte.

        Se você domina Python, quiser testar frameworks quânticos ou ajudar a documentar, tu tens um lugar garantido nesse projeto. Queremos tornar computação quântica mais acessível, e juntos podemos construir uma plataforma brasileira, aberta e robusta.

        Feliz dia do Café.

        Você já ouviu falar em “cochilo com cafeína”? À primeira vista, pode parecer uma contradição: tomar café para dormir? No entanto, pesquisas recentes sugerem que essa combinação pode trazer benefícios reais à nossa atenção, clareza mental e combate à fadiga.

        O mecanismo por trás da fadiga

        Durante o dia, nosso cérebro acumula uma substância chamada adenosina, que se liga a receptores e induz a sensação de sono. Para nos mantermos alertas, a cafeína atua como um antagonista da adenosina: ela “ocupou” os receptores que a adenosina usaria, impedindo que ela cause aquele efeito de lentidão cerebral.

        Já o cochilo tem um efeito restaurador, porque ele ajuda a “limpar” parte da adenosina acumulada. Ou seja: combinar café e soneca pode atacar a fadiga por dois caminhos complementares.

        Por que a combinação pode funcionar?

        A magia ocorre no timing: a cafeína leva cerca de 20 a 30 minutos para fazer efeito justamente o intervalo ideal de um cochilo “curto”. Se você dormir mais que esse tempo, pode entrar em sono profundo e acordar confuso. Portanto, a ideia é: tomar café e logo em seguida fazer um breve cochilo, para maximizar o alerta sem sobrecarga.

        Pesquisas piloto já demonstraram que essa prática (200 mg de cafeína seguida de 30 minutos de soneca) pode:

        • Reduzir a sensação de fadiga
        • Melhorar o desempenho cognitivo

        Limitações e precauções

        Apesar do potencial, ainda há muitos “poréns”:

        • Os estudos existentes são relativamente pequenos e feitos em ambientes controlados, com adultos jovens saudáveis, não abrangendo diferentes faixas etárias ou pessoas com distúrbios do sono.
        • Há variações individuais: algumas pessoas têm maior sensibilidade à cafeína ou têm mais ou menos propensão a cochilar bem.
        • A prática não substitui uma boa noite de sono: ela pode ser um “truque auxiliar”, mas não uma solução mágica para produtividade contínua.

        Dicas para experimentar com segurança

        Se quiser testar por conta própria, aqui vão algumas sugestões:

        1. Dose moderada de cafeína não exagere para evitar efeitos colaterais.
        2. Cochilo curto (até ~30 minutos) para evitar entrar no sono profundo.
        3. Escolha o momento certo evite esse experimento perto da hora de dormir à noite.
        4. Observe seus resultados veja se você realmente se sente mais alerta ou se ficou “mais grogue”.

        Intel + NVIDIA: Adeus, gargalo de von Neumann

        Por décadas, a “Parede de von Neumann” travou o desempenho do PC: CPU e memória de um lado, GPU e sua própria memória do outro, ligados por um barramento (PCIe) que vira funil para dados. Com o anúncio conjunto de Intel e NVIDIA — unindo CPUs x86 e gráficos RTX em SoCs, com ligação CPU↔GPU via NVLink e memória unificada (UMA) — chega, enfim, o momento em que esse gargalo deixa de mandar na evolução do PC para IA e games. É a virada de chave que faltava.

        O que mudou, exatamente?

        Largura de banda e latência muito acima do PCIe: a Tom’s Hardware lembra que NVLink oferece até ~14× a largura de banda do PCIe, além de latencia menor — e a NVIDIA está abrindo o ecossistema por meio do programa NVLink Fusion, permitindo que CPUs de terceiros e aceleradores customizados pluguem-se na tecnologia NVLink Fusion.

        Intel x NVIDIA, no mesmo pacote: as empresas anunciaram “Intel x86 RTX SoCs” — processadores x86 com chiplet RTX, integrados por NVLink em vez de PCIe convencional. O objetivo declarado é o mercado de PCs (notebooks finos e desktops compactos) e data centers com CPUs x86 customizadas para os aceleradores da NVIDIA.

        Memória Unificada (UMA): CPU e GPU acessam o mesmo pool de memória, sem cópias redundantes. No design anterior (ex.: Kaby Lake-G de 2017), o elo era PCIe e a memória do lado GPU ficava “ilhada”; agora, o vínculo NVLink dá a ambos uma visão comum e coerente dos dados. Resultado: adeus ida-e-volta de buffers.

        Por que isso mata (na prática) o gargalo de von Neumann?

        O gargalo nasce quando processamento e memória ficam separados por um barramento estreito. Em IA e jogos modernos, os dados precisam fluir rápido entre CPU (lógica, simulação, IA clássica, orquestração) e GPU (ray tracing, rasterização, redes neurais). Com NVLink + UMA, o PC passa a se comportar como um “superchip”:

        1. Mais largura de banda entre CPU e GPU (ordens de grandeza acima do PCIe),
        2. Menos cópias e menos latência (dados vivem numa piscina comum),
        3. Escalonamento mais previsível (o que antes era “transferência” vira “acesso compartilhado”).

        Efeitos imediatos em IA

        • Treino/inferência de modelos maiores em laptops compactos: com UMA, tensors e KV-cache deixam de pular entre memórias. O agendamento pode distribuir partes do grafo entre CPU e GPU sem o custo de “ir por PCIe”.
        • Aceleração de pipelines multimodais: visão, linguagem, áudio podem compartilhar o mesmo espaço de endereçamento, reduzindo overhead de pré/pós-processamento.
        • Data center x86 “by NVIDIA”: Intel fabricará CPUs x86 custom que, ao lado de GPUs NVIDIA, falam NVLink de ponta a ponta. Isso abre rota para clusters super poderoso.

        Efeitos imediatos em games

        • Streaming de dados e simulação mais coesa: física, IA de NPCs e lógica de jogo rodam na CPU com acesso direto a estruturas que a GPU renderiza sem maratonas de cópia. Pense em mundos maiores, streaming de assets mais fluido e shader compilation com menos soluços/gargalos.
        • Ray tracing + upscalers com menos overhead: a ida-e-volta entre passes de render e redes neurais (DLSS/Frame Gen/denoisers) perde o “pedágio” do PCIe. O que era gargalo de interop, vira pipeline contínuo.

        Por que agora?

        Além dos SoCs para PCs, a NVIDIA oficializou o NVLink Fusion, programa que abre o NVLink para CPUs e aceleradores de terceiros, ampliando o uso o além de um único servidor e levando a arquitetura para escala de rack. É a normalização de um interconnect de altíssimo desempenho no mundo x86 — justamente onde o PCIe reinou sozinho por décadas.

        O que isso exige do ecossistema

        • Drivers maduros e toolchains: NVIDIA cuidará dos drivers de GPU; a Intel, do lado CPU. É uma lição aprendida após experiências passadas. Para devs, isso significa SDKs e runtimes que tratam CPU+GPU como um continuum (alocação unificada, sincronização fina, profiling sem “buracos”).
        • Embalagem avançada (chiplets, 2.5D/3D, possivelmente HBM em variantes): quanto mais perto e mais “gorda” a ligação física, mais o PC se parece com um SoC heterogêneo de classe estação/servidor.

        Calendário e realidade de mercado

        A parceria está nos estágios iniciais; cronogramas e especificações ainda serão divulgados. Mesmo assim, o comprometimento é multigeracional, e a NVIDIA anunciou, em paralelo, a expansão de NVLink via Fusion. Tradução: o caminho está traçado — e ele aponta para CPU↔GPU sem funil.


        Conclusão

        Chamar de “fim do gargalo de von Neumann” não é exagero no contexto prático de IA e games no PC: NVLink + UMA entre Intel x86 e NVIDIA RTX extingue o principal pedágio que limitava a cooperação CPU↔GPU. O PC passa a operar como um sistema heterogêneo coeso, com banda e latência dignas de supercomputador, só que no seu colo e com um ecossistema inteiro (via NVLink Fusion) pronto para crescer além do PCIe. O futuro do PC é heterogêneo e a parede, enfim, rachou.

        Fontes: Tom’s Hardware — anúncio dos Intel x86 RTX SoCs com NVLink e memória unificada, e apresentação do NVLink Fusion (banda até ~14× PCIe, abertura a CPUs/aceleradores de terceiros). Tom’s Hardware+1