Software-Defined Vector Engines on Programmable Logic Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional vector databases (VectorDBs) using CPU or GPU implementations for similarity searches do not fully leverage the parallelism capabilities of programmable logic devices, leading to suboptimal performance in vector similarity searches.

Innovation Solution

Implementing software-defined vector engines on programmable logic devices, such as FPGAs, with a programmable data movement engine-based framework that enables high-level design entry and efficient mapping of vector similarity search algorithms, utilizing multiple levels of parallelism and data movement engines to optimize vector similarity search operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU or GPU implementations are used for vector similarity searches, then the system can perform similarity searches, but the performance is suboptimal compared to programmable logic devices

Engineering Contradiction:
Improvevector similarity search performanceVSAvoidparallelism utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the vector similarity search process into multiple independent parallel tasks that can be executed simultaneously on programmable logic devices. Each vector distance calculation is an independent segment that can be processed in parallel, enabling the system to leverage the parallelism capabilities of FPGAs and achieve superior performance compared to sequential CPU or GPU implementations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic programming framework that allows the vector engine to be reconfigured for different search algorithms and data types without hardware changes. The programmable logic devices can dynamically adapt their configuration based on the specific similarity search requirements, providing both high performance and versatility in handling different vector database workloads.

Inventive Principle:
Principle #15Dynamics

2Productivity

If conventional CPU implementations with SIMD vector operations are used, then vector similarity searches can be performed, but the parallelism capabilities of programmable logic devices are not fully utilized

Engineering Contradiction:
Improvesearch speedVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal vector engine framework that can be implemented on programmable logic devices and handles multiple types of similarity search algorithms (Euclidean distance, cosine similarity, etc.) through a single unified architecture. This multi-functional approach achieves high search speed while avoiding the complexity of implementing separate specialized hardware for each algorithm type.

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

Solution Approach 2:

The patent utilizes parameter changes in the programmable logic device configuration to optimize performance for different search scenarios. By changing programming parameters and device configuration rather than hardware architecture, the system achieves high search speed while maintaining implementation simplicity and avoiding the complexity of custom hardware design for each specific algorithm.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If reprogramming the programmable logic device is required for new products, then the device can be optimized for specific tasks, but the time-to-market increases

Engineering Contradiction:
Improvetask optimizationVSAvoidtime-to-market
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a framework where the vector engine is pre-configured with a universal architecture that can handle multiple algorithms. The preliminary action of establishing this universal framework allows the system to quickly adapt to new products and tasks without requiring time-consuming reprogramming, thus reducing time-to-market while maintaining task optimization capabilities.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs dynamic reconfiguration capabilities that allow the vector engine to adapt to different tasks and algorithms through software-based parameter changes rather than hardware reprogramming. This dynamic approach enables the system to optimize for specific tasks when needed while maintaining the ability to quickly switch to new products, thereby reducing time-to-market.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240152357A1Programmable Logic Device-Based Software-Defined Vector Engines
Publication Date: 2024.05.09 ALTERA CORP
  • US20240152357A1 patent drawing
  • US20240152357A1 patent drawing
  • US20240152357A1 patent drawing

AI summary

Circuitry, systems, and methods are provided for an integrated circuit device including a programmable logic fabric. The programmable logic fabric is configured to implement software-defined vector engines. The programmable logic fabric also includes a data movement engine (DME) that uses multiple DME threads to programmably insert data within an interior of the software-defined vector engines.