IP Library Granted Patent US 11,886,942
Granted Patent B2
US 11,886,942 · App. 17/545,137 · Granted Jan 30, 2024

Hybrid analog-digital matrix processors

Inventors: Tyler J. Kenney (Boston, MA); Martin B. Z. Forsythe (Jamaica Plain, MA); Tomo Lazovich (Cambridge, MA); Darius Bunandar (Boston, MA)
Assignee: Lightmatter, Inc.
G06J1/02G06F17/16
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,886,942
App. No.
17/545,137
Granted
Jan 30, 2024
Kind
B2
Abstract

Techniques for computing matrix operations for arbitrarily large matrices on a finite-sized hybrid analog-digital matrix processor are described. Techniques for gain adjustment in a finite-sized hybrid analog-digital matrix processor are described which enable the system to obtain higher energy efficiencies, greater physical density and improved numerical accuracy. In some embodiments, these techniques enable maximization of the predictive accuracy of a GEMM-based convolutional neural network using low-precision data representations.

Claims (48)

1. A hybrid analog-digital processor comprising:

circuitry comprising an analog processor, wherein the circuitry is configured to perform an operation involving a matrix, the performing comprising:

determining a plurality of scaling factors for a plurality of portions of the matrix, the plurality of scaling factors comprising a first scaling factor for a first portion of the plurality of portions and a second scaling factor for a second portion of the plurality of portions;

scaling the plurality of portions of the matrix using respective ones of the plurality of scaling factors to obtain a scaled plurality of portions of the matrix, the scaling comprising scaling the first portion of the matrix using the first scaling factor and scaling the second portion of the matrix using the second scaling factor;

programming the analog processor using the scaled plurality of portions of the matrix;

performing, by the analog processor programmed using the scaled plurality of portions of the matrix, the operation to generate an output; and

determining a result of the operation involving the matrix using the output generated by the analog processor.

2. The hybrid analog-digital processor of claim 1 , wherein the performing further comprises:

determining a plurality of output scaling factors for the output generated by the analog processor;

scaling the output using the plurality of output scaling factors to obtain a scaled output; and

determining the result of the matrix operation using the scaled output.

3. The hybrid analog-digital processor of claim 2 , wherein the plurality of portions of the matrix have values stored using a dynamic range, and determining the plurality of output scaling factors for the output comprises determining the plurality of output scaling factors to restore the output to the dynamic range.

4. The hybrid analog digital processor of claim 1 , wherein each of the plurality of portions of the matrix is a row or column of the matrix.

5. The hybrid analog digital processor of claim 1 , wherein each of the plurality of portions of the matrix is a vector of the matrix.

6. The hybrid analog-digital processor of claim 1 , further comprising an analog-to-digital converter (ADC), wherein determining the plurality of scaling factors for the plurality of portions of the matrix comprises determining the plurality of scaling factors based on a dynamic range of the ADC.

7. The hybrid-analog digital processor of claim 6 , wherein a dynamic range of the floating point representation is greater than a dynamic range of the fixed point representation.

8. The hybrid-analog digital processor of claim 1 , wherein:

values of the plurality of portions of the matrix are stored in a floating point representation and the analog processor is configured to operate using a fixed-point representation; and

programming the analog processor using the scaled plurality of portions of the matrix comprises programming the analog processor based on the fixed-point representation.

9. The hybrid-analog digital processor of claim 1 , wherein the circuitry is configured to determine an output of a neural network, wherein determining the output of the neural network comprises the performing of the operation involving the matrix.

10. A method comprising:

performing an operation involving a matrix using an analog processor of a hybrid analog-digital processor, the performing comprising:

determining a plurality of scaling factors for a plurality of portions of the matrix;

scaling the plurality of portions of the matrix using respective ones of the plurality of scaling factors to obtain a scaled plurality of portions of the matrix;

programming the analog processor using the scaled plurality of portions of the matrix;

performing, by the analog processor programmed using the scaled plurality of portions of the matrix, the operation to generate an output; and

determining a result of the operation involving the matrix using the output generated by the analog processor.

11. The method of claim 10 , wherein performing the operation involving the matrix further comprises:

determining a plurality of output scaling factors for the output generated by the analog processor; and

scaling the output using the plurality of output scaling factors to obtain a scaled output; and

determining the result of the matrix operation using the scaled output.

12. The method of claim 11 , wherein the plurality of portions of the matrix have values stored using a dynamic range, and determining the plurality of output scaling factors for the output comprises determining the plurality of output scaling factors to restore the output to the dynamic range.

13. The method of claim 10 , wherein each of the plurality of portions of the matrix is a vector of the matrix.

14. The method of claim 10 , wherein determining the plurality of scaling factors for the plurality of portions of the matrix comprises determining the plurality of scaling factors based on a dynamic range of an ADC of the hybrid analog-digital processor.

15. The method of claim 10 , wherein:

values of the plurality of portions of the matrix are stored in a floating point representation and the analog processor is configured to operate using a fixed-point representation; and

programming the analog processor using the scaled plurality of portions of the matrix comprises programming the analog processor based on the fixed-point representation.

16. The method of claim 10 , further comprising determining an output of a neural network, wherein determining the output of the neural network comprises the performing of the operation involving the matrix.

17. A non-transitory computer-readable storage medium storing instructions that, when executed by a hybrid analog-digital processor, cause the hybrid analog-digital processor to perform an operation involving a matrix using an analog processor of the hybrid analog-digital processor, the performing comprising:

determining a plurality of scaling factors for a plurality of portions of the matrix;

scaling the plurality of portions of the matrix using respective ones of the plurality of scaling factors to obtain a scaled plurality of portions of the matrix;

programming the analog processor using the scaled plurality of portions of the matrix;

performing, by the analog processor programmed using the scaled plurality of portions of the matrix, the operation to generate an output; and

determining a result of the operation involving the matrix using the output generated by the analog processor.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the performing further comprises:

determining a plurality of output scaling factors for the output generated by the analog processor; and

scaling the output using the plurality of output scaling factors to obtain a scaled output; and

determining the result of the matrix operation using the scaled output.

Assignments (4)
TERMINATION OF IP SECURITY AGREEMENT Recorded Nov 5, 2024
From: EASTWARD FUND MANAGEMENT, LLC
To: LIGHTMATTER, INC.
Reel/Frame 069304/0700 →
RELEASE OF SECURITY INTEREST Recorded Mar 31, 2023
From: EASTWARD FUND MANAGEMENT, LLC
To: LIGHTMATTER, INC.
Reel/Frame 063209/0966 →
SECURITY INTEREST Recorded Dec 27, 2022
From: LIGHTMATTER, INC.
To: EASTWARD FUND MANAGEMENT, LLC
Reel/Frame 062230/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2022
From: KENNEY, TYLER J.; FORSYTHE, MARTIN B.Z.; LAZOVICH, TOMO; BUNANDAR, DARIUS
To: LIGHTMATTER, INC.
Reel/Frame 059162/0240 →
Continuity (5)
Continuation 17246892 · May 3, 2021
Continuation 16995674 · Aug 17, 2020
Continuation 16800998 · Feb 25, 2020
Provisional Application 62810851 · Feb 26, 2019
Related Publication 20220100973A1 · Mar 31, 2022
Cited By (1)
US 12,373,687