18 / 20 · Concepto
Diseña pruebas de signo y de límites
Combina límites aritméticos, de dimensiones y de control más allá de un único ejemplo favorable.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
Elige entradas que distingan fallos
El ejemplo positivo 2×2 revela desfase e índices, pero no extensión de signo ni saturación. Las matrices de unos ayudan a comprobar contadores, aunque pueden ocultar una transposición. Usa valores asimétricos, negativos, ceros y filas y columnas diferentes.
A=[[2,−1],[0,3]] y B=[[4,5],[−2,1]] producen [[10,9],[−6,3]]. Esto incluye salidas positivas y negativas y un cero válido. B identidad debe reproducir A. B de ceros debe producir salidas cero mientras cada PE sigue consumiendo K términos.
Para W=8, K=4, mínimo×mínimo repetido da 65536; mínimo×máximo repetido da −65024; máximo×máximo repetido da 64516. Todos caben en AW=18. Probar solo el mayor operando positivo omite el mayor producto positivo.
Para la fila A [−128,−128,127,127] y la columna B [−128,127,−128,127], los productos son [16384,−16256,−16256,16129]. Su suma es uno, con sumas de prefijo [16384,128,−16128,1]. Un resultado final pequeño no justifica un acumulador intermedio estrecho.
Cubre límites de dimensiones y control
N=1,K=1 termina después de E0. N=3,K=1 sigue terminando después de E4 porque los operandos atraviesan la cuadrícula. N=1,K=5 es un producto escalar de cinco flancos sin desfase espacial. Probar K=1,2,3,4 cruza límites de anchura de contadores, especialmente la diferencia entre almacenar K−1 y almacenar K.
Inserta pausas antes de la primera MAC, a mitad de reducción y antes de la última MAC. Bloquea las salidas tras terminar. Reinicia después de clear, a mitad de trabajo y mientras queda pendiente un resultado válido. Una salida del trabajo antiguo después del reinicio es un fallo. Compara dimensiones de bloques que sean múltiplos exactos con otras que dejen una fila o columna; verifica las máscaras por coordenadas.
Para cada caso correcto, especifica la matriz, las listas exactas de términos consumidos, el recuento de flancos con avance, el de pausas y las coordenadas de salida entregadas. Las pruebas negativas necesitan una categoría de error esperada. Separa las comprobaciones exactas del acumulador de la cuantización de salida. Los datos fijos de límites más las pruebas aleatorias con semilla hacen reproducibles los fallos y amplían la cobertura más allá de un ejemplo.
Inténtalo tú
Para N=3,K=1, calcula el número del flanco final y el recuento de flancos. Calcula también la suma de cuatro términos mínimo×máximo para W=8,K=4.
Leer la explicación
El número del flanco final es 1+6−3=4, lo que da cinco flancos E0..E4. Un producto mínimo×máximo es −16256; cuatro suman −65024.