GPU Physics Simulation via Implicit Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for performing game physics simulations in video games face latency and bandwidth issues due to the need to pass results from physics engines to graphics processing units (GPUs), and CPUs lack the parallel processing capabilities of GPUs, leading to inefficient frame rates.

Innovation Solution

Implementing a method to perform physics simulations directly on one or more GPUs using implicit integration techniques and shader programs, which allows for faster frame rates and reduces the need for small time steps required in explicit integration methods, while also enabling the GPU-based physics simulator to replace conventional software dynamics solvers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physics simulations are performed on a CPU, then the physics engine can be executed, but latency and bandwidth problems arise when passing results to the GPU

Engineering Contradiction:
Improvesimulation accuracyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the physics simulation function with the graphics processing unit by implementing a physics solver directly on the GPU. This integration eliminates the separate physics engine on the CPU and removes the need to pass physics data between CPU and GPU, thereby reducing latency and bandwidth requirements while maintaining simulation accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The GPU is made multi-functional by enabling it to perform both graphics rendering and physics simulations simultaneously. The shader programs on the GPU handle both geometric transformations and physics calculations, allowing the same hardware to serve multiple purposes and eliminating the latency associated with inter-component data transfer.

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

2Productivity

If explicit integration techniques are used for physics simulations, then the implementation is simpler, but small time steps are required which reduces frame rates

Engineering Contradiction:
Improveframe rateVSAvoidcomputation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the integration parameter from explicit to implicit methods. Implicit integration techniques allow for larger time steps while maintaining numerical stability, which directly increases the frame rate. The GPU's parallel processing capability makes the computationally more intensive implicit method feasible, transforming a parameter that previously limited performance into an enabler of higher productivity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If conventional software dynamics solvers are used, then physics simulations can be performed, but they execute on the CPU which lacks parallel processing capabilities

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent substitutes the CPU-based sequential processing architecture with a GPU-based parallel processing architecture for physics simulations. By replacing the traditional dynamics solver implementation with shader programs that execute in parallel on the GPU, the system achieves significantly higher processing speeds while handling the complexity of parallel computation through standardized graphics hardware.

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

Data Source

PatentEP2069986B1Physical simulations on a graphics processor
Publication Date: 2019.04.17 ATI TECHNOLOGIES ULC
  • EP2069986B1 patent drawingFigure 1
  • EP2069986B1 patent drawingFigure 2
  • EP2069986B1 patent drawingFigure 3

AI summary

The present invention is directed to a method, computer program product, and system for performing physics simulations on at least one graphics processor unit (GPU). The method includes the following steps. First, data representing physical attributes associated with at least one mesh are mapped into a plurality of memory arrays to set up of a linear system of equations that governs motion of the at least one mesh depicted in a scene. Then, computations are performed on the data in the plurality of memory arrays using at least one pixel processor to solve the linear system of equations for an instant of time, wherein modified data representing the solution to the linear system of equations for the instant of time are stored in the plurality of memory arrays.