Direct GPU-FPGA Communication via PCIe Bypassing CPU Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in enabling efficient direct communication between Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs), leading to high latency and resource-intensive data transfers, which hinder their synergistic use in computational tasks.

Innovation Solution

Implementing a direct communication pathway using the Peripheral Component Interconnect Express (PCIe) bus, allowing GPUs and FPGAs to transfer data directly without intermediaries, utilizing PCIe switches and virtual pointers to access memory locations, and leveraging DMA transfers for efficient data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is transferred between GPU and FPGA through CPU memory as an intermediary, then compatibility and ease of implementation are improved, but latency increases and bandwidth is reduced

Engineering Contradiction:
Improveease of implementationVSAvoidlatency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent removes the CPU memory intermediary and establishes a direct PCIe communication pathway between GPU and FPGA. This eliminates the indirect routing through CPU system memory, reducing latency while maintaining implementation feasibility through standardized PCIe interfaces and buffer management mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the CPU memory intermediary from the data transfer pathway. By removing this intermediate component, the system achieves direct GPU-FPGA communication, eliminating the latency and bandwidth overhead associated with CPU memory access while preserving ease of implementation through direct PCIe connectivity.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If data is transferred between GPU and FPGA through CPU memory as an intermediary, then system compatibility is improved, but bandwidth is reduced

Engineering Contradiction:
Improvesystem compatibilityVSAvoidbandwidth
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent replaces CPU memory as the intermediary with a direct PCIe communication channel. This maintains system compatibility through standardized PCIe protocols while dramatically increasing bandwidth by eliminating the bottleneck of CPU system memory access and enabling full-utilization PCIe transfer rates.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts CPU memory from the data transfer pathway, eliminating the bandwidth limitation imposed by CPU memory access speeds. The direct PCIe connection enables maximum bandwidth utilization between GPU and FPGA while preserving compatibility through standardized interfaces and buffer management.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If direct communication pathway is implemented between GPU and FPGA, then latency is reduced and bandwidth is increased, but resource overhead increases

Engineering Contradiction:
ImprovelatencyVSAvoidresource overhead
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary buffer allocation and PCIe resource setup before data transfer begins. By pre-configuring transfer buffers and establishing PCIe communication parameters in advance, the system reduces runtime resource overhead while achieving low-latency direct communication between GPU and FPGA.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If direct communication pathway is implemented between GPU and FPGA, then communication efficiency is improved, but resource overhead increases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidresource overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary configuration of PCIe resources, buffer allocation, and transfer parameter setup before initiating data transfer. This preliminary action simplifies the actual transfer process, improving communication efficiency while managing resource overhead through pre-established communication channels and standardized protocols.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3828691B1Direct communication between GPU and FPGA components
Publication Date: 2023.09.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3828691B1 patent drawingFigure 1
  • EP3828691B1 patent drawingFigure 2
  • EP3828691B1 patent drawingFigure 3

AI summary

A system may include a Graphics Processing Unit (GPU) and a Field Programmable Gate Array (FPGA). The system may further include a bus interface that is external to the FPGA, and that is configured to transfer data directly between the GPU and the FPGA without storing the data in a memory of a central processing unit (CPU) as an intermediary operation.