FPGA Virtual Fabric Streaming for Runtime Kernel Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programmable logic devices, such as FPGAs, require lengthy compilation times for high-level language designs using OpenCL, and existing programming models with static topologies are inefficient for applications needing dynamic reconfiguration, especially during development and in scenarios where multiple kernels operate in parallel.

Innovation Solution

Implementing a dynamic streaming network with a virtual fabric on FPGAs, allowing for runtime reconfiguration of channel sources and sinks, and using partial reconfiguration blocks to adapt kernel communication topologies, enabling efficient data flow and kernel replication based on application needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static topology programming models are used on FPGAs, then device configuration is simplified, but compilation times become lengthy and performance cannot adapt to changing application characteristics

Engineering Contradiction:
Improvedynamic reconfiguration capabilityVSAvoidcompilation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic streaming network where the topology can be reconfigured at runtime. The virtual fabric allows channel sources and sinks to be dynamically connected to different kernels based on application needs, enabling the system to adapt to changing characteristics without requiring full recompilation. This dynamic reconfiguration capability directly addresses the contradiction by allowing the system to be both adaptive and time-efficient.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the FPGA device into multiple partial reconfiguration blocks that can be independently configured. Each block can be reconfigured without affecting other blocks, allowing selective updates to specific kernel communication topologies. This segmentation enables faster reconfiguration compared to full device reconfiguration, reducing the time loss while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If host-centric programming models are used, then programming simplicity is maintained, but processing efficiency decreases for parallel kernel operations

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprogramming model complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a virtual fabric as an intermediary layer between kernels and the host system. This virtual fabric manages communication and data flow between parallel kernels independently of the host, enabling efficient parallel processing without requiring complex host-centric coordination. The virtual fabric handles the complexity of inter-kernel communication, allowing kernels to operate in parallel with improved productivity while reducing the programming burden on the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If dedicated circuits are added for commonly-used functions, then device functionality is enhanced, but device complexity and reconfiguration flexibility are reduced

Engineering Contradiction:
ImprovefunctionalityVSAvoidreconfiguration flexibility
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal virtual fabric that can perform multiple functions including routing, buffering, and kernel management. Rather than adding dedicated circuits for each function, the virtual fabric provides multi-functional capabilities through software configuration, maintaining reconfiguration flexibility while enhancing device functionality. This approach allows the same hardware resources to be dynamically allocated for different purposes based on application requirements.

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

Data Source

PatentUS11171652B2Method and apparatus for implementing configurable streaming networks
Publication Date: 2021.11.09 ALTERA CORP
  • US11171652B2 patent drawing
  • US11171652B2 patent drawing
  • US11171652B2 patent drawing

AI summary

A method of configuring a programmable integrated circuit device. A channel source within the virtual fabric is configured to receive input data from a first kernel outside of the virtual fabric and on the programmable integrated circuit device, and a channel sink within the virtual fabric is configured to transmit output data to the first kernel. The configuring of the channel source is modified such that the channel source receives input data from a second kernel in response to detecting a change in operation of the programmable integrated circuit device.