Search

KR-20260062670-A - Shifter operation apparatus for systolic array data input processing, shifter operation method, and computer-readable recording medium for performing the same

KR20260062670AKR 20260062670 AKR20260062670 AKR 20260062670AKR-20260062670-A

Abstract

A shift operation device according to exemplary embodiments of the present invention may be composed of a processor and a memory unit, and the processor of the shift operation device may include a data input unit into which a plurality of matrix data are input, an array conversion unit for converting the plurality of matrix data into an array suitable for a systolic array operation, a shifter unit for assigning one of the matrix data whose array has been converted as a target data for operation, and a data operation unit for performing a systolic array operation using the target data for operation, and the array conversion unit may be controlled to convert the array of the plurality of matrix data by rotating it in a vertical direction.

Inventors

  • 양성원
  • 이한범
  • 심승필

Assignees

  • 수퍼게이트 주식회사

Dates

Publication Date
20260507
Application Date
20241029

Claims (10)

  1. In a shift operation device composed of a processor and a memory unit, The above processor is, A data input section into which multiple matrix data are input; An array conversion unit for converting the above plurality of matrix data into an array suitable for systolic array operations; A shifter for assigning one of the multiple matrix data transformed by the above array as the data to be operated on; and A data operation unit for performing shrink array operations using the above-mentioned operation target data; is included, A shift operation device for processing data input of a contracted array, characterized in that the array conversion unit is controlled to rotate and convert the array of the plurality of matrix data in a vertical direction.
  2. In paragraph 1, A shift operation device for processing data input of a contracted array, characterized in that the array conversion unit is controlled to convert the array of the plurality of matrix data by rotating it 90° clockwise.
  3. In paragraph 2, A shift operation device for processing data input of a shrinking array, characterized in that the array conversion unit converts each of the plurality of matrix data into a transposed matrix by swapping the rows and columns of each of the matrix data, and then controls each column of the transposed matrix to change in the reverse order.
  4. In paragraph 1, The above shifter part is, Among the multiple matrix data transformed from the above array, the data in the last column located at the far right of the first row is assigned as the first operation target data, and A shift operation device for processing data input of a contracted array, characterized in that the data in the first column located at the far left of the last row among the multiple matrix data transformed by the above array is controlled to be assigned as the last operation target data.
  5. In paragraph 4, When each of the multiple matrix data transformed by the above array consists of a matrix (mxn matrix) composed of m rows and n columns, the shifter part is, Assign the data in the nth column located at the far right of each row from the first row to the mth row as the first to mth operation target data, and The data in the (n-1)th column, located in the second column from the right of each row from the first to the mth row, is assigned as the (m+1)th to 2mth operation target data, and A shift operation device for processing data input of a shrink array, characterized by being controlled to assign the data of the first column located at the far left of each of the first row to the m-th row to the (m(n-1)+1)-th to mn-th operation target data.
  6. In paragraph 5, A shift operation device for processing data input of a contracted array, characterized in that the data operation unit is controlled to output output matrix data by sequentially performing contracted array operations on the operation target data assigned to each of the plurality of matrix data through the shifter unit in order.
  7. In a shift operation method using a shift operation device composed of a processor and a memory unit, A step of receiving multiple matrix data; A step of converting the above plurality of matrix data into an array suitable for a systolic array operation; A step of assigning one of the plurality of matrix data transformed by the above array as the data to be operated on; and The method includes the step of performing a shrink array operation using the above-mentioned operation target data; The above array transformation step is controlled to transform the array of the plurality of matrix data by rotating it in a vertical direction, and A shift operation method for processing data input of a shrinking array, characterized in that the row data and column data constituting each of the plurality of matrix data transformed by the above array are sequentially shifted to be assigned new numbers different from the existing row data and column data, and are controlled to be assigned as data to be operated on for the shrinking array operation.
  8. In Paragraph 7, A shift operation method for processing data input of a contracted array, characterized in that, when each of the above-mentioned multiple matrix data is composed of a matrix (mxn matrix) consisting of m rows and n columns, the data in the nth column located at the far right of each row from the first row to the mth row is assigned as the first to mth operation target data, the data in the n-1th column located at the second column from the far right of each row from the first row to the mth row is assigned as the m+1th to 2mth operation target data, and the data in the first column located at the far left of each row from the first row to the mth row is assigned as the (m(n-1)+1)th to mnth operation target data.
  9. A computer-readable recording medium having a program recorded thereon for executing a shift operation method for processing data input of a shrink array as described in any one of claims 7 to 8.
  10. A computer program containing program code for executing a shift operation method for processing data input of a shrink array described in any one of claims 7 to 9, stored on a computer-readable recording medium.

