FPGA Acceleration for Multi-Core Graphics Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing techniques, including those using general-purpose microprocessors and GPUs, face limitations in accelerating graphics workloads due to core data access and instruction set architecture constraints, leading to performance deficiencies and resource contention when trying to synchronize multiple cores.

Innovation Solution

Implementing a Field-Programmable Gate Array (FPGA) coupled to each processing core to accelerate performance-critical loops, allowing each core to select and reprogram workloads efficiently, and assigning multiple FPGAs to handle different tasks, enabling independent operation and reducing resource contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single FPGA is shared by all microprocessors or GPU cores, then device complexity is reduced, but resource contention increases and performance decreases

Engineering Contradiction:
ImproveFPGA architecture complexityVSAvoidgraphics workload execution speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the shared FPGA resource into multiple dedicated FPGAs, with each processing core having its own coupled FPGA. This segmentation eliminates resource contention between cores while maintaining manageable complexity through standardized interface designs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single shared FPGA resource (one-dimensional sharing) to multiple dedicated FPGAs (multi-dimensional allocation). Each core accesses its own FPGA simultaneously, moving from temporal sharing to spatial parallelism, thereby resolving the contradiction between resource sharing and performance.

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

2Speed

If FPGAs are used to accelerate performance critical loops, then processing speed increases, but device complexity and reprogramming overhead increase

Engineering Contradiction:
Improveperformance critical loops execution speedVSAvoidFPGA configuration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-configuring each FPGA with acceleration logic before workload execution. The FPGAs are programmed with specific kernels in advance, allowing the processing cores to immediately utilize the accelerated functionality without runtime configuration delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by replicating the FPGA acceleration capability across multiple processing cores. Each core has its own copy of the FPGA acceleration infrastructure, eliminating the need for complex shared resource management and reprogramming while maintaining high execution speed.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple FPGAs are assigned to handle different tasks, then workload parallelism increases, but resource management complexity increases

Engineering Contradiction:
Improveworkload parallelismVSAvoidFPGA management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the computing system into independent core-FPGA pairs, where each unit operates autonomously. This segmentation enables workload parallelism while simplifying management, as each paired unit can be configured and controlled independently without coordinating multiple shared resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universality by designing each FPGA to handle multiple workload types through reconfigurability. Each FPGA can be programmed with different kernels to accelerate various tasks, providing multi-functionality without requiring separate dedicated hardware for each workload type.

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

Data Source

PatentUS11798123B2Mechanism to accelerate graphics workloads in a multi-core computing architecture
Publication Date: 2023.10.24 INTEL IP CORP
  • US11798123B2 patent drawing
  • US11798123B2 patent drawing
  • US11798123B2 patent drawing

AI summary

A processing apparatus is described. The apparatus includes a plurality of processing cores, including a first processing core and a second processing core a first field programmable gate array (FPGA) coupled to the first processing core to accelerate execution of graphics workloads processed at the first processing core and a second FPGA coupled to the second processing core to accelerate execution of workloads processed at the second processing core.