Simulace pohybu těles v planetárním systému
N-Body simulation of planetary system
dc.contributor.advisor | Šimeček Ivan | |
dc.contributor.author | Krutil Filip | |
dc.date.accessioned | 2017-04-25T17:39:26Z | |
dc.date.available | 2017-04-25T17:39:26Z | |
dc.date.issued | 2016-02-19 | |
dc.identifier | KOS-587864650405 | |
dc.identifier.uri | http://hdl.handle.net/10467/68201 | |
dc.description.abstract | Tato práce je zaměřená na optimalizaci kódu, který představuje simulaci pohybu těles, které mezi sebou gravitačne interagují, konkrétně byla k simulaci použita data představující sluneční soustavu. Neoptimalizovaný algoritmus byl napsán na základě Newtonova gravitačního zákona v jazyce C++ a poté optimalizován pomocí různých nastavení kompilátoru GCC, malými úpravami zdrojového kódu, ale i jeho rozsáhlejšími transformacemi jako je rozbalování cyklů, nebo způsob uložení dat v paměti. V neposlední řadě byl pak algoritmus paralelizován pro systémy s mnoha výpočetními jádry pro paralelní výpočty technologií OpenMP. Z přiložených zdrojových kódů je pak možné přeložit různé verze programu, podle použitých optimalizací od neoptimalizovaného až po nejrychlejší paralelní verzi programu pro 24 výpočetních vláken. Spuštěním takto přeloženého programu se vstupními daty představujícími stav sluneční soustavy v určitém čase, lze získat stav soustavy odpovídající stavu po uběhnutí určitého předem zvoleného času a tento vizualizovat v podobě 3D grafu vytvořeném pomocí nástroje Gnuplot. | cze |
dc.description.abstract | This thesis is focused on optimization of code representing celestial bodies movements which interacts by gravitational forces. In this case data representing Solar system was used for the simulation. Unoptimized algorithm is basicaly Newton's law of universal gravitation written in the C++ programming language which was then optimized by using different GCC compiler options, making small changes in the code, and also more extensive alterations such as cycle unrolling or the way how data was stored in the memory. Last but not least the algorithm was adapted for multicore systems for parallel computing by the OpenMP technology. It is possible to compile several versions of differently optimized or adjusted programs from attached source codes starting with a basic version and ending with the fastest 24 threads parallel version. By running this program with data representing Solar System in given time, it is possible to get a new system state after certain time given beforhand and vizualize the system by the Gnuplot tool in the form of a 3D graph. | eng |
dc.language.iso | CZE | |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | C/C++, simulace pohybu planet, optimalizace, rozbalování cyklů, paralelizace, OpenMP | cze |
dc.subject | C/C++, planetary movement simulation, optimization, cycle unrolling, parallelization, OpenMP | eng |
dc.title | Simulace pohybu těles v planetárním systému | cze |
dc.title | N-Body simulation of planetary system | eng |
dc.type | bakalářská práce | cze |
dc.type | bachelor thesis | eng |
dc.date.accepted | 2017-02-08 | |
dc.contributor.referee | Šoch Michal | |
theses.degree.discipline | Teoretická informatika | cze |
theses.degree.grantor | katedra teoretické informatiky | cze |
theses.degree.programme | Informatika | cze |
Soubory tohoto záznamu
Tento záznam se objevuje v následujících kolekcích
-
Bakalářské práce - 18101 [349]