0Pricing
Mojo Academy · Lección

Verificar la corrección numérica

Compare los resultados con una referencia.

Verificar la corrección numérica es una lección gratuita de Mojo Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Mojo Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Mojo Academy incluye 4 lecciones en total.

Rápido pero incorrecto no sirve

Un kernel optimizado solo cuenta si calcula la respuesta correcta. Siempre debe verificar el resultado antes de confiar en una mejora de velocidad.

Conserve una referencia

Conserve la versión sencilla y claramente correcta. Es su referencia, la fuente de verdad que todo kernel rápido debe igualar.

Los floats no son exactos

La aritmética de coma flotante redondea, por lo que reordenar las sumas puede cambiar los últimos dígitos. Los resultados optimizados pueden diferir ligeramente sin estar equivocados.

Evite la igualdad exacta

Debido al redondeo, nunca compare floats con ==. Las pequeñas diferencias harán que un código correcto parezca defectuoso.

if fast == ref:  # fragile, avoid

Compare con una tolerancia

En su lugar, compruebe que los valores sean suficientemente cercanos dentro de una pequeña tolerancia. Si la diferencia es menor que epsilon, considérelos iguales.

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

Error absoluto frente a relativo

El error absoluto es la diferencia directa; el error relativo la escala según la magnitud. Los números grandes necesitan comprobaciones relativas para que la comparación sea justa.

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

Compruebe cada elemento

Recorra todo el resultado y compruebe cada celda. Una sola discrepancia que supere la tolerancia significa que la optimización ha introducido un problema.

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

Registre la mayor diferencia

Registre la mayor diferencia que observe. El error máximo entre todos los elementos es un indicador único y claro del estado del kernel.

Pruebe los casos límite

Pruebe entradas vacías, un solo elemento y tamaños impares que no sean divisibles exactamente por el ancho de SIMD. Los casos límite revelan rápidamente los errores de cola.

Use respuestas conocidas

Multiplique por la matriz identidad o sume un vector de unos. Las entradas predecibles producen respuestas que puede verificar manualmente.

Automatice la comprobación

Incluya la verificación en una prueba pequeña que falle claramente ante cualquier discrepancia. Ejecútela después de cada cambio para que las regresiones nunca pasen inadvertidas.

Comprobación rápida

Su matmul SIMD difiere de la referencia en 0.0000007. ¿Qué debería concluir?

Resumen

Verifique el código rápido con una referencia fiable, compare con una tolerancia en lugar de ==, compruebe los casos límite y las respuestas conocidas, y automatice el proceso. ✅

Preguntas frecuentes

¿La lección «Verificar la corrección numérica» es gratis?

Sí — el texto completo de «Verificar la corrección numérica» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Mojo Academy, actualiza a CoddyKit PRO. El curso de Mojo Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Verificar la corrección numérica»?

Compare los resultados con una referencia. Practicas Mojo Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Mojo Academy?

No se requiere experiencia previa. Mojo Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Verificar la corrección numérica»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Mojo Academy?

Sí. Cada lección de Mojo Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Modelar un tensor en Mojo
  2. Construir una multiplicación de matrices paso a paso
  3. Optimizar el producto escalar
  4. Verificar la corrección numérica
← Volver a Mojo Academy