3D Graphics Memory Allocation for Ordered Multicore Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing rendering tasks in parallel on a multicore GPU while respecting the order in which primitives are provided by the application driver is challenging, as it can lead to incorrect rendering due to unpredictable completion times of cores and potential out-of-sequence processing.

Innovation Solution

A method and apparatus for memory allocation in a 3-D graphics rendering system with multiple cores, where geometry processing work is divided into discrete work-packages, and memory allocation is prioritized for the core processing the earliest active work-package, with restrictions applied to other cores based on unrecoverable memory and free pool size to maintain sequence integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If rendering tasks are processed in parallel on multiple cores, then processing speed and productivity are improved, but the order in which primitives are rendered may be compromised leading to incorrect rendering

Engineering Contradiction:
Improveprocessing speedVSAvoidrendering correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the rendering work into discrete work-packages that can be distributed across multiple cores. Each work-package contains a specific set of primitives to be processed, allowing parallel execution while maintaining logical organization. This segmentation enables simultaneous processing on different cores without compromising the overall rendering sequence integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by establishing a memory allocation policy before processing begins. The system pre-determines which core should receive memory allocations based on the earliest active work-package, creating a framework that prevents out-of-order processing issues before they can occur during parallel execution.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If memory is allocated freely to all cores, then ease of operation is improved, but deadlock situations may occur due to unpredictable completion times

Engineering Contradiction:
Improvememory allocation simplicityVSAvoiddeadlock prevention
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the memory allocation policy continuously monitors which core is processing the earliest active work-package. Based on this feedback, the system dynamically adjusts memory allocation decisions, granting allocations to the appropriate core while restricting others. This feedback loop prevents deadlock situations by adapting to the actual execution state of parallel processing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the parameter of memory allocation policy from a static, uniform approach to a dynamic approach based on work-package completion status. By modifying allocation behavior according to which core is processing the earliest work-package, the system maintains simplicity in operation while preventing deadlocks through parameter-driven decision making.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If all memory allocation requests are processed, then quantity of substance (memory availability) is improved, but device complexity increases due to need to track unrecoverable memory

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory tracking complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies local quality by differentiating memory allocation behavior based on the requesting core's role. Instead of uniform treatment of all allocation requests, the system applies distinct policies: granting allocations to cores processing the earliest work-package while restricting allocations to other cores based on unrecoverable memory calculations. This localized differentiation maintains memory availability while managing complexity through targeted tracking.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20260010401A1Memory Allocation for 3-D Graphics Rendering
Publication Date: 2026.01.08 IMAGINATION TECH LTD
  • US20260010401A1 patent drawing
  • US20260010401A1 patent drawing
  • US20260010401A1 patent drawing

AI summary

A method and apparatus are provided for allocating memory for geometry processing in a 3-D graphics rendering system comprising multiple cores. Geometry processing work is divided up into discrete work-packages, which form an ordered sequence. Cores are assigned different work-packages to process, and make memory allocation requests to enable them to store the results of the processing. Memory allocation requests relating to the current earliest uncompleted work-package in the sequence are treated differently to other requests, and may be prioritised.