IP Library Granted Patent US 11,562,216
Granted Patent B2
US 11,562,216 · App. 16/721,875 · Granted Jan 24, 2023

Integrated circuit chip apparatus

Inventors: Shaoli Liu (Beijing, CN); Xinkai Song (Beijing, CN); Bingrui Wang (Beijing, CN); Yao Zhang (Beijing, CN); Shuai Hu (Beijing, CN)
Assignee: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
G06N3/063G06F7/483G06F7/5443G06F17/153G06F17/16G06N3/04G06N3/06G06N3/08H01L25/065G06F2207/4824
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,562,216
App. No.
16/721,875
Granted
Jan 24, 2023
Kind
B2
Abstract

Provided are an integrated circuit chip apparatus and a related product, the integrated circuit chip apparatus being used for executing a multiplication operation, a convolution operation or a training operation of a neural network. The present technical solution has the advantages of a small amount of calculation and low power consumption.

Claims (62)

1. An integrated circuit chip apparatus comprising: a main processing circuit and a plurality of basic processing circuits, wherein

the main processing circuit or at least one of the plurality of basic processing circuits includes a data type conversion circuit configured to convert data between a floating point data type and a fixed point data type,

the plurality of basic processing circuits are configured to perform a first set of neural network computations in parallel on data transferred by the main processing circuit to obtain a plurality of computation results, and transfer the plurality of computation results to the main processing circuit, and

the main processing circuit is configured to perform a second set of neural network computations in series on the plurality of computation results.

2. The integrated circuit chip apparatus of claim 1 , further comprising: a branch processing circuit, wherein the branch processing circuit is located between the main processing circuit and at least one basic processing circuit, wherein the branch processing circuit is configured to forward data between the main processing circuit and at least one basic processing circuit.

3. The integrated circuit chip apparatus of claim 1 , wherein the main processing circuit is configured to:

receive a data block and a computation instruction;

convert the data block to a fixed point data block using the data type conversion circuit;

divide the fixed point data block into a distribution data block and a broadcasting data block according to the computation instruction;

partition the distribution data block to obtain a plurality of basic data blocks;

distribute the plurality of basic data blocks to the plurality of basic processing circuits; and

broadcast the broadcasting data block to the plurality of basic processing circuits.

4. The integrated circuit chip apparatus of claim 3 , wherein the basic processing circuits are configured to:

perform inner product computations on the basic data blocks and the broadcasting data block in the fixed point data type to obtain the plurality of computation results.

5. The integrated circuit chip apparatus of claim 4 , wherein the main processing circuit is further configured to:

convert the plurality of computation results to the floating point data type; and

obtain an instruction result of the data block and the computation instruction based on the computation results in the floating point data type.

6. The integrated circuit chip apparatus of claim 3 , wherein the main processing circuit is configured to broadcast the broadcasting data block to each of the plurality of basic processing circuits.

7. The integrated circuit chip apparatus of claim 4 , wherein the basic processing circuits are configured to accumulate results of the inner product computations to obtain the computation results.

8. The integrated circuit chip apparatus of claim 4 , wherein the computation result transferred to the main processing circuit by each basic processing circuit includes a plurality of inner product results, and the main processing circuit is configured to:

accumulate the plurality of inner product results to obtain an accumulation result corresponding to each basic processing circuit; and

sort the accumulation results corresponding to the plurality of basic processing circuits to obtain an instruction result of the computation instruction.

9. The integrated circuit chip apparatus of claim 3 , wherein the main processing circuit is further configured to:

divide the broadcasting data block into a plurality of partial broadcasting data blocks; and

sequentially broadcast the plurality of partial broadcasting data blocks to the plurality of basic processing circuits.

10. The integrated circuit chip apparatus of claim 9 , wherein the basic processing circuits are configured to, for each partial broadcasting data block:

perform inner product computations on the partial broadcasting data block and the corresponding basic data blocks in the fixed point data type to obtain a plurality of inner product results;

accumulate the inner product results to obtain a plurality of partial computation results; and

transfer the partial computation results to the main processing circuit.

11. The integrated circuit chip apparatus of claim 1 , wherein

the main processing circuit includes a main register or a main on-chip caching circuit, and

