Mojo Academy · Aula

Verificando a correção numérica

Compare os resultados com uma referência.

Aula 4 de 413 etapas

Verificando a correção numérica é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.

Rápido, mas Errado, não Serve

Um núcleo otimizado só é útil se calcular a resposta correta. Sempre verifique antes de confiar em um ganho de velocidade.

Mantenha uma Referência

Guarde a versão simples e obviamente correta. Ela é sua referência, a fonte da verdade à qual todo núcleo rápido deve corresponder.

Números de Ponto Flutuante não são Exatos

A matemática de ponto flutuante arredonda, portanto reordenar somas pode alterar os últimos dígitos. Resultados otimizados podem diferir um pouco sem estarem errados.

Evite a Igualdade Exata

Por causa dos arredondamentos, nunca compare números de ponto flutuante com ==. Pequenas diferenças farão o código correto parecer quebrado.

if fast == ref:  # fragile, avoid

Compare com uma Tolerância

Em vez disso, verifique se os valores estão próximos dentro de uma pequena tolerância. Se a diferença estiver abaixo de epsilon, trate-os como iguais.

if abs(fast - ref) <= 1e-5:
    pass  # close enough

Erro Absoluto e Relativo

O erro absoluto é a diferença bruta; o erro relativo a dimensiona pela magnitude. Números grandes precisam de verificações relativas para manter a comparação justa.

rel = abs(fast - ref) / abs(ref)

Verifique Cada Elemento

Percorra todo o resultado e teste cada célula. Uma divergência além da tolerância significa que a otimização causou algum problema.

for i in range(n):
    if abs(fast[i] - ref[i]) > tol:
        print("mismatch at", i)

Acompanhe a Maior Diferença

Registre a maior diferença encontrada. O erro máximo entre todos os elementos é um indicador único e claro da integridade do núcleo.

Teste os Casos Extremos

Experimente entradas vazias, um único elemento e tamanhos ímpares que não sejam divisíveis pela largura do SIMD. Os extremos revelam rapidamente erros na cauda.

Use Respostas Conhecidas

Multiplique pela matriz identidade ou some um vetor de uns. Entradas previsíveis produzem respostas que você pode verificar manualmente.

Automatize a Verificação

Envolva a verificação em um pequeno teste que falhe de modo explícito diante de qualquer divergência. Execute-o após cada alteração para que regressões nunca passem despercebidas.

Verificação rápida

Seu matmul SIMD difere da referência por 0.0000007. O que você deve concluir?

Recapitulação

Verifique o código rápido usando uma referência confiável, compare com uma tolerância em vez de ==, confira casos extremos e respostas conhecidas e automatize o processo. ✅

Grátis para começar

Aprenda Mojo com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Verificando a correção numérica” é grátis?

Sim — o texto completo de “Verificando a correção numérica” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.

O que vou aprender em “Verificando a correção numérica”?

Compare os resultados com uma referência. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Mojo Academy?

Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Verificando a correção numérica”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Mojo Academy?

Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Modelando um tensor em Mojo
  2. Construindo uma multiplicação de matrizes passo a passo
  3. Otimizando o produto interno
  4. Verificando a correção numérica
← Voltar para Mojo Academy