GPU Spatial Binning for Real-Time Crowd Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for crowd simulation in games are inefficient, particularly in terms of CPU usage for AI computations and data transfer between CPU and GPU, leading to suboptimal NPC interactions and rendering performance.

Innovation Solution

A GPU-based method for sorting point data into spatial bins using a novel multi-pass algorithm, allowing for real-time simulation and rendering of large crowds by utilizing programmable shader logic and geometry shaders to efficiently manage agent positions and velocities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If AI computations are performed on the CPU, then path finding and obstacle avoidance can be calculated, but CPU time budget is excessively consumed and NPC interactions become boring and zombie-like

Engineering Contradiction:
Improvepath finding computation speedVSAvoidCPU time budget
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces CPU-based AI computations with GPU-based computations. Specifically, it uses vertex shaders to perform spatial binning of character positions and geometry shaders to conduct nearest-neighbor searches for obstacle avoidance. This substitution leverages the GPU's massively parallel architecture to accelerate path finding and NPC behavior calculations, transforming the mechanical computation system from CPU to GPU to achieve higher productivity without excessive CPU time consumption

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

Solution Approach 2:

The patent utilizes the GPU's multi-dimensional processing capability by mapping character positions to 2D spatial bins using vertex shaders. This dimensional transformation allows the system to organize character data in a grid structure that can be efficiently queried by geometry shaders, enabling parallel processing of multiple NPCs simultaneously and significantly improving path finding computation speed

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

2Adaptability or versatility

If character positions and state are transferred between CPU and GPU, then gameplay and physics can be simulated on CPU and characters rendered on GPU, but additional PCI-E data transfer overhead is introduced

Engineering Contradiction:
Improvesimulation and rendering capabilityVSAvoidPCI-E data transfer overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent merges gameplay simulation, physics computation, and character rendering into a unified GPU-based system. By performing spatial binning, nearest-neighbor searches, and path finding entirely on the GPU using vertex and geometry shaders, it eliminates the need for frequent data transfers between CPU and GPU. This consolidation allows character positions and states to be processed and rendered without additional PCI-E overhead, while maintaining full simulation and rendering adaptability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes the GPU perform multiple functions simultaneously: it handles spatial binning of character positions, conducts nearest-neighbor searches for obstacle detection, computes path finding algorithms, and renders character models. This multi-functionality eliminates the need for separate CPU-based simulation and GPU-based rendering pipelines, thereby removing the PCI-E data transfer overhead while preserving full simulation and rendering capabilities

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

3Reliability

If brute-force search is used for nearest-neighbor searches in particle system simulations, then particle-to-particle repulsive forces can be calculated, but computational cost becomes expensive with O(n) search per element

Engineering Contradiction:
Improveparticle interaction accuracyVSAvoidcomputation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the 3D simulation space into a 2D grid of spatial bins using vertex shaders. Each particle is assigned to a specific bin based on its position, and the system only searches within the same bin and adjacent bins for nearest neighbors. This segmentation reduces the search space from O(n) to O(1) on average, dramatically improving computation efficiency while maintaining accurate particle interaction calculations through systematic spatial organization

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8810590B2Method and apparatus for spatial binning on a GPU and global path planning to avoid spatially binned objects
Publication Date: 2014.08.19 ADVANCED MICRO DEVICES INC
  • US8810590B2 patent drawing
  • US8810590B2 patent drawing
  • US8810590B2 patent drawing

AI summary

A method and apparatus for sorting data into spatial bins or buckets using a graphics processing unit (GPU). The method takes unsorted point data as input and scatters the points, in sorted order, into a set of bins. This key operation enables construction of a spatial data structure that is useful for applications such as particle simulation or collision detection. The disclosed method achieves better performance scaling than previous methods by exploiting geometry shaders to progressively trim the size of a working set. The method also leverages predicated rendering functionality to allow early termination without CPU/GPU synchronization. Furthermore, unlike previous techniques, the method can guarantee sorted output without requiring sorted input. This allows the method to be used to implement a form of bucket sort using the GPU.