Field-Programmable Optical Component
US-2017031101-A1 · Feb 2, 2017 · US
US10803259B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10803259-B2 |
| Application number | US-202016801015-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 25, 2020 |
| Priority date | Feb 26, 2019 |
| Publication date | Oct 13, 2020 |
| Grant date | Oct 13, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A hybrid analog-digital processor configured to perform a mathematical operation, comprising: circuitry comprising an analog processor and an analog scaling unit, wherein the circuitry is configured to: generate a plurality of input analog signals based on an input data set; set a gain of the analog scaling unit based on one or more scaling factors; program the analog processor with a set of parameters representing a matrix; generate a plurality of output analog signals based on the plurality of input analog signals and the set of parameters; generate a plurality of amplified or attenuated output analog signals by amplifying or attenuating, using the analog scaling unit, the plurality of input analog signals and/or the plurality of output analog signals; and generate an output data set based on the plurality of amplified or attenuated output analog signals. 2. The hybrid analog-digital processor of claim 1 , wherein the hybrid analog-digital processor is further configured to perform a multi-pass computation based on the mathematical operation, wherein the circuitry is further configured to: set the gain of the analog scaling unit to a first value during a first pass of the multi-pass computation; and set the gain of the analog scaling unit to a second value, different from the first value, during a second pass of the multi-pass computation. 3. The hybrid analog-digital processor of claim 1 , wherein generating a plurality of output analog signals based on the plurality of input analog signals and the set of parameters comprises performing a matrix-matrix multiplication based on the plurality of input analog signals and the set of parameters. 4. The hybrid analog-digital processor of claim 1 , wherein generating a plurality of output analog signals based on the plurality of input analog signals and the set of parameters comprises performing a convolution based on the plurality of input analog signals and the set of parameters. 5. The hybrid analog-digital processor of claim 1 , wherein the circuitry comprises a plurality of analog-to-digital converters (ADCs), and the plurality of ADCs are configured to generate the output data set based on the plurality of output analog signals, wherein the plurality of ADCs comprise n-bit ADCs, with n equal to or less than 12. 6. The hybrid analog-digital processor of claim 1 , wherein programming the analog processor comprises: programming, based on the set of parameters, the analog processor with a plurality of matrices that, collectively, represent an arbitrary matrix. 7. The hybrid analog-digital processor of claim 6 , wherein programming the analog processor with a plurality of matrices comprises: programming, based on the set of parameters, the analog processor with a plurality of matrices that, collectively, represent the arbitrary matrix based on a singular value decomposition (SVD) of the arbitrary matrix. 8. The hybrid analog-digital processor of claim 1 , wherein the circuitry is further configured to determine the one or more scaling factors based on the set of parameters and the input data set. 9. The hybrid analog-digital processor of claim 8 , wherein determining the one or more scaling factors comprises determining the one or more scaling factors based on statistical bounds on the set of parameters and statistical bounds on the input data set. 10. A method for performing a mathematical operation, the method comprising: generating a plurality of input analog signals based on an input data set; setting a gain of an analog scaling unit based on one or more scaling factors; programming an analog processor with a set of parameters representing a matrix; generating a plurality of output analog signals based on the plurality of input analog signals and the set of parameters; generating a plurality of amplified or attenuated output analog signals by amplifying or attenuating, using the analog scaling unit, the plurality of input analog signals and/or the plurality of output analog signals; and generating an output data set based on the plurality of amplified or attenuated output analog signals. 11. The method of claim 10 , wherein the hybrid analog-digital processor is further configured to perform a multi-pass computation based on the mathematical operation, wherein the circuitry is further configured to: set the gain of the analog scaling unit to a first value during a first pass of the multi-pass computation; and set the gain of the analog scaling unit to a second value, different from the first value, during a second pass of the multi-pass computation. 12. The method of claim 10 , wherein generating a plurality of output analog signals based on the plurality of input analog signals and the set of parameters comprises performing a matrix-matrix multiplication based on the plurality of input analog signals and the set of parameters. 13. The method of claim 10 , wherein generating a plurality of output analog signals based on the plurality of input analog signals and the set of parameters comprises performing a convolution based on the plurality of input analog signals and the set of parameters. 14. The method of claim 10 , wherein programming the analog processor comprises: programming, based on the set of parameters, the analog processor with a plurality of matrices that, collectively, represent an arbitrary matrix. 15. The method of claim 14 , wherein programming the analog processor with a plurality of matrices comprises: programming, based on the set of parameters, the analog processor with a plurality of matrices that, collectively, represent the arbitrary matrix based on a singular value decomposition (SVD) of the arbitrary matrix. 16. The method of claim 10 , further comprising determining the one or more scaling factors based on the set of parameters and the input data set. 17. The method of claim 16 , wherein determining the one or more scaling factors comprises determining the one or more scaling factors based on statistical bounds on the set of parameters and statistical bounds on the input data set. 18. A hybrid analog-digital processor configured to perform a mathematical operation, comprising: circuitry comprising a photonic processor and at least one amplifier, wherein the circuitry is configured to: generate a plurality of input optical signals based on an input data set; set a gain of the at least one amplifier based on one or more scaling factors; program the photonic processor with a set of parameters representing a matrix; generate a plurality of output optical signals based on the plurality of input optical signals and the set of parameters; generate a plurality of output analog signals based on the plurality of output optical signals; generate a plurality of amplified output signals by amplifying, using the at least one amplifier, at least one among: the plurality of input optical signals, the plurality of output optical signals, and the plurality of output analog signals; and generate an output data set based on the plurality of amplified output signals. 19. The hybrid analog-digital processor of claim 18 , wherein the at least one amplifier comprises an optical amplifier and an electronic amplifier, wherein amplifying, using the at least one amplifier, at least one among the plurality of input optical signals, the plurality of output optical signals and the plurality of output analog signals comprises: amplifying the plurality of input optical signals with the optical amplifier; and amplifying the
Analogue means · CPC title
Differential analysers · CPC title
for correlation; for convolution; for Z or Fourier Transform · CPC title
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
Multiplying only · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.