Dynamic simulation of rigid bodies using programmable GPUs
Název práce v češtině: | Dynamická simulace tuhých těles na programovatelných GPU |
---|---|
Název v anglickém jazyce: | Dynamic simulation of rigid bodies using programmable GPUs |
Klíčová slova: | CUDA, GPGPU, simulace fyziky |
Klíčová slova anglicky: | CUDA, GPGPU, physics simulation, physics engine, game physics, OpenCL |
Akademický rok vypsání: | 2009/2010 |
Typ práce: | diplomová práce |
Jazyk práce: | angličtina |
Ústav: | Katedra softwaru a výuky informatiky (32-KSVI) |
Vedoucí / školitel: | RNDr. Petr Kmoch |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 15.01.2010 |
Datum zadání: | 15.01.2010 |
Datum a čas obhajoby: | 06.09.2011 11:00 |
Datum odevzdání elektronické podoby: | 05.08.2011 |
Datum odevzdání tištěné podoby: | 05.05.2011 |
Datum proběhlé obhajoby: | 06.09.2011 |
Oponenti: | RNDr. Jan Kolomazník, Ph.D. |
Zásady pro vypracování |
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. |
Seznam odborné literatury |
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 |