Physical simulation for animation and visual effects
- 9 June 2007
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 35 (2) , 220-231
- https://doi.org/10.1145/1273440.1250690
Abstract
We explore the emerging application area of physics-based simulation for computer animation and visual special effects. In particular, we examine its parallelization potential and characterize its behavior on a chip multiprocessor (CMP). Applications in this domain model and simulate natural phenomena, and often direct visual components of motion pictures. We study a set of three workloads that exemplify the span and complexity of physical simulation applications used in a production environment: fluid dynamics, facial animation, and cloth simulation. They are computationally demanding, requiring from a few seconds to several minutes to simulate a single frame; therefore, they can benefit greatly from the acceleration possible with large scale CMPs. Starting with serial versions of these applications, we parallelize code accounting for at least 96% of the serial execution time, targeting a large number of threads.We then study the most expensive modules using a simulated 64-core CMP. For the code representing key modules, we achieve parallel scaling of 45x, 50x, and 30x for fluid, face, and cloth simulations, respectively. The modules have a spectrum of parallel task granularity and locking behavior, and all but one are dominated by loop-level parallelism. Many modules operate on streams of data. In some cases, modules iterate over their data, leading to significant temporal locality. This streaming behavior leads to very high on-die and main memory bandwidth requirements. Finally, most modules have little inter-thread communication since they are data-parallel, but a few require heavy communication between data-parallel operations.Keywords
This publication has 10 references indexed in Scilit:
- Fast kd-tree Construction with an Adaptive Error-Bounded HeuristicPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- Robust quasistatic finite elements and flesh simulationPublished by Association for Computing Machinery (ACM) ,2005
- Automatic determination of facial muscle activations from sparse motion capture marker dataACM Transactions on Graphics, 2005
- A fast sweeping method for Eikonal equationsMathematics of Computation, 2004
- Robust treatment of collisions, contact and friction for cloth animationACM Transactions on Graphics, 2002
- Animation and rendering of complex water surfacesACM Transactions on Graphics, 2002
- Stable fluidsPublished by Association for Computing Machinery (ACM) ,1999
- The implementation of the Cilk-5 multithreaded languagePublished by Association for Computing Machinery (ACM) ,1998
- Effective hardware-based data prefetching for high-performance processorsIEEE Transactions on Computers, 1995
- The SPLASH-2 programsPublished by Association for Computing Machinery (ACM) ,1995