# US 11,907,328 B2 · Apparatus and method for generating efficient convolution

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,328 B2
- Document ID: US11907328B2
- Status: Granted
- Kind: B2
- Application number: 17/192,469
- Filed: 2021-03-04
- Published: 2021-06-24
- Granted: 2024-02-20
- Earliest claimed: 2017-06-01
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Weiran Deng; Zhengping Ji
- Web page: https://patentgrep.com/patent/US11907328B2

## CPC

- G06F 17/15: Correlation function computation {including computation of convolution operations (arithmetic circuits for sum of products per se, e.g. multiply-accumulators G06F7/5443; digital filters, e.g. FIR, IIR, adaptive filters H03H17/00)}
- G06F 7/5443: {Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00)}
- G06F 7/556: Logarithmic or exponential functions
- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/063: using electronic means
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method of manufacturing an apparatus is provided. The apparatus is formed on a wafer or a package. The apparatus includes a polynomial generator, a plurality of matrix generators connected to an output of the polynomial generator, and a convolution generator connected to an output of the plurality of matrix generators. The apparatus is tested using one or more electrical to optical converters, one or more optical splitters, and one or more optical to electrical converters.

## Claims

### Claim 1

A method of manufacturing an apparatus, comprising:
forming the apparatus on a wafer or a package, wherein the apparatus comprises a polynomial generator, a plurality of matrix generators connected to an output of the polynomial generator, and a convolution generator connected to an output of the plurality of matrix generators; and
testing the apparatus using one or more electrical to optical converters, one or more optical splitters, and one or more optical to electrical converters.

### Claim 2 (depends on 1)

The method of claim 1, wherein the polynomial generator is configured to generate K co-prime polynomials mi(x) of the form x or xn±1 such that Σi=0K−1ni=N−1, where N is an integer, K is an integer, and n is an integer.

### Claim 3 (depends on 2)

The method of claim 2, wherein the polynomial generator is further configured such that the mi(x) polynomials are expressed as s(x)=g(x)⊗d(x) of degree N, where s(x) is an output, g(x) is a kernel, d(x) is input data.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
the plurality of matrix generators comprises at least a first matrix generator connected to an output of the polynomial generator; and
the first matrix generator, if the order of mi(x) is greater than 1, is configured to generate a matrix P for an order lower than that of mi(x) using a Winograd algorithm, generate linear row combinations for the matrix P, and repeat these operations until the degree N of mi(x) is 1.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first matrix generator is further configured to transform the matrix P from a linear convolution matrix through a series of linear convolutions.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first matrix generator is further configured to transform the matrix P using the Winograd algorithm.

### Claim 7 (depends on 6)

The method of claim 6, wherein the first matrix generator is further configured to repeat its operations until xi±1 is x+1, x−1, or x2+1.

### Claim 8 (depends on 5)

The method of claim 5, wherein:
the plurality of matrix generators further comprises a second matrix generator connected to the output of the polynomial generator; and
the second matrix generator is configured to generate a matrix Q using the Winograd algorithm.

### Claim 9 (depends on 8)

The method of claim 8, wherein:
the plurality of matrix generators further comprises a third matrix generator connected to an output of the first matrix generator and an output of the second matrix generator; and
the third matrix generator is configured to generate matrices B=PQ, A, and G, and wherein the convolution generator is configured to generate a convolution expressed as y=B{((Gg)⊙(Ad))}.

### Claim 10 (depends on 2)

The method of claim 2, wherein the polynomial generator is further configured to generate a cyclic convolution matrix where an upper right half of a kernel matrix g is negative.

### Claim 11 (depends on 1)

The method of claim 1, wherein the apparatus is formed on the wafer or the package with at least one other apparatus.

### Claim 12 (depends on 1)

The method of claim 1, wherein the one or more optical splitters split an optical signal into two or more optical signals.