Description

Shifter operation apparatus for systolic array data input processing, shifter operation method, and computer-readable recording medium for performing the same The present invention relates to a shift operation device for processing data input of a shrink array, a shift operation method, and a computer-readable recording medium for performing the same. Artificial neural networks are computing systems with an architecture based on biological neural networks, and they can be implemented through circuits and data paths such as systolic arrays. Systolic arrays can accelerate performance during the training and inference phases of artificial neural networks. In the training phase, input data is provided to train the model, while in the inference phase, new input data is processed to derive prediction results. Since user applications primarily utilize the model during the inference phase, this stage can be highly time-sensitive, and delays occurring during this phase can negatively impact the user experience. A shrink array can be composed of an array of processing elements capable of performing concurrent arithmetic operations. This array can be initialized with weights corresponding to a trained network, and inference can lead to an output by passing input data to the array and processing it. In this context, it is crucial that this array operates as quickly as possible to achieve high inference throughput. However, there are currently limits to such increases, as raising clock speeds can have negative impacts on power consumption, processor size, and required cooling. FIG. 1 is a configuration diagram for explaining a shift operation device according to exemplary embodiments of the present invention. FIGS. 2 and FIGS. 3 are drawings for illustrating a shift operation method according to exemplary embodiments of the present invention. Figure 4 is a conceptual diagram illustrating the data input processing process of a conventional shrinkage array. FIG. 5 is a flowchart illustrating a shift operation method according to exemplary embodiments of the present invention. Specific embodiments of the present invention will be described below. The following detailed description is provided to facilitate a comprehensive understanding of the methods, devices, and/or systems described herein. However, this is merely illustrative and the present invention is not limited thereto. In describing the embodiments of the present invention, detailed descriptions of known technologies related to the present invention are omitted if it is determined that such detailed descriptions may unnecessarily obscure the essence of the present invention. Furthermore, the terms described below are defined in consideration of their functions within the present invention, and these may vary depending on the intentions or practices of the user or operator. Therefore, such definitions should be based on the content throughout this specification. Terms used in the detailed description are intended merely to describe the embodiments of the present invention and should not be limiting in any way. Unless explicitly stated otherwise, expressions in the singular form include the meaning of the plural form. In this description, expressions such as "include" or "comprise" are intended to refer to certain characteristics, numbers, steps, actions, elements, parts thereof, or combinations thereof, and should not be interpreted to exclude the existence or possibility of one or more other characteristics, numbers, steps, actions, elements, parts thereof, or combinations thereof other than those described. In addition, terms such as first, second, A, B, (a), (b), etc. may be used when describing the components of the embodiments of the present invention. These terms are used merely to distinguish the components from other components, and the essence, order, or sequence of the components is not limited by the terms. Figure 4 is a conceptual diagram illustrating the data input processing process of a conventional shrinkage array. Referring to Figure 4, the conventional Weight Stationary method, that is, the systolic array using weight data, is mainly used to increase efficiency in calculations such as matrix multiplication, and in the conventional data input processing method of the systolic array, a method is applied in which weight data is loaded into each processing element (PE) of the array in advance and then the input data (input matrix) is processed. Specifically, weight data is first preloaded into each processing element (PE) of the shrink array, and this process is an initialization step in which the weights to be used by all PEs must already be set. Next, the input matrix data is rotated 90 degrees so that the data can be correctly entered into each row of the shrinking array. At this time, the rotated data proceeds in the column direction, allowing each PE to perform calculations simultaneously. After that, the rotated input data is entered into each r