Residue number system in a photonic matrix accelerator
US-2022229634-A1 · Jul 21, 2022 · US
US12307219B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12307219-B2 |
| Application number | US-202318496494-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 27, 2023 |
| Priority date | Dec 7, 2020 |
| Publication date | May 20, 2025 |
| Grant date | May 20, 2025 |
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.
A photonic processor uses light signals and a residue number system (RNS) to perform calculations. The processor sums two or more values by shifting the phase of a light signal with phase shifters and reading out the summed phase with a coherent detector. Because phase winds back every 2π radians, the photonic processor performs addition modulo 2π. A photonic processor may use the summation of phases to perform dot products and correct erroneous residues. A photonic processor may use the RNS in combination with a positional number system (PNS) to extend the numerical range of the photonic processor, which may be used to accelerate homomorphic encryption (HE)-based deep learning.
Opening claim text (preview).
What is claimed is: 1. A photonic processor for representing numbers using a redundant residue number system (RRNS) that includes a set of moduli, the set of moduli including n moduli and k redundant moduli, the photonic processor comprising: at least one optical transmitter configured to, for each modulus of the set of moduli: provide a first value associated with the modulus; and provide a second value associated with the modulus; at least one phase shifter configured to, for each modulus of the set of moduli: shift, by each of the first value and the second value, a phase of a light signal; and at least one receiver configured to, for each modulus of the set of moduli: detect the shifted phase of the light signal; and output the detected phase of the light signal as representing a residue of a sum of the first value and the second value, the residue being associated with the modulus, wherein the photonic processor is further configured to use a residue associated with a modulus of the k redundant moduli to detect and/or correct an error of a residue associated with a modulus of the n moduli, wherein the photonic processor is configured to detect and/or correct the error by: forming a plurality of sets of moduli, each set of moduli comprising p moduli; determining a plurality of representations by, for each set of moduli of the plurality of sets of moduli, converting a set of residues associated with the set of moduli to a representation of the set of residues; determining a correct representation using the plurality of representations. 2. The photonic processor of claim 1 , wherein determining the correct representation using the plurality of representations comprises: selecting a representation of the plurality of representations that occurs most often in the plurality of representations. 3. The photonic processor of claim 1 , wherein the representation of the set of residues comprises an integer. 4. The photonic processor of claim 1 , wherein converting the set of residues associated with the set of moduli to the representation of the set of residues comprises: converting the set of residues associated with the set of moduli to the representation without using Chinese Remainder Theorem (CRT). 5. The photonic processor of claim 1 , wherein p is equal to n. 6. The photonic processor of claim 1 , wherein the photonic processor is configured to detect and/or correct the error by: providing a first residue associated with a redundant modulus of the k redundant moduli; using a residue associated with a modulus of the n moduli, computing a second residue associated with the redundant modulus of the k redundant moduli; comparing the first residue with the second residue; and determining that there is an erroneous residue when the first residue does not match the second residue. 7. The photonic processor of claim 6 , wherein the photonic processor is further configured to detect and/or correct the error by: determining whether the erroneous residue is associated with a modulus of the n moduli, or a redundant modulus of the k redundant moduli. 8. The photonic processor of claim 7 , wherein the photonic processor is further configured to detect and/or correct the error by: responsive to determining that the erroneous residue is associated with a modulus of the n moduli: computing an index using the first residue and the second residue each associated with the redundant modulus of the k redundant moduli; using the index, looking up a correction factor in an error correction table; and computing a corrected residue using the erroneous residue and the correction factor. 9. The photonic processor of claim 1 , wherein the photonic processor is configured to: responsive to determining that there is a number of errors that is greater than an error correction threshold, perform maximum likelihood (ML) decoding to determine a set of corrected residues that are closest to a set of residues associated with the detected phases of light. 10. A method of using a photonic processor to represent numbers using a redundant residue number system (RRNS) that includes a set of moduli, the set of moduli including n moduli and k redundant moduli, the method comprising: for each modulus of the set of moduli: providing a first value associated with the modulus; providing a second value associated with the modulus; shifting, by each of the first value and the second value, a phase of a light signal; detecting the shifted phase of the light signal; and outputting the detected phase of the light signal as representing a residue of a sum of the first value and the second value, the residue being associated with the modulus; and using a residue associated with a modulus of the k redundant moduli to detect and/or correct an error of a residue associated with a modulus of the n moduli, wherein detecting and/or correcting the error comprises: forming a plurality of sets of moduli, each set of moduli comprising p moduli; determining a plurality of representations by, for each set of moduli of the plurality of sets of moduli, converting a set of residues associated with the set of moduli to a representation of the set of residues; determining a correct representation using the plurality of representations. 11. The method of claim 10 , wherein determining the correct representation using the plurality of representations comprises: selecting a representation of the plurality of representations that occurs most often in the plurality of representations. 12. The method of claim 10 , wherein the representation of the set of residues comprises an integer. 13. The method of claim 10 , wherein converting the set of residues associated with the set of moduli to the representation of the set of residues comprises: converting the set of residues associated with the set of moduli to the representation without using Chinese Remainder Theorem (CRT). 14. The method of claim 10 , wherein p is equal to n. 15. The method of claim 10 , wherein detecting and/or correcting the error comprises: providing a first residue associated with a redundant modulus of the k redundant moduli; using a residue associated with a modulus of the n moduli, computing a second residue associated with the redundant modulus of the k redundant moduli; comparing the first residue with the second residue; and determining that there is an erroneous residue when the first residue does not match the second residue. 16. The method of claim 15 , wherein detecting and/or correcting the error further comprises: determining whether the erroneous residue is associated with a modulus of the n moduli, or a redundant modulus of the k redundant moduli. 17. The method of claim 16 , wherein detecting and/or correcting the error further comprises: responsive to determining that the erroneous residue is associated with a modulus of the n moduli: computing an index using the first residue and the second residue each associated with the redundant modulus of the k redundant moduli; using the index, looking up a correction factor in an error correction table; and computing a corrected residue using the erroneous residue and the correction factor. 18. The method of claim 10 , wherein detecting and/or correcting the error further comprises: responsive to determining that there is a number of errors that is greater than an error correction threshold, perform maximum likelihood (ML) decoding to determine a set of corrected residues that are closest to a set of residues associated w
Devices for processing exclusively digital data · CPC title
involving Lattices or polynomial equations, e.g. NTRU scheme · CPC title
involving homomorphic encryption · CPC title
Backpropagation, e.g. using gradient descent · CPC title
using electro-optical, acousto-optical or opto-electronic means · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.