Fully-Fused Neural Network for Real-Time Radiance Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural network execution performance is limited by global memory bandwidth, particularly when intermediate values and weights are stored in global memory, and existing methods struggle with real-time rendering of dynamic scenes with high-order indirect illumination in path tracing.

Innovation Solution

Implementing a real-time neural radiance caching technique using a fully-fused neural network that caches scattered radiance components, minimizing global memory traffic by utilizing fast on-chip memory and sidestepping difficulties of conventional caching algorithms through online learning and data-driven approaches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If intermediate values and weights are stored in global memory, then the neural network can access more data, but the execution performance is limited by global memory bandwidth

Engineering Contradiction:
Improvedata storage capacityVSAvoidexecution performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the neural network execution into multiple stages: loading weights into registers once, partitioning inputs into portions for single thread block execution, and storing intermediate results in shared memory. This segmentation reduces reliance on global memory bandwidth while maintaining data availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-thread sequential processing model to a multi-thread parallel processing model with multiple dimensions of memory access. By using shared memory as an intermediate layer between global memory and registers, it creates a new memory access dimension that bypasses the global memory bandwidth bottleneck.

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

2Adaptability or versatility

If conventional caching algorithms are used to store pre-computed values, then caching functionality is provided, but difficulties arise in locating, interpolating, and updating cache points

Engineering Contradiction:
Improvecaching functionalityVSAvoidalgorithm complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The neural network radiance cache performs self-updating through online learning during rendering. Instead of requiring external algorithms to locate and update cache points, the system automatically learns and updates the cache representation dynamically as it processes rendering tasks, eliminating the complexity of manual cache management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical caching algorithms (which require explicit locating, interpolating, and updating operations) with a data-driven neural network approach. The neural network automatically learns the cache representation through online learning, substituting complex algorithmic operations with automated machine learning processes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If path tracing is used to simulate global illumination with high-order indirect illumination, then photorealistic rendering is achieved, but the computation becomes onerous even in offline rendering

Engineering Contradiction:
Improverendering accuracyVSAvoidcomputation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-loading neural network weights into registers before execution and partitioning input data into portions in advance. This preliminary preparation enables efficient parallel processing during actual execution, reducing the computational burden during runtime while maintaining rendering accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11935179B2Fully-fused neural network execution
Publication Date: 2024.03.19 NVIDIA CORP
  • US11935179B2 patent drawing
  • US11935179B2 patent drawing
  • US11935179B2 patent drawing

AI summary

A fully-connected neural network may be configured for execution by a processor as a fully-fused neural network by limiting slow global memory accesses to reading and writing inputs to and outputs from the fully-connected neural network. The computational cost of fully-connected neural networks scale quadratically with its width, whereas its memory traffic scales linearly. Modern graphics processing units typically have much greater computational throughput compared with memory bandwidth, so that for narrow, fully-connected neural networks, the linear memory traffic is the bottleneck. The key to improving performance of the fully-connected neural network is to minimize traffic to slow “global” memory (off-chip memory and high-level caches) and to fully utilize fast on-chip memory (low-level caches, “shared” memory, and registers), which is achieved by the fully-fused approach. A real-time neural radiance caching technique for path-traced global illumination is implemented using the fully-fused neural network for caching scattered radiance components of global illumination.