Original title:
Simulace šíření tepla s časově proměnným zdrojem s využitím GPU
Translated title:
Simulation of the Heat Diffusion with a Time-Varying Source on GPUs
Authors:
Hála, Pavel ; Záň, Drahoslav (referee) ; Jaroš, Jiří (advisor) Document type: Bachelor's theses
Year:
2014
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Tato bakalářská práce se zabývá simulací šíření tepla v živých tkáních, které je dodáváno časově proměnným externím tepelným zdrojem. Simulace byla implementována pomocí metody konečných diferencí čtvrtého řádu v prostoru a prvního v čase. V rámci práce byla nejprve implementována vícevláknová verze využívající procesoru CPU. Následně bylo implementováno několik verzí pro grafickou kartu GPU s důrazem na maximální adaptaci algoritmu na danou architekturu a co nejlepší využít výpočetního potenciálu grafické karty. Experimentálním měřením se ukázalo, že nejrychlejší je naivní algoritmus využívající pouze globální paměť grafické karty. Dále byla zkoumána efektivita Gauss-Seidelovy obarvovací metody, jejíž cílem je redukce paměťové náročnosti. Na CPU se tato metoda ukázala použitelná, neboť její nejrychlejší verze byla pouze o 13% pomalejší, ale při použití této metody je možné snížit paměťovou náročnost až na polovinu. Implementace této metody na GPU byla 2x pomalejší a její přínos proto není tak velký. Na CPU bylo dosaženo maximálního výkonu 32GFLOPS zatímco na GPU 135GFLOPS. To odpovídá 10% (CPU) a 9% (GPU) maximálního teoretického výkonu obou architektur.
This bachelor's thesis deals with the simulation of the heat transfer inside human tissue injected by an external time varying heat source. The proposed implemented simulation is based on a 4th order in space and 1st order in time finite-difference time domain method. First, a multithreaded CPU version was implemented. Subsequently, several GPU accelerated versions were implemented taking into account architecture aspect of the GPU. The experimental results showed that the fastest GPU kernel was the naive one using only the GPU global memory. Next, the usefulness of the Gauss-Seidel's method was investigated. The CPU implementation of the method was evaluated as usable because of being only 13% slower while saving up to 50% of memory resources. However, the GPU implementation was twice as slow as the naive version mainly due to shared memory size limits. The peak performance in terms of GFLOPS reached 32 and 135 on CPU and GPU, respectively. This corresponds to 10% and 9% of the theoretical potential of given architectures.
Keywords:
CUDA; finite-difference time domain method; Gauss-Seidel method; heat transfer; OpenMP; parallelization; CUDA; Gauss-Seidelova metoda; metoda konečných diferencí; OpenMP; paralelizace; šíření tepla
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/56574