the basic processing circuit includes a basic register or a basic on-chip caching circuit.

12. The integrated circuit chip apparatus of claim 10 , wherein the main processing circuit includes one or more of a vector computing unit circuit, an arithmetic and logic unit circuit, an accumulator circuit, a matrix transposition circuit, a direct memory access circuit, a data type conversion circuit, or a data rearrangement circuit.

13. The integrated circuit chip apparatus of claim 1 , wherein the main processing circuit is configured to:

obtain a data block and a computation instruction;

divide the data block into a distribution data block and a broadcasting data block according to the computation instruction;

partition the distribution data block to obtain a plurality of basic data blocks; and

distribute the plurality of basic data blocks to the plurality of basic processing circuits; and

broadcast the broadcasting data block to the plurality of basic processing circuits.

14. The integrated circuit chip apparatus of claim 13 , wherein the basic processing circuits are configured to:

convert the basic data blocks and the broadcasting data block into data blocks of the fixed point data type;

perform inner product computations between the basic data blocks and the broadcasting data block in the fixed point data type to obtain fixed point computation results;

convert the computation results from the fixed point data type to the floating point data type; and

transfer the computation results in the floating point data type to the main processing circuit,

wherein the main processing circuit is configured to process the computation results to obtain an instruction result of the data block and the computation instruction.

15. The integrated circuit chip apparatus of claim 2 , wherein the integrated circuit chip apparatus includes a plurality of the branch processing circuits, wherein the main processing circuit are connected to the plurality of branch processing circuits respectively, and each branch processing circuit is connected to at least one basic processing circuit.

16. The integrated circuit chip apparatus of claim 1 , wherein

the data is one or more of a vector; a matrix, or an n-dimensional data block, where n is an integer larger than 2.

17. The integrated circuit chip apparatus of claim 3 , wherein the computation instruction is a multiplication instruction, wherein the main processing circuit determines a multiplier data block as the broadcasting data block and a multiplicand data block as the distribution data block.

18. The integrated circuit chip apparatus of claim 3 , wherein the computation instruction is a convolution instruction, wherein the main processing circuit determines an input data block as the broadcasting data block, and a convolution kernel as the distribution data block.

19. A processing system, comprising:

a neural network computing apparatus;

a general interconnection interface; and

a general-purpose processing apparatus connected to the neural network computing apparat via the general interconnection interface

wherein the neural network computing apparatus further comprises a main processing circuit and a plurality of basic processing circuits, wherein the main processing circuit or at least one of the plurality of basic processing circuits includes a data type conversion circuit configured to convert data between a floating point data type and a fixed point data type,

wherein the plurality of basic processing circuits are configured to perform a first set of neural network computations in parallel on data transferred by the main processing circuit to obtain a plurality of computation results, and transfer the plurality of computation results to the main processing circuit, and

wherein the main processing circuit is configured to perform a second set of neural network computations in series on the plurality of computation results.

20. A method for performing neural network operations using an integrated circuit chip apparatus comprising a main processing circuit and a plurality of basic processing circuits, the method comprising:

converting data between a floating point data type and a fixed point data type using a data type conversion circuit in the main processing circuit or at least one of the basic processing circuits;

performing a first set of neural network computations in parallel on the data using the plurality of basic processing circuits to obtain a plurality of computation results;

transferring the plurality of computation results from the plurality of basic processing circuits to the main processing circuit; and

performing a second set of neural network computations in series on the plurality of computation results using the main processing circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2020
From: LIU, SHAOLI; SONG, XINKAI; WANG, BINGRUI; ZHANG, YAO; HU, SHUAI
To: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
Reel/Frame 051457/0081 →
Priority Claims (7)
CN 201711343642.1 · Dec 14, 2017 · national
CN 201711346333.X · Dec 14, 2017 · national
CN 201711347310.0 · Dec 14, 2017 · national
CN 201711347406.7 · Dec 14, 2017 · national
CN 201711347407.1 · Dec 14, 2017 · national
CN 201711347408.6 · Dec 14, 2017 · national
CN 201711347767.1 · Dec 14, 2017 · national
Continuity (2)
Continuation PCTCN2019073453 · Jan 28, 2019
Related Publication 20200125939A1 · Apr 23, 2020