# US 10,120,648 B2 · Method of improving search quality by combining high precision and low precision computing

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

- Number: US 10,120,648 B2
- Document ID: US10120648B2
- Status: Granted
- Kind: B2
- Application number: 15/784,359
- Filed: 2017-10-16
- Published: 2018-02-08
- Granted: 2018-11-06
- Earliest claimed: 2009-06-19
- Assignees: Singular Computing LLC
- Applicants: Singular Computing LLC
- Inventors: Joseph Bates
- Web page: https://patentgrep.com/patent/US10120648B2

## CPC

- G06F 7/483: Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)}
- G06F 7/38: Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F 7/4833: {Logarithmic number system}
- G06F 7/5235: {using indirect methods, e.g. quarter square method, via logarithmic domain}
- H03K 19/17728: Reconfigurable logic blocks, e.g. lookup tables
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)

## Abstract

Low precision computers can be efficient at finding possible answers to search problems. However, sometimes the task demands finding better answers than a single low precision search. A computer system augments low precision computing with a small amount of high precision computing, to improve search quality with little additional computing.

## Claims

### Claim 1

A device comprising:
a plurality of low precision high dynamic range (LPHDR) execution units;
at least one high precision execution unit, wherein the precision of computations performed by the at least one high precision execution unit is higher than the precision of computations performed by the plurality of LPHDR execution units;
means for controlling the plurality of LPHDR execution units and the at least one high precision execution unit to perform a method, the method comprising:
(A) receiving, as input, a plurality of example vectors and a test vector;
(B) storing the plurality of example vectors;
(C) using the plurality of LPHDR execution units to:
(C) (1) identifying a first example vector, within the plurality of example vectors, that is nearest to the test vector;
(C) (2) storing an identifier of the first example vector;
(C) (3) identifying a second example vector, within the plurality of example vectors, that is second nearest to the test vector; and
(C) (4) storing an identifier of the second example vector;
(D) using the at least one high precision execution unit to:
(D) (1) compute a first distance between the test vector and the first example vector;
(D) (2) compute a second distance between the test vector and the second example vector;
(D) (3) identify the lessor of the first distance and the second distance;
(D) (4) identify, from among the first example vector and the second example vector, an example vector associated with the lessor of the first distance and the second distance; and
(D) (5) output the example vector associated with the lessor of the first distance and the second distance.

### Claim 2 (depends on 1)

The device of claim 1, further comprising:
a plurality of memories associated with the plurality of LPHDR execution units; and
wherein (B) comprises storing the plurality of example vectors in at least some of the plurality of memories associated with the plurality of LPHDR execution units.

### Claim 3 (depends on 1)

The device of claim 1, wherein the number of the plurality of LPHDR execution units in the device exceeds the number of the at least one high precision execution unit in the device.

### Claim 4 (depends on 3)

The device of claim 3, wherein the number of the plurality of LPHDR execution units in the device exceeds, by at least 20 more than three times, the number of the at least one high precision execution unit in the device.

### Claim 5 (depends on 3)

The device of claim 3, wherein the number of the plurality of LPHDR execution units in the device exceeds, by at least 100 more than five times, the number of the at least one high precision execution unit in the device.

### Claim 6 (depends on 3)

The device of claim 3, wherein the number of the plurality of LPHDR execution units in the device exceeds, by at least 1000 more than five times, the number of the at least one high precision execution unit in the device.

### Claim 7 (depends on 1)

The device of claim 1, wherein the at least one high precision execution unit is adapted to execute at least one arithmetic operation on floating point numbers that are 32 or more bits wide.

### Claim 8 (depends on 1)

The device of claim 1, wherein at least one of the plurality of LPHDR execution units is adapted to execute a first operation on a first input signal representing a first numerical value to produce a first output signal representing a second numerical value, and
wherein the dynamic range of the possible valid inputs to the first operation is at least as wide as from 1/65,000 through 65,000 and for at least X=5% of the possible valid inputs to the first operation, the statistical mean, over repeated execution of the first operation on each specific input from the at least X% of the possible valid inputs to the first operation, of the numerical values represented by the first output signal of the LPHDR unit executing the first operation on that input differs by at least Y=0.05% from the result of an exact mathematical calculation of the first operation on the numerical values of that same input.
