G06E1/04

Optoelectronic computing systems

A method includes: providing input information in an electronic format; converting the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format. For example, a set of input values are encoded on respective optical signals. For each of at least two subsets of optical signals, a copying module splits the subset into multiple copies of the optical signals. For each copy of a first subset of optical signals, a corresponding multiplication module multiplies the optical signals of the first subset by matrix element values using optical amplitude modulation. A summation module produces an electrical signal representing a sum of the results of the multiplication modules.

OPTOELECTRONIC COMPUTING SYSTEMS

Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.

In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.

DUAL PHASE MATRIX-VECTOR MULTIPLICATION SYSTEM
20190361955 · 2019-11-28 ·

A processor can scan a portion of a vector to identify first nonzero entries. The processor can scan another portion of the vector to identify second nonzero entries. The processor can scale a portion of a matrix using the first nonzero entries to generate first intermediate elements. The processor can scale another portion of the matrix using the second nonzero entries to generate second intermediate elements. The processor can store the first intermediate elements in a first buffer and store the second intermediate elements in a second buffer. The processor can copy a subset of the first intermediate elements from the first buffer to a memory and copy a subset of the second intermediate elements from the second buffer to the memory. The subsets of first and second intermediate elements can be aggregated to generate an output vector.

OPTICAL CROSSBAR ARRAY WITH COMPENSATION AND ASSOCIATED METHOD

An apparatus and method for computing multiplication operations involving vectors, matrices or both, using a photonic computing architecture including an optical crossbar array. A compensation device is used to compensate for non-ideal characteristics of devices in the optical crossbar array. Apparatus and methods for representing negative-valued vectors of a multiplier in the multiplication operation are also provided.

Dual phase matrix-vector multiplication system

Methods and systems for multiplying a matrix and a vector are described. In an example, the vector may be partitioned into a plurality of vector partitions. The matrix may be partitioned into a plurality of matrix partitions. A plurality of threads may be scheduled to multiply each matrix partition with corresponding vector partition to determine intermediate elements. Intermediate elements determined by each thread may be stored in a local buffer assigned to the corresponding thread. Intermediate elements may be copied from a particular buffer to a memory in response to the particular buffer being full. Upon completion of the plurality of threads, the intermediate elements copied to the memory may be aggregated to generate an output vector that may be a result of multiplication between the matrix and the vector.

Method of Producing and a Photonic Metasurface for Performing Computationally Intensive Mathematical Computations

According to aspects of embodiments described herein, an optical computing device (100) comprises a plurality of input waveguides (101), a photonic meta-surface (103) in contact with the plurality of input waveguides, and a plurality of output waveguides (105) in contact with the transformational meta-surface. The optical computing device may be configured to perform a mathematical operation may be a matrix multiplication. A computer-implemented method (300) of designing an optical computing device includes a plurality of input waveguides, a photonic meta-surface, and a plurality of output waveguides, the method includes exciting each input waveguide one-by-one (303) and measuring the energy at the input region and the output region (305) to determine a contribution of the current input waveguide. The sum of contributions (307) of all input waveguides are compared to a target transformation (315) to determine a loss value used to update a set of design parameters (317).

DUAL PHASE MATRIX-VECTOR MULTIPLICATION SYSTEM
20190188239 · 2019-06-20 ·

Methods and systems for multiplying a matrix and a vector are described. In an example, the vector may be partitioned into a plurality of vector partitions. The matrix may be partitioned into a plurality of matrix partitions. A plurality of threads may be scheduled to multiply each matrix partition with corresponding vector partition to determine intermediate elements. Intermediate elements determined by each thread may be stored in a local buffer assigned to the corresponding thread. Intermediate elements may be copied from a particular buffer to a memory in response to the particular buffer being full. Upon completion of the plurality of threads, the intermediate elements copied to the memory may be aggregated to generate an output vector that may be a result of multiplication between the matrix and the vector.

OPTOELECTRONIC COMPUTING SYSTEMS

Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.

In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.

Optoelectronic computing systems

Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format. In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.

Wavelength multiplexed matrix-matrix multiplier

Optical systems for performing matrix-matrix multiplication in real time utilizing spatially coherent input light and wavelength multiplexing.