Altifigence Academy

1 / 20 · Concept

Associer les produits scalaires aux éléments de traitement

Distinguez les indices de ligne, de colonne et de réduction, puis calculez une petite matrice de référence.

Fixer le calcul avant de l’ordonnancer

Soit A de dimensions M×K et B de dimensions K×P. Leur produit C a les dimensions M×P. L’indice i sélectionne une ligne de sortie, j une colonne de sortie, et k est l’indice de réduction dans la somme. Les indices commencent à zéro dans tout ce cours.

Ci,j=∑k=0K−1Ai,kBk,jC_{i,j}=\sum_{k=0}^{K-1} A_{i,k}B_{k,j}

Notre conception à sorties stationnaires attribue C(i, j) à PE(i, j). Cet élément de traitement conserve sa somme partielle tandis que A se déplace vers la droite et B vers le bas. Le déplacement permet la réutilisation ; l’équation définit les opérandes pouvant être multipliés. Nous définirons séparément la temporisation d’horloge, afin qu’une erreur d’ordonnancement ne modifie pas silencieusement les mathématiques voulues.

Calculer une référence complète

Utilisez A=[[1, 2], [3, 4]] et B=[[5, 6], [7, 8]]. PE(0, 1) combine la ligne [1, 2] avec la colonne [6, 8]. Il accumule 1×6=6 et 2×8=16 pour obtenir 22. Utiliser à la place la deuxième ligne [7, 8] de B donne 23, une signature utile d’une confusion entre ligne et colonne.

PETerme k=0Terme k=1Résultat
(0, 0)51419
(0, 1)61622
(1, 0)152843
(1, 1)183250

La matrice attendue est [[19, 22], [43, 50]]. Chaque PE effectue deux MAC valides, soit huit MAC pour le réseau. Une convention comptant séparément une multiplication et une addition annonce seize opérations arithmétiques. Indiquez toujours l’unité lors des comparaisons de débit.

Relier les coordonnées au stockage

Dans un stockage par lignes, A(i, k) a pour décalage d’élément iK+k et B(k, j), kP+j. Pour la colonne j=1 de cet exemple, B utilise les décalages 1 et 3. Une interface mémoire fournissant des lignes contiguës nécessite donc des tampons ou un réarrangement pour alimenter le haut du réseau en colonnes.

Construisez la référence arithmétique avec des entiers larges, puis appliquez la conversion de sortie choisie. Ces petites entrées positives ne testent pas le débordement. Les tests suivants doivent ajouter des valeurs négatives, l’opérande le plus négatif et une réduction plus longue. Une matrice identité B doit reproduire A, tandis qu’une ligne entièrement nulle de A doit produire une ligne entièrement nulle de C. Enregistrez la liste des termes k de chaque PE et sa somme finale : un terme manquant ou répété devient alors visible, même lorsque deux erreurs se compensent numériquement.

Essayez vous-même

Pour A=[[2, -1], [0, 3]] et B=[[4, 5], [-2, 1]], trouvez C, le nombre de MAC et le décalage d’élément de B(1, 0) dans un stockage par lignes.

Lire l’explication

C=[[10, 9], [-6, 3]] : les quatre sommes sont 8+2, 10−1, 0−6 et 0+3. Il y a 2×2×2=8 MAC. Le décalage d’élément de B(1, 0) vaut 1×2+0=2.

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.