O número que circula nas últimas semanas impressiona qualquer dono de placa de vídeo: uma RTX 4090 que sai de 165,6 para 331,6 TFLOPS em cálculos de IA no formato FP16, sem trocar peça nem gravar uma BIOS nova. A medição existe e foi reproduzida por mais de uma pessoa. O problema é que ela mostra muito menos do que parece.
O responsável é o gpu-unlock (abre em nova aba), projeto de código aberto publicado pelo desenvolvedor Zagitta em 28 de setembro. Até esta segunda-feira (26), o repositório estava na versão 1.1.0 e acumulava 9,6 mil estrelas no GitHub. O projeto original atende as GeForce RTX 30, com chips GA102, GA103, GA104 e GA106. O suporte à RTX 4090 veio depois, num derivado chamado gpu-unlock-ada (abre em nova aba). Ele aproveita o carregador criado por Zagitta e um código de firmware desenvolvido por outro modder, TOTORONG.
O freio que a ferramenta solta
Os Tensor Cores são a parte da placa dedicada às contas de matriz que fazem os modelos de IA funcionarem. Segundo Zagitta, as GeForce executam um tipo específico dessas contas a cerca de metade da velocidade das placas profissionais da NVIDIA (abre em nova aba) que usam o mesmo chip. São as operações em FP16 e BF16 cujo resultado é somado em FP32, um formato mais preciso. Ele atribui a limitação à estratégia de separar a linha de consumo das linhas profissional e de datacenter. A acusação é dele: a NVIDIA não comentou publicamente nem a ferramenta nem essa explicação.

O método é engenhoso. A ferramenta é um módulo do kernel do Linux que age antes do driver oficial da NVIDIA. Primeiro, grava valores em registradores internos que definem a velocidade dessas instruções. Depois, reinicia a placa e só então deixa o driver original, sem nenhuma alteração, assumir o controle. Como nada fica gravado de forma permanente, o efeito some quando a placa perde energia. Desligar o computador ou colocá-lo em suspensão desfaz o desbloqueio.
Onde o dobro aparece, e onde some
O salto de 2x aparece em testes sintéticos, que medem quantas dessas instruções a placa consegue disparar em condições ideais. Nesse cenário, o resultado se repete. Um dono de RTX 4090 que testou por conta própria, com o mesmo limite de 450 W, viu o FP16 ir de 160,4 para 320,4 TFLOPS. Uma RTX 4070 Ti SUPER foi de 95 para 189,9.
Fora desse cenário ideal, o ganho encolhe. Na mesma rodada independente, multiplicações de matrizes feitas com o cuBLAS, a biblioteca da NVIDIA usada por programas de IA de verdade, ganharam entre 12% e 34% em FP16. Em BF16, o ganho foi de 16% a 20% em dois tamanhos de matriz e praticamente zero em um terceiro. Até nos números do próprio Zagitta para a RTX 3090 Ti o efeito varia bastante conforme o formato:
| Placa e teste | Antes | Depois |
|---|---|---|
| RTX 4090, instruções FP16 (sintético) | 165,6 TFLOPS | 331,6 TFLOPS |
| RTX 3090 Ti, matriz BF16 | 87,5 TFLOPS | 157,4 TFLOPS |
| RTX 3090 Ti, matriz FP16 | 87,5 TFLOPS | 118,4 TFLOPS |
| RTX 3090 Ti, matriz TF32 | 42,6 TFLOPS | 82,6 TFLOPS |
Para quem roda modelos de linguagem em casa, o resultado é mais modesto ainda. Um dono de RTX 3090 relatou 16% de ganho na leitura de prompts longos. Já a velocidade com que as respostas aparecem na tela ficou praticamente igual. Numa RTX 4090 modificada com 48 GB, um modelo MoE quantizado rodou até um pouco mais devagar (0,983x). Segundo o projeto, as operações INT8 e as contas comuns em FP32 também não mudaram. Ganho em jogos, até agora, ninguém comprovou.
Os riscos para quem pensa em testar
Não é algo que se instala com dois cliques. Zagitta só mantém a versão para Linux. Existe uma adaptação para Windows feita por terceiros, cuja versão 0.3.1 saiu em 24 de outubro, mas ela é distribuída apenas como código-fonte. Além disso, exige que o usuário escolha um aplicativo EFI no menu de inicialização toda vez que liga o PC. Numa RTX 3090, essa adaptação levou o FP16 de 70,55 para 125,91 TFLOPS no teste do próprio autor.
Sobre o hardware, Zagitta diz ser "muito improvável" que a ferramenta danifique a placa e afirma que os limites de temperatura e de energia continuam funcionando. Vale lembrar que essa avaliação é de quem escreveu o código, não do fabricante. Os próprios projetos trazem um aviso: se o firmware não parar, desligue o computador e não tente forçar a remoção do módulo.
Há ainda um ponto delicado na versão para a série 40. Segundo o README, ela usa endereços de instruções tirados de análises publicadas de uma versão de depuração do código que inicializa a GPU. A versão comercial desse código é autenticada e decifrada dentro do próprio chip. Em português claro: o truque depende de engenharia reversa de algo que a NVIDIA protege. É razoável supor que uma mudança de firmware feita pela empresa possa quebrá-lo.
O que fica é uma ferramenta útil para um público pequeno. Para quem treina modelos em uma RTX 3090 ou 4090, ganhar de 12% a 34% sem gastar nada é relevante, desde que a pessoa aceite rodar código de baixo nível escrito por desconhecidos. Para todos os outros, a parte mais interessante talvez nem seja o desempenho. A comunidade mediu, de forma repetível, uma diferença de velocidade entre placas que usam o mesmo silício, e a NVIDIA ainda não explicou por que ela existe.


