InfraestruturaArtigo científico · Para P&DHabr AI→ original

gpu-unlock remove o limite por software de BF16 nas RTX 20/30/40: até +100% nos núcleos tensoriais

O projeto gpu-unlock remove uma limitação artificial de velocidade dos núcleos tensoriais nas RTX 20/30/40 de consumo. É um módulo de kernel Linux: ele carrega antes do driver da NVIDIA, altera os registradores de velocidade e reinicia a placa, enquanto o driver oficial permanece intacto. Segundo o README, o matmul BF16 puro acelera de 65% a 100%, mas são afirmações do autor, não um benchmark independente.

Processado por IA de Habr AI; editado por Hamidun News
gpu-unlock remove o limite por software de BF16 nas RTX 20/30/40: até +100% nos núcleos tensoriais
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Prefill de LLM e treinamento+25–55% segundo relatos da comunidade
Decode e modelos INT8/INT4sem ganho, o limite é a memória
Dado-chave #3Ampere é estável; Ada e Turing ainda são experimentais

Imagine: você comprou uma RTX 3090 ou 4080, e parte do poder de computação dela para IA está trancada não pelo hardware, mas por uma configuração no firmware. É exatamente esse o caso do projeto gpu-unlock, do desenvolvedor Zagitta. Uma ressalva logo de início: eu não testei o módulo. Abaixo está uma análise do repositório e do README, e todos os números são afirmações do autor e da comunidade, não medições minhas.

Qual é o problema

A NVIDIA separa sua linha entre GeForce para jogos e placas profissionais por mais do que o preço. Nas placas de consumo, a taxa de processamento dos núcleos tensoriais nos modos FP16/BF16/TF32 com acumulação em FP32 é cortada artificialmente, na maioria das vezes pela metade do pico nominal. Em jogos isso passa despercebido. Mas em LLMs locais, fine-tuning e geração de imagens e vídeo, é justamente essa matemática que ocupa a maior parte do tempo de treinamento e de prefill, isto é, do processamento do prompt de entrada.

Como o gpu-unlock funciona

É um módulo de kernel Linux. Ele é incorporado ao initramfs e entra em ação antes de o driver nvidia se associar à placa. O módulo grava na placa os registradores seletores de velocidade (SS0 = 0x88888888 para a velocidade total de BF16 e SS1 = 0x8), depois executa um Function-Level Reset e libera o dispositivo. Em seguida, o driver original da NVIDIA assume a placa normalmente. O driver não é modificado e a VBIOS não é regravada. O arquivo do driver é necessário apenas para extrair o firmware do qual o desbloqueio depende. O autor afirma que os resultados dos cálculos são idênticos bit a bit, e que muda apenas a velocidade.

O suporte é assim: Ampere (RTX 30, incluindo as móveis 3070/3080) é estável. Ada Lovelace (RTX 40) e Turing (RTX 20) são experimentais. Blackwell (RTX 50) não é suportada, e o autor acredita que não será. Pascal, incluindo a GTX 1070, não serve de forma alguma: não tem os núcleos tensoriais necessários.

O que os números prometem

Segundo o README, matmul BF16 puro com os limites de potência de fábrica: RTX 3060, de 27 para 51 TFLOPS (+87%); RTX 3080, de 65 para 113 (+73%); RTX 3090, de 75 para 125 (+65%); RTX 4080, de 104 para 193 (+87%); RTX 4090, de 165 para 329 (+100% no pico). Para a 4090, o próprio autor alerta que a placa atingirá o limite de potência antes do teto dos núcleos tensoriais, de modo que em GEMMs grandes o ganho será menor.

Em tarefas reais, segundo relatos da comunidade, o quadro é mais modesto: prefill de LLM +25–55%, LoRA e fine-tuning completo em BF16 +25–50%, geração de imagens +30–55%, vídeo (Wan 2.2) +15–20%, FlashAttention/SDPA +50–60%. Para llama.cpp e Ollama com GGUF, 0–15%.

Onde não vai ajudar

A principal limitação para LLMs domésticos: o decode é limitado pela largura de banda da memória, não pelo cálculo. Modelos INT8/FP8/INT4, jogos e CUDA FP32 também não aceleram. Se você roda um modelo quantizado pela velocidade de geração, pode não ganhar nada.

Instalação e riscos

Instalação: git clone, depois make install (há os alvos install-arch, install-deb e install-rpm), após o que se adiciona aos parâmetros do kernel gpu_unlock.targets=all ou endereços PCI específicos. Verificação com journalctl -k -b | grep gpu_unlock. Para reverter, basta remover o parâmetro ou desinstalar o pacote.

Ressalvas. Em notebooks, o desbloqueio se perde quando a GPU dedicada é totalmente desenergizada. Após o suspend, o módulo desbloqueia a placa novamente, com um atraso de cerca de um segundo; a hibernação não é suportada. Se o firmware travar, é preciso desligar a energia, e não apenas reiniciar. A placa vai esquentar mais. O autor não oferece suporte ao Windows, e instaladores de terceiros devem ser tratados com extrema cautela: o projeto não tem criptomoeda nem sites, apenas um repositório no GitHub. O módulo é licenciado sob GPL-2.0-only, enquanto o firmware da NVIDIA continua sob sua própria licença.

Conclusão prática

Se você tem uma RTX 20/30/40, trabalha com FP16/BF16 e principalmente treina, faz fine-tuning ou gera imagens, vale a pena testar o projeto: é gratuito e reversível com um único parâmetro. Primeiro, compare com honestidade o seu perfil de carga com a lista de «onde não funciona». E não instale na sua única máquina de trabalho sem testar antes em uma bancada separada: os números aqui foram repassados do README, e não medidos de forma independente.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Qual é o problema?

A NVIDIA separa sua linha entre GeForce para jogos e placas profissionais por mais do que o preço. Nas placas de consumo, a taxa de processamento dos núcleos tensoriais nos modos FP16/BF16/TF32 com acumulação em FP32 é cortada artificialmente, na maioria das vezes pela metade do pico nominal. Em jogos isso passa despercebido.

Como o gpu-unlock funciona?

É um módulo de kernel Linux. Ele é incorporado ao initramfs e entra em ação antes de o driver nvidia se associar à placa. O módulo grava na placa os registradores seletores de velocidade (SS0 = 0x88888888 para a velocidade total de BF16 e SS1 = 0x8), depois executa um Function-Level Reset e libera o dispositivo. Em seguida, o driver original da NVIDIA assume a placa normalmente. O driver não é modificado e a VBIOS não é regravada.

O que os números prometem?

Segundo o README, matmul BF16 puro com os limites de potência de fábrica: RTX 3060, de 27 para 51 TFLOPS (+87%); RTX 3080, de 65 para 113 (+73%); RTX 3090, de 75 para 125 (+65%); RTX 4080, de 104 para 193 (+87%); RTX 4090, de 165 para 329 (+100% no pico). Para a 4090, o próprio autor alerta que a placa atingirá o limite de potência antes do teto dos núcleos tensoriais, de modo que em GEMMs grandes o ganho será menor.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…