GPU Memory Allocation for Rendering Passes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory allocation techniques for graphic processing units (GPUs) are inefficient, leading to excessive bandwidth traffic and memory usage, as they often require system memory backup for intermediate results across multiple rendering passes, even when not necessary.

Innovation Solution

Implementing a method where memory-less render targets are identified and allocated only on-chip memory, without system memory backup, and dynamically expanding memory space when necessary to prevent partial rendering, thereby reducing unnecessary memory usage and bandwidth consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If system memory is allocated for all buffer attachments in multiple rendering passes, then intermediate results are safely backed up, but memory usage and bandwidth traffic increase excessively

Engineering Contradiction:
Improveintermediate results backupVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating memory allocation based on the specific characteristics of each buffer attachment. Instead of uniformly allocating system memory to all buffer attachments, the system identifies and allocates memory only to those attachments that require persistence across rendering passes, while leaving others to use only on-chip memory. This selective approach reduces overall memory usage while maintaining reliability for necessary data.

Inventive Principle:
Principle #3Local quality

2Reliability

If system memory is allocated for all buffer attachments, then data is preserved across rendering passes, but bandwidth traffic increases due to unnecessary memory access

Engineering Contradiction:
Improvedata preservationVSAvoidbandwidth traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements local quality by applying different memory preservation strategies to different buffer attachments based on their specific needs. Buffer attachments that require data preservation across rendering passes are allocated system memory, while those that do not require preservation use only on-chip memory. This differentiation reduces bandwidth traffic by eliminating unnecessary memory access operations for buffer attachments that don't require persistence.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If on-chip memory is used without system memory backup, then memory usage is reduced, but rendering reliability decreases for buffer attachments needing persistence

Engineering Contradiction:
Improvememory usageVSAvoidrendering persistence
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies local quality by making memory allocation decisions specific to each buffer attachment's requirements. Buffer attachments that need persistence across rendering passes are allocated system memory for reliable storage, while buffer attachments that can be fully processed within a single rendering pass use only on-chip memory. This selective allocation reduces overall memory usage while maintaining rendering reliability for data that requires persistence.

Inventive Principle:
Principle #3Local quality

4Productivity

If memory-less render targets are used, then rendering efficiency is improved, but partial rendering may occur without dynamic memory management

Engineering Contradiction:
Improverendering efficiencyVSAvoidrendering completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamics by introducing dynamic memory allocation and management for memory-less render targets. The system dynamically monitors the rendering process and allocates additional system memory when needed to prevent partial rendering. This dynamic approach maintains the efficiency benefits of memory-less render targets while ensuring rendering completeness through adaptive memory management during the rendering process.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10319068B2Texture not backed by real mapping
Publication Date: 2019.06.11 APPLE INC
  • US10319068B2 patent drawing
  • US10319068B2 patent drawing
  • US10319068B2 patent drawing

AI summary

One disclosed embodiment includes memory allocation methods for use by a graphics processing unit in rendering graphics data for display. The method includes receiving a buffer attachment associated with a first rendering pass. The hardware prerequisites for operation of the first rendering pass is determined. The method also includes receiving an indication to not allocate system memory for the received buffer attachment. Thereafter, it may be determined whether the received buffer attachment will be loaded from or stored to by the subsequent rendering passes. If it is determined that the buffer attachment will be accessed by the subsequent rendering passes, an error message may be generated indicating that system memory must be allocated. If it is determined that the buffer attachment will not be accessed by the subsequent rendering passes, the buffer attachment is rendered without allocating system memory.