TECHNIQUE FOR PERFORMING OUTER PRODUCT OPERATIONS
An apparatus has processing circuitry to perform vector operations, an instruction decoder to decode instructions to control the processing circuitry to perform associated vector operations, and array storage comprising storage elements to store data elements, the array storage storing at least one...
Saved in:
Main Authors | , |
---|---|
Format | Patent |
Language | English French |
Published |
21.12.2023
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | An apparatus has processing circuitry to perform vector operations, an instruction decoder to decode instructions to control the processing circuitry to perform associated vector operations, and array storage comprising storage elements to store data elements, the array storage storing at least one two dimensional array of data elements. The set of instructions includes a multiple outer product instruction identifying a first source vector operand, a second source vector operand, and a given two dimensional array of data elements within the array storage forming a destination operand. At least the first source vector operand identifies at least one vector of data elements to be treated as comprising a plurality of sub-vectors and at least the second source vector operand identifies a plurality of vectors of data elements. In response to the multiple outer product instruction, the instruction decoder controls the processing circuitry to perform an outer product operation for each sub-vector identified by the first source vector operand. Each outer product operation comprises multiplying each data element of an associated sub-vector identified by the first source vector operand by each data element of a group of data elements selected from the second source vector operand in order to generate a plurality of outer product results, and using each outer product result to update a value held in an associated storage element within the given two dimensional array of storage elements. Selection circuitry controls selection of the data elements processed by each outer product operation so as to switch between vectors of the second source vector operand when switching between different sub-vectors within a given vector of the first source vector operand.
Un appareil comprend un circuit de traitement pour effectuer des opérations vectorielles, un décodeur d'instructions pour décoder des instructions destinées à commander le circuit de traitement pour effectuer des opérations vectorielles associées, et une unité de stockage de matrice comprenant des éléments de stockage pour stocker des éléments de données, l'unité de stockage de matrice stockant au moins une matrice bidimensionnelle d'éléments de données. L'ensemble d'instructions comprend une instruction de produit externe multiple identifiant un premier opérande vectoriel source, un second opérande vectoriel source, et une matrice bidimensionnelle donnée d'éléments de données à l'intérieur de l'unité de stockage de matrice formant un opérande de destination. Au moins le premier opérande vectoriel source identifie au moins un vecteur d'éléments de données à traiter comme comprenant une pluralité de sous-vecteurs, et au moins le second opérande vectoriel source identifie une pluralité de vecteurs d'éléments de données. En réponse à l'instruction de produit externe multiple, le décodeur d'instructions commande le circuit de traitement pour effectuer une opération de produit externe pour chaque sous-vecteur identifié par le premier opérande vectoriel source. Chaque opération de produit externe consiste à multiplier chaque élément de données d'un sous-vecteur associé identifié par le premier opérande vectoriel source par chaque élément de données d'un groupe d'éléments de données sélectionnés dans le second opérande vectoriel source afin de générer une pluralité de résultats de produit externe, et à utiliser chaque résultat de produit externe pour mettre à jour une valeur conservée dans un élément de stockage associé dans la matrice bidimensionnelle donnée d'éléments de stockage. Un circuit de sélection commande la sélection des éléments de données traités par chaque opération de produit externe de façon à commuter entre des vecteurs du second opérande vectoriel source lors de la commutation entre différents sous-vecteurs dans un vecteur donné du premier opérande vectoriel source. |
---|---|
Bibliography: | Application Number: WO2023GB51347 |