TRANSPOSITION OF LEFT-HAND-SIDE OPERAND TO SYSTOLIC MATRIX MULTIPLICATION
In a system including vector registers storing right-hand side data and left-hand side data, first and second matrix staging registers, and a systolic array of processing cells for conducting matrix multiplication operations using the right-hand side data and left-hand side data, one or more process...
Gespeichert in:
Hauptverfasser: | , , , , , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In a system including vector registers storing right-hand side data and left-hand side data, first and second matrix staging registers, and a systolic array of processing cells for conducting matrix multiplication operations using the right-hand side data and left-hand side data, one or more processors load the right-hand side data from the vector registers to the first matrix staging register based on an instruction indicating whether to transpose the right-hand side data, load the left-hand side data from the vector registers into the second matrix staging register based on another instruction indicating whether to transpose the left-hand side data, load the right-hand side data from the first matrix staging register into the systolic array, and, in a cycle of the matrix multiplication operation, pass one or more columns of the left-hand side data from the second matrix staging register to a column of the systolic array.
L'invention concerne un système comprenant des registres vectoriels stockant des données de côté droit et des données de côté gauche, des premier et deuxième registres de préparation de données de matrice, et un réseau systolique de cellules de traitement pour effectuer des opérations de multiplication de matrice en utilisant les données de côté droit et les données de côté gauche, système dans lequel un ou plusieurs processeurs chargent les données de côté droit à partir des registres de vecteur vers le premier registre de préparation de données de matrice sur la base d'une instruction indiquant s'il faut ou non transposer les données de côté droit, chargent les données de côté gauche à partir des registres de vecteur dans le deuxième registre de préparation de données de matrice sur la base d'une autre instruction indiquant s'il faut ou non transposer les données de côté gauche, chargent les données de côté droit du premier registre de préparation de données de matrice dans le réseau systolique et, dans un cycle de l'opération de multiplication de matrice, font passer une ou plusieurs colonnes des données de côté gauche du deuxième registre de préparation de données de matrice à une colonne du réseau systolique. |
---|