Altifigence Academy

18 / 20 · Conceito

Projete testes com sinal e nos limites

Combine limites aritméticos, de dimensões e de controle além de um único exemplo sem falhas.

Escolha entradas que distingam falhas

O exemplo positivo 2×2 revela defasagem e indexação, mas não extensão de sinal nem saturação. Matrizes inteiramente de uns ajudam a verificar contagens, mas podem ocultar transposição. Use valores assimétricos, negativos, zeros e linhas e colunas diferentes.

A=[[2,−1],[0,3]] e B=[[4,5],[−2,1]] produzem [[10,9],[−6,3]]. Isso inclui saídas positivas e negativas e um zero válido. B identidade deve reproduzir A. B nula deve produzir saídas zero enquanto cada PE ainda consome K termos.

Para W=8, K=4, mínimo×mínimo repetido dá 65536; mínimo×máximo repetido dá −65024; máximo×máximo repetido dá 64516. Todos cabem em AW=18. Testar apenas o maior operando positivo deixa passar o maior produto positivo.

Para a linha de A [−128,−128,127,127] e a coluna de B [−128,127,−128,127], os produtos são [16384,−16256,−16256,16129]. Sua soma é um, com somas de prefixos [16384,128,−16128,1]. Um resultado final pequeno não justifica um acumulador intermediário estreito.

Cubra os limites de dimensões e de controle

N=1,K=1 conclui após E0. N=3,K=1 ainda termina após E4 porque os operandos atravessam a grade. N=1,K=5 é um produto escalar de cinco bordas sem defasagem espacial. Testar K=1,2,3,4 cruza limites de largura dos contadores, especialmente a diferença entre armazenar K−1 e K.

Insira pausas antes do primeiro MAC, no meio da redução e antes do último MAC. Bloqueie saídas após a conclusão. Aplique reset após clear, no meio do trabalho e enquanto um resultado válido estiver pendente. Uma saída de trabalho antigo após reset é uma falha. Compare dimensões de blocos múltiplas exatas com dimensões que deixem uma linha ou coluna; verifique as máscaras pelas coordenadas.

Para cada caso aprovado, especifique a matriz, as listas exatas de termos consumidos, a contagem de bordas com advance, a quantidade de pausas e as coordenadas das saídas entregues. Testes negativos precisam de uma categoria esperada de erro. Mantenha as verificações exatas do acumulador separadas da quantização da saída. Dados fixos de limites mais testes aleatórios com sementes tornam as falhas reproduzíveis e ampliam a cobertura além de um único exemplo.

Experimente

Para N=3,K=1, encontre o número da borda final e a contagem de bordas. Encontre também a soma de quatro termos mínimo×máximo para W=8,K=4.

Ler a explicação

O número da borda final é 1+6−3=4, dando cinco bordas E0..E4. Um produto mínimo×máximo é −16256; quatro somam −65024.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.