Graphics Processor Non-Blocking Concurrent Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing technologies face challenges in efficiently scaling parallelism due to memory bandwidth limitations and the need for data locality, which can lead to performance bottlenecks in computations like ray tracing.

Innovation Solution

The proposed system employs a cluster of computation elements with local memory and SIMD ALUs, along with a scheduler that sorts computations into packets and distributes them among the elements for concurrent execution, while ensuring no grouping writes to the same memory location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-threading is used to increase parallelism, then throughput and response time are improved, but system complexity and resource management overhead increase

Engineering Contradiction:
ImprovethroughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments computation into discrete tasks that can be independently scheduled and executed by multiple threads. The task scheduler divides workloads into manageable units, allowing parallel execution while maintaining organized control flow and reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a task scheduler as an intermediary layer between the computation elements and memory resources. This mediator manages thread coordination, task distribution, and resource allocation, simplifying the complexity of direct multi-threaded resource management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If memory bandwidth is increased to support more parallel computations, then computation speed is improved, but cost and power consumption increase

Engineering Contradiction:
Improvecomputation speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements local memory caches at each computation element to store frequently accessed data locally. This reduces the need for high-speed global memory bandwidth while maintaining computation speed, as threads can access local cache memory without consuming additional power for global memory transactions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary data loading into local caches before computation begins. By pre-fetching and caching data that will be needed for parallel computations, the system reduces real-time memory bandwidth requirements and associated power consumption during the actual computation phase.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If data locality is optimized to reduce memory access, then memory bandwidth usage is reduced, but computation throughput may be limited

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidcomputation throughput
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent introduces a hierarchical memory architecture with multiple levels of caching (L1, L2, L3 caches) and scratch pad memory, adding dimensional layers between computation elements and global memory. This hierarchical structure allows data to be accessed at different levels, reducing the need for high-speed global memory access while maintaining computation throughput through efficient data placement strategies.

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

Data Source

PatentUS20250148688A1Graphics Processor with Non-Blocking Concurrent Architecture
Publication Date: 2025.05.08 IMAGINATION TECH LTD
  • US20250148688A1 patent drawing
  • US20250148688A1 patent drawing
  • US20250148688A1 patent drawing

AI summary

In some aspects, systems and methods provide for forming groupings of a plurality of independently-specified computation workloads, such as graphics processing workloads, and in a specific example, ray tracing workloads. The workloads include a scheduling key, which is one basis on which the groupings can be formed. Workloads grouped together can all execute from the same source of instructions, on one or more different private data elements. Such workloads can recursively instantiate other workloads that reference the same private data elements. In some examples, the scheduling key can be used to identify a data element to be used by all the workloads of a grouping. Memory conflicts to private data elements are handled through scheduling of non-conflicted workloads or specific instructions and/or deferring conflicted workloads instead of locking memory locations.