Parallel Numeric Optimizer via Vector Distance Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing numeric optimizers perform computations sequentially, making them challenging to parallelize and inefficient for large problems, especially with the advent of quantum processors where problems like the NP-hard traveling salesman problem become solvable, requiring reconfiguration for parallelization.

Innovation Solution

A method for parallelizing numeric optimizers involves detecting the initialization of a numeric optimization process, computing vector-differences, predicting neighbor vectors, pre-computing evaluation values in a parallel processing system, and supplying pre-computed values to the optimization process, utilizing a multi-core processor to enhance efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If numeric optimizers are implemented sequentially, then the computation logic is simple to implement, but the execution time becomes unreasonably large for large problems

Engineering Contradiction:
Improveexecution speedVSAvoidparallelization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the computation of partial derivatives into independent segments, where each partial derivative calculation can be performed separately and simultaneously. The gradient computation is segmented into n independent calculations (one for each parameter), allowing parallel execution across multiple processing units while maintaining the mathematical correctness of the optimization process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-computes function values at neighboring points before the actual optimization step is needed. By evaluating f(x + αe_i) for all i in advance, the system prepares computation results that can be immediately used when gradient calculations are required, reducing the overall execution time of the optimization process.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If numeric optimizers are parallelized, then the execution time decreases, but the modification requires understanding of complex optimization logic

Engineering Contradiction:
Improvecomputation timeVSAvoidmodification complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent creates a universal parallelization framework that can be applied to any numeric optimizer regardless of its specific algorithm. The framework provides a standardized interface for parallel computation that works with different optimization algorithms (gradient descent, Newton's method, etc.), eliminating the need to understand and modify complex optimization logic for each specific case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary layer that sits between the optimization algorithm and the parallel computation mechanism. This intermediary handles the complexity of parallelization by managing thread coordination, memory access, and result aggregation, allowing the optimization logic to remain unchanged while still achieving parallel execution benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If numeric optimizers compute partial derivatives sequentially, then the implementation is straightforward, but the computation becomes unreasonably large for problems with many parameters

Engineering Contradiction:
Improvecomputation throughputVSAvoidparallel processing architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transitions from sequential computation (one-dimensional time progression) to parallel computation by adding a spatial dimension through multiple processing units. Each processing unit handles a different parameter's partial derivative calculation simultaneously, effectively distributing the computational workload across multiple dimensions of the processing architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent merges multiple independent partial derivative calculations into a single parallel execution framework. By combining n separate gradient computation tasks into one coordinated parallel process, the system achieves efficient utilization of multi-core processors while maintaining the mathematical integrity of the optimization algorithm.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10831495B2Parallelization of numeric optimizers
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10831495B2 patent drawing
  • US10831495B2 patent drawing
  • US10831495B2 patent drawing

AI summary

A method for parallelization of a numeric optimizer includes detecting an initialization of a numeric optimization process of a given function. The method computes a vector-distance between an input vector and a first neighbor vector of a set of neighbor vectors. The method predicts, using the computed vector-distance, a subset of the set of neighbor vectors. The method pre-computes, in a parallel processing system, a set of evaluation values in parallel, each evaluation value corresponding to one of the subset of the set of neighbor vectors. The method detects a computation request from the numeric optimization process, the computation request involving at least one of the set of evaluation values. The method supplies, in response to receiving the computation request, and without performing a computation of the computation request, a parallelly pre-computed evaluation value from the set of evaluation values to the numeric optimization process.