CUDA é a plataforma da NVIDIA para programar GPUs, e um kernel é um pequeno programa que executa uma tarefa na placa. Sistemas de IA podem gerar versões candidatas desse código, testá-las e selecionar uma opção mais rápida para uma operação específica. Experimentos no KernelBench mediram ganhos em tarefas delimitadas, com resultados diferentes para NVIDIA L40S e H100.
Como a IA gera e testa kernels CUDA
Em vez de produzir uma única versão, um sistema pode propor várias implementações para uma operação de uma biblioteca como o PyTorch. O processo avalia se cada candidata produz resultados corretos e quanto tempo leva para executar.
No experimento do Stanford Scaling Intelligence Lab, a busca partiu de ideias de otimização e explorou implementações candidatas em cinco rodadas. O teste usou OpenAI o3 e Gemini 2.5 Pro em 10 problemas de nível 1 do KernelBench, executados em um NVIDIA L40S. Os tamanhos dos problemas foram modificados para que o custo de iniciar um kernel fosse desprezível diante do tempo de execução.
O que os experimentos mediram
O Stanford Scaling Intelligence Lab relatou que uma multiplicação de matrizes de 4096 × 4096 atingiu desempenho equivalente a 101,3% da referência torch.matmul do PyTorch. Em outras tarefas no mesmo NVIDIA L40S, o resultado chegou a 111,8% da referência torch.softmax para uma entrada de formato (4096, 65536) e a 484,4% da referência torch.nn.LayerNorm para uma entrada de formato (16, 64, 256, 256).
A referência do teste usava precisão FP32. Soluções em precisão menor também podiam ser aceitas dentro de uma tolerância de 1e-02, e a correção era conferida comparando os resultados numéricos com os da referência em várias entradas aleatórias.
Em 18 de outubro de 2025, a Gimlet Labs publicou resultados de seus testes no KernelBench com um NVIDIA H100. A empresa relatou uma média geométrica de 1,8× sobre a referência mais rápida, escolhida para cada tarefa entre PyTorch eager e torch.compile. Por nível, informou 2,3× no nível 1, 1,5× no nível 2 e 1,4× no nível 3. Alguns casos originais foram excluídos porque atalhos tecnicamente corretos produziam ganhos desproporcionais.
São experimentos distintos: um usou um L40S e tarefas modificadas do nível 1; o outro, um H100 e tarefas dos níveis 1 a 3, com uma regra própria para definir a referência de cada caso.
A verificação faz parte do processo
Nesses testes, não basta gerar código: cada candidata precisa passar por uma checagem de correção e por uma medição de desempenho. Os critérios também delimitam o resultado. No experimento do Stanford Scaling Intelligence Lab, por exemplo, a tolerância permitia soluções de menor precisão; no da Gimlet Labs, a comparação considerava a melhor entre duas referências do PyTorch para cada tarefa.