Abstract
Behavioral models have been used in the entertainment industry to increase the realism in the simulation of large groups of individuals. Unfortunately, the classical models can be very compute-intensive when very large groups are considered, reducing its applicability in games and other interactive systems. In this article we explore both search space reduction and parallelism to improve the performance of Reynold's Boids model. We propose a methodology that considers self-occlusion (visibility culling) to reduce the number of neighbors and we take advantage the parallelism present in common graphics processor units (GPUs) to allow the simulation of very large groups. We performed different GPU implementations (GPGPU and CUDA); the results show that visibility culling allows significant gains in performance without affecting the model's overall behavior.
- Breitbart, J. 2008. Case studies on GPU usage and data structure design. Master's thesis, Universität Kassel.Google Scholar
- Chiara, R. D., Erra, U., Scarano, V., and Tatafiore, M. 2004. Massive simulation using GPU of a distributed behavioral model of a flock with obstacle avoidance. In Vision Modeling and Visualization (VMV), 233--240.Google Scholar
- Cohen-Or, D., Chrysanthou, Y., and Silva, C. 2003. A survey of visibility for walkthrough applications. IEEE Trans. Visualization and Computer Graphics 9, 3 (July--Sept.), 412--431. Google ScholarDigital Library
- Courty, N. and Musse, S.R. 2005. Simulation of large crowds in emergency situations including gaseous phenomena. In Proceedings of the Computer Graphics International (CGI'05). IEEE, 206--212. Google ScholarDigital Library
- Drone, S. 2007. Real-time particle systems on the GPU in dynamic environments. In Proceedings of the International Conference on Computer Graphics and Interactive Techniques (SIGGRAPH'07). ACM, New York, 80--96. Google ScholarDigital Library
- Halfhill, T. 2008. Parallel Processing With Cuda. Microprocessor. In Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, 89--97.Google Scholar
- Harris, M. and Buck, I. 2005. GPU Gems 2 -- Programming Techniques for High-Performance Graphics and General- Purpose Computation. Addison Wesley, 547--555. Google ScholarDigital Library
- Klosowski, J. T. and Silva, C. T. 2000. The prioritized layered projection algorithm for visible set estimation. IEEE Trans. Visualization and Computer Graphics 6, 2, 108--123. Google ScholarDigital Library
- Kolb, A., Latta, L., and Rezk-Salama, C. 2004. Hardware based simulation and collision detection for large particle systems. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware ACM, New York, 123--131. Google ScholarDigital Library
- Marcolino, L. S. and Chaimowicz, L. 2008. No robot left behind: Coordination to overcome local minima in swarm navigation. In Proceedings of the IEEE International Conference on Robotics and Automation, 1904--1909.Google Scholar
- Mark, W. R., Glanville, R. S., Akeley, K., and Kilgard, M. J. 2003. Cg: A system for programming graphics hardware in a C-like language. In Proceedings of the International Conference on Computer Graphics and Interactive Techniques. ACM, New York, 896--907. Google ScholarDigital Library
- nVidia. 2008. nVidia CUDA programming guide 2.1.Google Scholar
- nVidia Corp. 2007. nVidia CUDA computer unified device architecture programming guide. http://developer.nvidia.com/cuda.Google Scholar
- Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Rger, J., Lefohn, A.E., and Purcell, T.J. 2007. A survey of general-purpose computation on graphics hardware. Computer Graphics Forum 26, 1, 80--113.Google ScholarCross Ref
- Passos, E., Joselli, M., Zamith, M., Rocha, J., Clua, E., Montenegro, A., Conci, A., and Feijó, B. 2008. Supermassive crowd simulation on GPU based on emergent behavior. In Proceedings of the Seventh Brazilian Symposium on Computer Games and Digital Entertainment (SBGames'08), Sociedade Brasileira de Computação, SBC, 70--75.Google Scholar
- Quinn, M.J., Metoyer, R., and Hunter-Zaworski, K. 2003. Parallel implementation of the social forces model. In Proceedings of the Second International Conference in Pedestrian and Evacuation Dynamics, 63--74.Google Scholar
- Reeves, W.T. 1983. Particle systems—A technique for modeling a class of fuzzy objects. ACM Trans. Graphics 2, 2, 91--108. Google ScholarDigital Library
- Reynolds, C.W. 2006. Big fast crowds on ps3. In Proceedings of the 2006 ACM SIGGRAPH Symposium on Videogames (Sandbox '06). ACM, New York, 113--121. Google ScholarDigital Library
- Reynolds, C.W. 1987. Flocks, herds and schools: A distributed behavioral model. In Proceedings of the 14th Annual Conference on Computer Graphics and interactive Techniques, 25--34. Google ScholarDigital Library
- Shao, W. and Terzopoulos, D. 2005. Autonomous pedestrians. In Proceedings of the 2005 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA'05), ACM, New York, 19--28. Google ScholarDigital Library
- Shreiner, D., Woo, M., Neider, J., and Davis, T. 2005. OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Vers. 2 (5th ed.), Addison-Wesley, Reading, MA. Google ScholarDigital Library
- Sillion, F.X. 1995. A unified hierarchical algorithm for global illumination with scattering volumes and object clusters. IEEE Trans. Visualization Computer Graphics 1, 3, 240--254. Google ScholarDigital Library
- Thalmann, D. and Musse, S. 2007. Crowd Simulation, Springer, Berlin. Google ScholarDigital Library
- Terzopoulos, D., Tu, X., and Grzeszczuk, R. 1994. Artificial fishes: Autonomous locomotion, perception, behavior, and learning in a simulated physical world. Artificial Life 1, 4, 327--351. Google ScholarDigital Library
- Treuille, A., Cooper, S., and Popovi'c, Z. 2006. Continuum crowds. ACM Trans. Graphics 25, 3, 1160--1168. Google ScholarDigital Library
Index Terms
- Boids that see: Using self-occlusion for simulating large groups on GPUs
Recommendations
On the Efficacy of a Fused CPU+GPU Processor (or APU) for Parallel Computing
SAAHPC '11: Proceedings of the 2011 Symposium on Application Accelerators in High-Performance ComputingThe graphics processing unit (GPU) has made significant strides as an accelerator in parallel computing. However, because the GPU has resided out on PCIe as a discrete device, the performance of GPU applications can be bottlenecked by data transfers ...
Optimized HPL for AMD GPU and multi-core CPU usage
The installation of the LOEWE-CSC ( http://csc.uni-frankfurt.de/csc/__ __51 ) supercomputer at the Goethe University in Frankfurt lead to the development of a Linpack which can fully utilize the installed AMD Cypress GPUs. At its core, a fast DGEMM for ...
A performance study of general-purpose applications on graphics processors using CUDA
Graphics processors (GPUs) provide a vast number of simple, data-parallel, deeply multithreaded cores and high memory bandwidths. GPU architectures are becoming increasingly programmable, offering the potential for dramatic speedups for a variety of ...
Comments