Arithmetic processing device and control method of the arithmetic processing device
First Claim
1. An arithmetic processing device comprising:
- a memory, a plurality of first register files, a plurality of second register files, and a plurality of arithmetic units, wherein each arithmetic unit has a plurality of product sum arithmetic circuits, and each product sum arithmetic circuit has an adder and a multiplier;
the memory stores first data which has pieces of element data included in a first matrix and second data which has pieces of element data included in a second matrix;
a first register file of the plurality of first register files is arranged for each of the arithmetic units and stores a first respective predetermined row of the first data that is stored in the memory, a second register file of the plurality of second register files is arranged for each of the arithmetic units and stores a second predetermined row of the second data that is stored in the memory;
a pointer control circuit sets a position of a pointer that designates data that is stored in the first register files and the second register files;
and each product-sum arithmetic circuitperforms a first operation which includes first acquiring different pieces of first element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of its first respective predetermined row, second acquiring same pieces of second element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of the second predetermined row, and performing a first multiply operation by using the first acquired first element data and the second acquired second element data, and performing a first add operation based on a result of the first multiply operation and a result of the previous first multiply operation,performs a second operation which includes repeat acquiring different pieces of first element data which is next sequential different data that is designated by the pointer that is moved by one from the first acquiring by the pointer control circuit in a row direction of its first respective predetermined row, repeat acquiring same pieces of second element data which is next sequential different data that is designated by the pointer that is moved by one from the first acquiring by the pointer control circuit in a row direction of the second predetermined row, performing a repeat multiply operation by using the repeat acquired first element data and the repeat acquired second element data, and performing a repeat add operation based on a result of the repeat multiply operation and a result of the previous repeat multiply operation,and repeats the second operation for each of the first element data in its first respective predetermined row of the first matrix and each of the second element data in the second predetermined row of the second matrix.
1 Assignment
0 Petitions
Accused Products
Abstract
Each of product-sum arithmetic units 501 to 503 acquires, from a register file 410, different pieces of first element data included in a first predetermined row of first data that forms a matrix; acquires, from a register file 420, same pieces of second element data included in a second predetermined row of second data that forms a matrix; performs a row portion operation that is an operation performed on the first data by an amount corresponding to a single row by performing a process of performing an operation using the acquired first element data and the second element data; and performs an operation by using the first data and the second data based on the result of the row portion operation.
11 Citations
5 Claims
-
1. An arithmetic processing device comprising:
-
a memory, a plurality of first register files, a plurality of second register files, and a plurality of arithmetic units, wherein each arithmetic unit has a plurality of product sum arithmetic circuits, and each product sum arithmetic circuit has an adder and a multiplier; the memory stores first data which has pieces of element data included in a first matrix and second data which has pieces of element data included in a second matrix; a first register file of the plurality of first register files is arranged for each of the arithmetic units and stores a first respective predetermined row of the first data that is stored in the memory, a second register file of the plurality of second register files is arranged for each of the arithmetic units and stores a second predetermined row of the second data that is stored in the memory; a pointer control circuit sets a position of a pointer that designates data that is stored in the first register files and the second register files; and each product-sum arithmetic circuit performs a first operation which includes first acquiring different pieces of first element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of its first respective predetermined row, second acquiring same pieces of second element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of the second predetermined row, and performing a first multiply operation by using the first acquired first element data and the second acquired second element data, and performing a first add operation based on a result of the first multiply operation and a result of the previous first multiply operation, performs a second operation which includes repeat acquiring different pieces of first element data which is next sequential different data that is designated by the pointer that is moved by one from the first acquiring by the pointer control circuit in a row direction of its first respective predetermined row, repeat acquiring same pieces of second element data which is next sequential different data that is designated by the pointer that is moved by one from the first acquiring by the pointer control circuit in a row direction of the second predetermined row, performing a repeat multiply operation by using the repeat acquired first element data and the repeat acquired second element data, and performing a repeat add operation based on a result of the repeat multiply operation and a result of the previous repeat multiply operation, and repeats the second operation for each of the first element data in its first respective predetermined row of the first matrix and each of the second element data in the second predetermined row of the second matrix. - View Dependent Claims (2, 3, 4)
-
-
5. A control method of an arithmetic processing device connected to a memory that stores first data which has pieces of element data included in a first matrix and second data which has pieces of element data that form a second matrix, the control method comprising:
-
storing, in each of a plurality of first register files arranged for each of a plurality of computing units, a first respective predetermined row of the first data stored in the memory, wherein each computing unit has a plurality of product-sum computing circuits; storing, in each of a plurality of second register files arranged for each of the plurality of computing units, a second predetermined row of the second data stored in the memory; setting, by a pointer control circuit, a position of a pointer that designates data that is stored in the first register file and the second register file; causing each of the product-sum computing circuits to perform a first operation which includes first acquiring different pieces of first element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of its first respective predetermined row, second acquiring same pieces of second element data that is designated by the pointer whose position is set by the pointer control circuit from a top row location of the second predetermined row, and performing a first multiply operation by using the first acquired first element data and the second acquired second element data, and performing a first add operation based on a result of the first multiply operation and a result of the previous first multiply operation, causing each of the product-sum computing circuits to perform a second operation which includes repeat acquiring different pieces of first element data which is next sequential different data designated by the pointer that is moved by one from the first acquiring in a row direction of its first respective predetermined row, repeat acquiring same pieces of second element data which is next sequential different data that is designated by the pointer that is moved by one from the first acquiring in a row direction of the second predetermined row, performing a repeat multiply operation by using the repeat acquired first element data and the repeat acquired second element data, and performing a repeat add operation based on a result of the repeat multiply operation and a result of the previous repeat multiply operation; and causing each of the product-sum computing circuits to perform repeating the second operation for each of the first element data in its first respective predetermined row of the first matrix and each of the second element data in the second predetermined row of the second matrix.
-
Specification