Thesis (Selection of subject)Thesis (Selection of subject)(version: 393)
Thesis details
   Login via CAS
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
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html