Apparatus and methods for vector operations

US10585973B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10585973-B2
Application numberUS-201816172592-A
CountryUS
Kind codeB2
Filing dateOct 26, 2018
Priority dateApr 26, 2016
Publication dateMar 10, 2020
Grant dateMar 10, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Aspects for vector operations in neural network are described herein. The aspects may include a vector caching unit configured to store a first vector and a second vector, wherein the first vector includes one or more first elements and the second vector includes one or more second elements. The aspects may further include one or more adders and a combiner. The one or more adders may be configured to respectively add each of the first elements to a corresponding one of the second elements to generate one or more addition results. The combiner may be configured to combine a combiner configured to combine the one or more addition results into an output vector.

First claim

Opening claim text (preview).

We claim: 1. An apparatus for vector operations in a neural network, comprising: a controller unit configured to receive a scalar-subtract-vector instruction that includes a first address of a vector, a second address of a scalar value, and an operation code that indicates an operation to subtract the vector from the scalar value; and a computation module configured to receive the vector and the scalar value from a memory external to the computation module and the controller unit in response to the scalar-subtract-vector instruction based on the first address and the second address, wherein the vector includes one or more elements, and wherein the computation module includes: multiple subtractors configured to respectively subtract the scalar value specified in the scalar-subtract-vector instruction from each element of the vector to generate one or more subtraction results, and a combiner configured to combine the one or more subtraction results into an output vector. 2. The apparatus of claim 1 , wherein the scalar-subtract-vector instruction further indicates a first length of the first vector, and wherein the computation module is configured to retrieve the first vector based on the first address and the first length. 3. The apparatus of claim 1 , wherein the computation module is configured to retrieve the scalar value based on the second address. 4. The apparatus of claim 1 , wherein the scalar-subtract-vector instruction further includes one or more register IDs that identify one or more registers configured to store the first address of the first vector, a first length of the first vector, and the second address of the scalar value. 5. The apparatus of claim 1 , wherein the controller unit comprises an instruction obtaining module configured to obtain the scalar-subtract-vector instruction from an instruction storage device external to the controller unit. 6. The apparatus of claim 5 , wherein the controller unit further comprises a decoding module configured to decode the scalar-subtract-vector instruction received from the instruction obtaining module into one or more micro-instructions. 7. The apparatus of claim 6 , wherein the controller unit further comprises an instruction queue module configured to temporarily store the scalar-subtract-vector instruction received from the decoding module and one or more previously received instructions, and retrieve information corresponding to operation fields in the scalar-subtract-vector instruction. 8. The apparatus of claim 7 , wherein the controller unit further comprises an instruction register configured to store the information corresponding to the operation fields in the scalar-subtract-vector instruction received from the instruction queue module. 9. The apparatus of claim 8 , wherein the controller unit further comprises a dependency processing unit configured to determine whether the scalar-subtract-vector instruction has a dependency relationship with the one or more previously received instructions. 10. The apparatus of claim 9 , wherein the controller unit further comprises a storage queue module configured to store the scalar-subtract-vector instruction while the dependency processing unit is determining whether the scalar-subtract-vector instruction has the dependency relationship with the one or more previously received instructions. 11. A method for vector operations in a neural network, comprising: receiving, by a controller unit, a scalar-subtract-vector instruction that includes a first address of a vector, a second address of a scalar value, and an operation code that indicates an operation to subtract the vector from the scalar value; receiving, by a computation module, the vector and the scalar value from a memory external to the computation module and the controller unit in response to the scalar-subtract-vector instruction based on the first address and the second address, wherein the vector includes one or more elements; respectively subtracting, by multiple subtractors of the computation module, the scalar value specified in the scalar-subtract-vector instruction from each element of the vector to generate one or more subtraction results; and combining, by a combiner, the one or more subtraction results into an output vector. 12. The method of claim 11 , further comprising obtaining, by an instruction obtaining module of the controller unit, the scalar-subtract-vector instruction from an instruction storage device external to the controller unit. 13. The method of claim 12 , further comprising decoding, by a decoding module of the controller unit, the scalar-subtract-vector instruction received from the instruction obtaining module into one or more micro-instructions. 14. The method of claim 13 , further comprising temporarily storing, by an instruction queue module of the controller unit, the scalar-subtract-vector instruction received from the decoding module and one or more previously received instructions, and retrieve information corresponding to operation fields in the scalar-subtract-vector instruction. 15. The method of claim 14 , further comprising storing, by an instruction register of the controller unit, the information corresponding to the operation fields in the scalar-subtract-vector instruction received from the instruction queue module. 16. The method of claim 15 , further comprising determining, by a dependency processing unit of the controller unit, whether the scalar-subtract-vector instruction has a dependency relationship with the one or more previously received instructions. 17. The method of claim 16 , further comprising storing, by a storage queue module of the controller unit, the scalar-subtract-vector instruction while the dependency processing unit is determining whether the scalar-subtract-vector instruction has the dependency relationship with the one or more previously received instructions.

Assignees

Inventors

Classifications

  • according to data content, e.g. floating-point registers, address registers · CPC title

  • using electronic means · CPC title

  • G06F17/16Primary

    Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title

  • Addressing or accessing the instruction operand or the result {; Formation of operand address; Addressing modes (address translation G06F12/00)} · CPC title

  • Vector processors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10585973B2 cover?
Aspects for vector operations in neural network are described herein. The aspects may include a vector caching unit configured to store a first vector and a second vector, wherein the first vector includes one or more first elements and the second vector includes one or more second elements. The aspects may further include one or more adders and a combiner. The one or more adders may be configu…
Who is the assignee on this patent?
Cambricon Tech Corp Ltd
What technology area does this patent fall under?
Primary CPC classification G06F17/16. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).