Altifigence Academy

11 / 20 · Concept

Passer à N×N et compter les fronts de fin

Paramétrez la taille spatiale N séparément de la longueur de réduction K.

Distinguer la taille spatiale de la longueur de réduction

Une grille de PE N×N produit une tuile de sortie N×N. K est la dimension de réduction et n’est pas nécessairement égal à N. Avec N=3 et K=5, A est 3×5, B est 5×3 et C est 3×3. Neuf PE consomment chacun cinq termes, effectuant quarante-cinq MAC. N détermine le câblage et le décalage ; K détermine la largeur d’accumulation, le comptage des termes et la durée d’injection.

Utilisez la convention établie : clear se termine avant E0, les entrées sont stables avant E_t, le MAC et la transmission enregistrée ont lieu à ce front, et il n’y a aucun pipeline multiplicateur supplémentaire. A(i, k) est injecté à k+i et parcourt j sauts. B(k, j) est injecté à k+j et parcourt i sauts. Les deux atteignent PE(i, j) à k+i+j.

tlast(i,j)=K−1+i+jt_{last}(i,j)=K-1+i+j

Le dernier PE termine après E_(K+2N−3). En comptant E0 inclusivement, cela donne K+2N−2 fronts advance. Pour N=K=2, le dernier numéro de front est trois et le nombre de fronts est quatre. Pour N=3, K=5, le dernier numéro est huit et le nombre est neuf.

Paramétrer les liaisons et les compteurs

À la colonne zéro, l’entrée A d’un PE vient de la frontière ; ailleurs, elle vient de la sortie A enregistrée de son voisin gauche. La règle B est analogue pour la frontière supérieure et le voisin du dessus. Connectez valid et les étiquettes job/k par les mêmes liaisons et partagez clear et advance sur toute la grille.

Exigez N≥1, K≥1 et AW≥2W. Un compteur stockant zéro à K nécessite max(1, ceil(log2(K+1))) bits. Une étiquette k stockant zéro à K−1 nécessite max(1, ceil(log2 K)) bits. Ces largeurs diffèrent lorsque K est une puissance de deux ; évitez les déclarations de largeur nulle pour K=1.

La dernière injection de frontière a lieu à E_(K+N−2), suivie de N−1 fronts de vidange. Les nombres de fronts de calcul excluent l’initialisation, le chargement mémoire et le transfert des sorties. Avec P fronts de pause, le nombre de fronts physiques écoulés devient K+2N−2+P. Des étages de pipeline supplémentaires nécessitent une nouvelle analyse temporelle.

Essayez vous-même

Pour N=4, K=3, trouvez les premiers et derniers fronts MAC de PE(2, 1), le dernier front de la grille, le nombre de fronts de calcul et le nombre de fronts physiques avec deux pauses.

Lire l’explication

PE(2, 1) consomme k0 à E3 et k2 à E5. La grille termine après E8, nécessitant neuf fronts advance E0..E8. Deux pauses donnent onze fronts physiques, hors initialisation et transfert des sorties.

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