Photonic processing systems and methods
AssigneeLightmatter, Inc.
InventorsDarius Bunandar, Nicholas C. Harris, Carl Ramey
Life of this patent
Estimating the term…
Abstract
Aspects relate to a photonic processing system, a photonic processor, and a method of performing matrix-vector multiplication. An optical encoder may encode an input vector into a first plurality of optical signals. A photonic processor may receive the first plurality of optical signals; perform a plurality of operations on the first plurality of optical signals, the plurality of operations implementing a matrix multiplication of the input vector by a matrix; and output a second plurality of optical signals representing an output vector. An optical receiver may detect the second plurality of optical signals and output an electrical digital representation of the output vector.
Claims22
A photonic processing system comprising:
- an optical encoder configured to encode an input vector into a first plurality of optical signals;
- a photonic processor configured to:
- receive the first plurality of optical signals, each of the first plurality of signals received by a respective input spatial mode of a plurality of input spatial modes of the photonic processor;
- perform a plurality of operations on the first plurality of optical signals, the plurality of operations implementing a matrix multiplication of the input vector by a matrix;
- and
- output a second plurality of optical signals representing an output vector, each of the second plurality of signals transmitted by a respective output spatial mode of a plurality of output spatial modes of the photonic processor;
- and
- an optical receiver configured to detect the second plurality of optical signals and output an electrical digital representation of the output vector,
- wherein the optical encoder is configured to:
- encode an absolute value of a vector component of the input vector into an amplitude of a respective optical signal of the first plurality of optical signals;
- and
- encode a phase of the vector component of the input vector into a phase of the respective optical signal of the first plurality of optical signals.
A photonic processing system comprising:
- an optical encoder configured to encode an input vector into a first plurality of optical signals;
- a photonic processor configured to:
- receive the first plurality of optical signals, each of the first plurality of signals received by a respective input spatial mode of a plurality of input spatial modes of the photonic processor;
- perform a plurality of operations on the first plurality of optical signals, the plurality of operations implementing a matrix multiplication of the input vector by a matrix;
- and
- output a second plurality of optical signals representing an output vector, each of the second plurality of signals transmitted by a respective output spatial mode of a plurality of output spatial modes of the photonic processor;
- and
- an optical receiver configured to detect the second plurality of optical signals and output an electrical digital representation of the output vector;
- wherein the matrix is a first matrix and the photonic processing device further comprises a controller configured to control the photonic processing device to perform multiplication of a second matrix by the first matrix by:
- (a) determining a plurality of input vectors from each column of the second matrix;
- (b) selecting an input vector from the plurality of input vectors;
- (c) encoding the selected input vector into the first plurality of optical signals using the optical encoder;
- (d) performing the plurality of operations on the first plurality of optical signals associated with the first input vector;
- (e) detecting the second plurality of optical signals associated with the selected input vector;
- (f) storing digital detection results based on the detected second plurality of optical signals;
- (g) repeating acts (b)-(f) for the other input vectors of the plurality of input vectors;
- and
- (h) digitally combine the digital detection results to determine a resulting matrix resulting from the multiplication of the second matrix by the first matrix.
A method of optically performing matrix-vector multiplication, the method comprising:
- receiving a digital representation of an input vector;
- encoding, using an optical encoder, the input vector into a first plurality of optical signals;
- performing, using a processor, a singular value decomposition (SVD) of a matrix to determine a first, second, and third SVD matrix;
- controlling a photonic processor comprising a plurality of variable beam splitters (VBS) to optically implement the first, second, and third SVD matrix;
- propagating the first plurality of optical signals through the photonic processor;
- detecting a second plurality of optical signals received from the photonic processor;
- and
- determining an output vector based on the detected second plurality of optical signals, wherein the output vector represents a result of the matrix-vector multiplication,
- wherein encoding the input vector comprises:
- encoding an absolute value of a vector component of the input vector into an amplitude of a respective optical signal of the first plurality of optical signals;
- and
- encoding a phase of the vector component of the input vector into a phase of the respective optical signal of the first plurality of optical signals.
A method of optically performing matrix-vector multiplication, the method comprising:
- receiving a digital representation of an input vector;
- encoding, using an optical encoder, the input vector into a first plurality of optical signals;
- performing, using a processor, a singular value decomposition (SVD) of a matrix to determine a first, second, and third SVD matrix;
- controlling a photonic processor comprising a plurality of variable beam splitters (VBS) to optically implement the first, second, and third SVD matrix;
- propagating the first plurality of optical signals through the photonic processor;
- detecting a second plurality of optical signals received from the photonic processor;
- and
- determining an output vector based on the detected second plurality of optical signals, wherein the output vector represents a result of the matrix-vector multiplication;
- wherein the matrix-vector multiplication is one of a plurality of matrix-vector multiplications performed to perform matrix-matrix multiplication, wherein the matrix is a first matrix and the matrix-matrix multiplication comprises multiplication of a second matrix by the first matrix by, the method further comprising:
- (a) determining a plurality of input vectors from each column of the second matrix;
- (b) selecting an input vector from the plurality of input vectors;
- (c) encoding the selected input vector into the first plurality of optical signals using the optical encoder;
- (d) performing the plurality of operations on the first plurality of optical signals associated with the first input vector;
- (e) detecting the second plurality of optical signals associated with the selected input vector;
- (f) storing digital detection results based on the detected second plurality of optical signals;
- (g) repeating acts (b)-(f) for the other input vectors of the plurality of input vectors;
- and
- (h) digitally combine the digital detection results to determine a resulting matrix resulting from the multiplication of the second matrix by the first matrix.
Dependencies are inferred from the claim text.