Dynamic simulation of rigid bodies using programmable GPUs
| Thesis title in Czech: | Dynamická simulace tuhých těles na programovatelných GPU |
|---|---|
| Thesis title in English: | Dynamic simulation of rigid bodies using programmable GPUs |
| Key words: | CUDA, GPGPU, simulace fyziky |
| English key words: | CUDA, GPGPU, physics simulation, physics engine, game physics, OpenCL |
| Academic year of topic announcement: | 2009/2010 |
| Thesis type: | diploma thesis |
| Thesis language: | angličtina |
| Department: | Department of Software and Computer Science Education (32-KSVI) |
| Supervisor: | RNDr. Petr Kmoch |
| Author: | hidden - assigned and confirmed by the Study Dept. |
| Date of registration: | 15.01.2010 |
| Date of assignment: | 15.01.2010 |
| Date and time of defence: | 06.09.2011 11:00 |
| Date of electronic submission: | 05.08.2011 |
| Date of submission of printed version: | 05.05.2011 |
| Date of proceeded defence: | 06.09.2011 |
| Opponents: | RNDr. Jan Kolomazník, Ph.D. |
| Guidelines |
| The goal of the thesis is to create a program for simulating the dynamics of rigid bodies and their systems using GPGPU. The student shall familiarize themselves with currently available GPGPU programming models (CUDA, OpenCL, DirectCompute) and choose one appropriate for implementing this task.
Speed and stability of the simulation shall be the priority. As simulation primitives, the program shall use basic mathematical bodies, and optionally also bodies of arbitrary shape. Joining bodies into larger systems shall be supported. The program shall be designed to best leverage the capabilities of the chosen GPGPU programming model, with relevant design choices documented and rationalized. The student shall also research the possibility of using the "Spatial Vector Algebra" formalism [Featherstone] and its (un)suitability for use in GPGPU. The thesis should also include performance tests of the program and their analysis with respect to workload distribution between the CPU and the GPU. Where possible, the program should be designed as modular, to facilitate comparing the efficiency of different implementations of individual subsystems (like collision detection or numerical integration), either as part of this thesis or as future follow-up work. |
| References |
| 1. CUDA documentation
http://www.nvidia.com/object/cuda_develop.html 2. OpenCL standard http://www.khronos.org/opencl/ 3. DirectX documentation http://msdn.microsoft.com/en-us/directx/default.aspx 4. Press, Teukolsky, Vetterling, Flannery. Numerical Recipes: The Art of Scientific Computing. Cambridge University Press, 2007. 5. Featherstone. Rigid Body Dynamics Algorithms. Springer, 2008 |
- assigned and confirmed by the Study Dept.