IP Library Granted Patent US 11,087,204
Granted Patent B2
US 11,087,204 · App. 15/958,322 · Granted Aug 10, 2021

Resistive processing unit with multiple weight readers

Inventors: Tayfun Gokmen (Briarcliff Manor, NY); Wilfried Haensch (Somers, NY); Seyoung Kim (Weschester, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06N3/0445G06N3/084G06N3/088
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,087,204
App. No.
15/958,322
Granted
Aug 10, 2021
Kind
B2
Abstract

Embodiments of the present invention include a crossbar array that includes a resistive processing unit (RPU) device at each crosspoint in the crossbar array. The RPU device includes a single weight storage element, and multiple weight reader elements. A first weight reader element is coupled with a first row wire to compute a first matrix product value using a first value and a stored value, the first value being transmitted via the first row wire and the stored value being stored in the single weight storage element. A second weight reader element is coupled with a second row wire to compute a second matrix product value of a second value and said stored value, the second value being transmitted via the second row wire.

Claims (50)

1. A crossbar array comprising:

a resistive processing unit (RPU) device at each of a plurality of crosspoints, the RPU device comprising:

a single weight storage element; and

a plurality of weight reader elements comprising:

a first weight reader element that is coupled with a first row wire, the first weight reader configured to compute a first matrix product value using a first value and a stored value, the first value being transmitted via the first row wire and the stored value being stored in the single weight storage element; and

a second weight reader element that is coupled with a second row wire to compute a second matrix product value of a second value and said stored value, the second value being transmitted via the second row wire.

2. The crossbar array of claim 1 , wherein the first weight reader element is further coupled to a first column wire, the first matrix product value being transmitted via the first column wire.

3. The crossbar array of claim 2 , the first weight reader element configured to compute the first matrix product value by multiplying the first value and the stored value, and adding a sum value being transmitted via the first column wire.

4. The crossbar array of claim 3 , wherein the second weight reader element is further coupled to a second column wire, the second matrix product value being transmitted via the second column wire.

5. The crossbar array of claim 4 , wherein the second weight reader element is configured to compute the second matrix product value by:

multiplying the second value and the stored value; and

adding a sum value being transmitted via the second column wire.

6. The crossbar array of claim 1 , wherein the RPU devices compute corresponding matrix product values concurrently.

7. The crossbar array of claim 1 , wherein the RPU devices:

receives column vectors of a first matrix via corresponding row wires; and

stores values of a second matrix that is to be multiplied with the first matrix.

8. A system comprising:

a controller; and

a crossbar array coupled with the controller, the crossbar array configured to perform a matrix-matrix multiplication, the crossbar array receives a first input matrix and a second input matrix from the controller, the crossbar array comprising:

a resistive processing unit (RPU) device at each of a plurality of crosspoints, the RPU device comprising:

a single weight storage element; and

a plurality of weight reader elements comprising:

a first weight reader element that is coupled with a first row wire, the first weight reader configured to compute a first matrix product value using a first value and a stored value, the first value being transmitted via the first row wire and the stored value being stored in the single weight storage element; and

a second weight reader element that is coupled with a second row wire to compute a second matrix product value of a second value and said stored value, the second value being transmitted via the second row wire.

9. The system of claim 8 , wherein the first weight reader element is further coupled to a first column wire, the first matrix product value being transmitted via the first column wire.

10. The system of claim 9 , the first weight reader element configured to compute the first matrix product value by multiplying the first value and the stored value, and adding a sum value being transmitted via the first column wire.

11. The system of claim 10 , wherein the second weight reader element is further coupled to a second column wire, the second matrix product value being transmitted via the second column wire.

12. The system of claim 11 , wherein the second weight reader element configured to compute the second matrix product value by:

multiplying the second value and the stored value; and

adding a sum value being transmitted via the second column wire.

13. The system of claim 8 , wherein the RPU device computes corresponding matrix product values concurrently.

14. The system of claim 8 , wherein the RPU device:

receives column vectors of the first input matrix via corresponding row wires; and

stores values of the second input matrix that is to be multiplied with the first input matrix.

15. A method for performing matrix-matrix multiplication, the method comprising:

receiving, by a crossbar array, a first input matrix and a second input matrix for performing the matrix-matrix multiplication; and

performing the matrix-matrix multiplication by the crossbar array in parallel using a resistive processing unit (RPU) device at each of a plurality of crosspoints, the RPU device comprising:

a single weight storage element; and

a plurality of weight reader elements; wherein performing the matrix-matrix multiplication comprises:

computing, by a first weight reader element from the plurality of weight readers, the first weight reader element is coupled with a first row wire, a first matrix product value using a first value and a stored value, the first value being transmitted via the first row wire and the stored value being stored in the single weight storage element; and

computing, by a second weight reader element from the plurality of weight readers, the second weight reader element is coupled with a second row wire, a second matrix product value of a second value and said stored value, the second value being transmitted via the second row wire.

16. The method of claim 15 , wherein the first weight reader element is further coupled to a first column wire, the first matrix product value being transmitted via the first column wire.

17. The method of claim 16 , wherein computing the first matrix product value by the first weight reader element comprises multiplying the first value and the stored value, and adding a sum value being transmitted via the first column wire.

18. The method of claim 17 , wherein the second weight reader element is further coupled to a second column wire, the second matrix product value being transmitted via the second column wire.

19. The method of claim 18 , wherein computing the second matrix product value by the second weight reader element comprises:

multiplying the second value and the stored value; and

adding a sum value being transmitted via the second column wire.

20. The method of claim 15 , wherein the RPU device:

receives column vectors of the first input matrix via corresponding row wires; and

stores values of the second input matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2018
From: GOKMEN, TAYFUN; HAENSCH, WILFRIED; KIM, SEYOUNG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045599/0421 →
Continuity (1)
Related Publication 20190325291A1 · Oct 24, 2019