0Pricing
Mojo Academy · Leçon

Vérifier la justesse numérique

Comparez les résultats à une référence.

Vérifier la justesse numérique est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Fast but Wrong Is Useless

An optimized kernel only counts if it computes the right answer. Always verify before you trust a speedup.

Keep a Reference

Hold on to the simple, obviously correct version. It is your reference, the source of truth every fast kernel must match.

Floats Are Not Exact

Floating-point math rounds, so reordering sums can shift the last digits. Optimized results may differ slightly without being wrong.

Avoid Exact Equality

Because of rounding, never compare floats with ==. Tiny differences will make correct code look broken.

if fast == ref:  # fragile, avoid

Compare With a Tolerance

Instead, check that values are close within a small tolerance. If the gap is under epsilon, treat them as equal.

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

Absolute vs Relative Error

Absolute error is the raw gap; relative error scales it by magnitude. Big numbers need relative checks to stay fair.

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

Check Every Element

Loop over the whole result and test each cell. One mismatch beyond tolerance means the optimization broke something.

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

Track the Worst Gap

Record the largest difference you see. The max error across all elements is a clear, single health number for the kernel.

Test the Edge Cases

Try empty inputs, a single element, and odd sizes that do not divide evenly by the SIMD width. Edges expose tail bugs fast.

Use Known Answers

Multiply by the identity matrix or sum a vector of ones. Predictable inputs give answers you can verify by hand.

Automate the Check

Wrap verification in a small test that fails loudly on any mismatch. Run it after every change so regressions never slip by.

Quick Check

Your SIMD matmul is off from the reference by 0.0000007. What should you conclude?

Recap

Verify fast code against a trusted reference, compare with a tolerance not ==, check edges and known answers, and automate it. ✅

Questions Fréquemment Posées

La leçon « Vérifier la justesse numérique » est-elle gratuite ?

Oui — le texte complet de « Vérifier la justesse numérique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Vérifier la justesse numérique » ?

Comparez les résultats à une référence. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Mojo Academy ?

Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Vérifier la justesse numérique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?

Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Modéliser un tenseur dans Mojo
  2. Construire une multiplication matricielle pas à pas
  3. Optimiser le produit scalaire
  4. Vérifier la justesse numérique
← Retour à Mojo Academy