0Pricing
Mojo Academy · Урок

Проверка числовой корректности

Сверяйте результаты с эталоном.

«Проверка числовой корректности» — бесплатный урок Mojo Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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. ✅

Часто задаваемые вопросы

Урок «Проверка числовой корректности» бесплатный?

Да — полный текст урока «Проверка числовой корректности» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.

Чему я научусь в уроке «Проверка числовой корректности»?

Сверяйте результаты с эталоном. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Mojo Academy?

Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Проверка числовой корректности»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Mojo Academy?

Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Моделирование тензора в Mojo
  2. Пошаговое создание Matmul
  3. Оптимизация скалярного произведения
  4. Проверка числовой корректности
← Назад к Mojo Academy