I increasingly see it as my mission to create world simulators. To recreate reality and allow for virtual worlds with levels of detail that we can’t even imagine today. That is why I am exploring the history and state-of-the-art regarding physics simulation and physics hardware acceleration here. (Updated: September 15, 2024.)

1. Introduction

1.1 History of Physics and Computing

Progress in the sciences and progress in computer science and engineering have been linked to each other since the invention of the abacus1. It is common knowledge that computers were enabled by discoveries in physics but much of the discoveries in physics such as the vacuum tube2, the transistor34, various lithography techniques and so on. Yet, physics itself, the other sciences, and the progress in engineering have been accelerated with the creation of increasingly powerful computing hardware and software as well.

Computer simulations have opened up a new platform for research and development that offers various advantages compared to experiments and experimental simulations using analog systems/models:

  • Flexibility / controllability: Programmers have full control over the computer simulations they create.
  • Cost: Proprietary software solutions and hardware allow for quick testing without the otherwise high material and development costs.
  • Safety: Simulations don’t pose dangers like radiation poisoning e.g. in the case of atomic experiments.
  • Speed: Depending on the state of hardware and software simulations can be run much faster than real experiments and often in parallel.

1.2 Recent Developments

There have been a few attempts at dedicated PPUs for accelerating physics calculations in games and simulations. Ageia PhysX PPU was arguably the first dedicated physics processor, released in 2006. It was designed to offload physics calculations from the CPU [4]. NVIDIA PhysX: After NVIDIA acquired Ageia in 2008, they integrated PhysX technology into their GPUs, allowing physics acceleration on NVIDIA graphics cards rather than a separate PPU [4].

Havok FX: Havok developed a physics engine that could utilize GPU acceleration, though it wasn’t a dedicated PPU [4].

Intel Xeon Phi: While not exclusively for physics, these many-core processors were designed for highly parallel workloads including scientific simulations [5].

Modern CPUs: Current high-end CPUs from Intel and AMD have many cores and specialized instructions that can be utilized for physics calculations [6]. For example, AMD has published the FEMFX deformable physics library optimized for their CPUs [8].

GPUs: Modern GPUs are often used for physics acceleration in games and simulations due to their highly parallel architecture [2].

FPGAs and ASICs: For specialized applications, field-programmable gate arrays or application-specific integrated circuits can be designed to accelerate physics computations [1].

While dedicated PPUs are no longer common, physics acceleration is now typically handled by a combination of multi-core CPUs and GPUs in modern systems. Game engines and simulation software can distribute physics workloads across available computing resources [8].

The Need for PPUs

Ageia’s PPU answered a huge demand for physics acceleration at a time where games rapidly became more realistic and neither CPUs nor GPUs could keep up with the software innovations. NVIDIA quickly acquired Ageia to incorporate their ideas into their GPUs as well as the PhysX software which is an industry standard still today and was recently open-sourced5 as part of NVIDIA’s Omniverse initiative6.

Arguments Against Physics Hardware Acceleration

There are no arguments against physics hardware acceleration.

Conclusion

“See a need, fill a need!” said Bigwell in Pixar’s Robots (2005)7.

References