Show simple item record

dc.contributor.advisorKozubek, Tomáš
dc.contributor.authorJaroš, Milan
dc.date.accessioned2022-09-01T07:49:46Z
dc.date.available2022-09-01T07:49:46Z
dc.date.issued2021
dc.identifier.otherOSD002
dc.identifier.urihttp://hdl.handle.net/10084/148562
dc.description.abstractComputer graphics, since its inception in the 1960s, has made great progress. It has become part of everyday life. We can see it all around us, from smartwatches and smartphones, where graphic accelerators are already part of the chips and can render not only interactive menus but also demanding graphic applications, to laptops and personal computers as well as to high-performance visualization servers and supercomputers that can display demanding simulations in real time. In this dissertation we focus on one of the most computationally demanding area of computer graphics and that is the computation of global illumination. One of the most widely used methods for simulating global illumination is the path tracing method. Using this method, we can visualize, for example, scientific or medical data. The path tracing method can be accelerated using multiple graphical accelerators, which we will focus on in this work. We will present a solution for path tracing of massive scenes on multiple GPUs. Our approach analyzes the memory access pattern of the path tracer and defines how the scene data should be distributed across up to 16 GPUs with minimal performance impact. The key concept is that the parts of the scene that have the highest number of memory accesses are replicated across all GPUs. We present two methods for maximizing the performance of path tracing when dealing with partially distributed scene data. Both methods operate at the memory management level, and therefore the path tracing data structures do not need to be redesigned. We implemented this new out-of-core mechanism in the open-source Blender Cycles path tracer, which we also extended with technologies that support running on supercomputers and can take advantage of all accelerators allocated on multiple nodes. In this work, we also introduce a new service that uses our extended version of the Blender Cycles renderer to simplify sending and running jobs directly from Blender.en
dc.description.abstractPočítačová grafika od svého vzniku v 60. letech 20. století udělala velký pokrok. Stala se součástí každodenního života. Můžeme ji vidět všude kolem nás, od chytrých hodinek a smartphonů, kde jsou grafické akcelerátory již součástí čipů a dokáží vykreslovat nejen interaktivní menu, ale i náročné grafické aplikace, přes notebooky a osobní počítače až po výkonné vizualizační servery nebo superpočítače, které dokáží zobrazovat náročné simulace v reálném čase. V této disertační práci se zaměříme na jednu z výpočetně nejnáročnějších oblastí počítačové grafiky, a tou je výpočet globálního osvětlení. Jednou z nejpoužívanějších metod pro simulaci globálního osvětlení je metoda sledování cesty. Pomocí této metody můžeme vizualizovat např. vědecká nebo lékařská data. Metodu sledování cest lze urychlit pomocí několika grafických akcelerátorů, na které se v této práci zaměříme. Představíme řešení pro vykreslování masivních scén na více GPU. Náš přístup analyzuje vzory přístupů k paměti a definuje, jak by měla být data scény rozdělena mezi grafickými akcelerátory s minimální ztrátou výkonu. Klíčovým konceptem je, že části scény, které mají nejvyšší počet přístupů do paměti, jsou replikovány na všech grafických akcelerátorech. Představíme dvě metody pro maximalizaci výkonu vykreslování při práci s částečně distribuovanými daty scény. Obě metody pracují na úrovni správy paměti, a proto není třeba datové struktury přepracovávat. Tento nový out-of-core mechanismus jsme implementovali do open-source path traceru Blender Cycles, který jsme také rozšířili o technologie podporující běh na superpočítačích a schopné využít všechny akcelerátory alokované na více uzlech. V této práci také představíme novou službu, která využívá naši rozšířenou verzi Blender Cycles a zjednodušuje odesílání a spouštění úloh přímo z programu Blender.cs
dc.format.extent19366443 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.publisherVysoká škola báňská – Technická univerzita Ostravacs
dc.subjectMulti-GPU Path Tracingen
dc.subjectCUDA Unified Memoryen
dc.subjectData Distributed Path Tracingen
dc.subjectDistributed Shared Memory Path Tracingen
dc.subjectRendering-as-a-serviceen
dc.subjectMulti-GPU Path Tracingcs
dc.subjectCUDA Unified Memorycs
dc.subjectmetoda sledování cestcs
dc.subjectdistribuovaná datacs
dc.subjectsdílená paměťcs
dc.subjectslužba Rendering-as-a-servicecs
dc.titleMassively parallel implementation of algorithms for computer graphicsen
dc.title.alternativeMasivně paralelní implementace algoritmů počítačové grafikycs
dc.typeDisertační prácecs
dc.contributor.refereeGajdoš, Petr
dc.contributor.refereeJaroš, Jiří
dc.contributor.refereeKruis, Jaroslav
dc.date.accepted2022-04-29
dc.thesis.degree-namePh.D.
dc.thesis.degree-levelDoktorský studijní programcs
dc.thesis.degree-grantorVysoká škola báňská – Technická univerzita Ostrava. Univerzitní studijní programycs
dc.description.department96220 - Laboratoř pro výzkum infrastrukturycs
dc.thesis.degree-programVýpočetní vědycs
dc.thesis.degree-branchVýpočetní vědycs
dc.description.resultvyhovělcs
dc.identifier.senderS2790
dc.identifier.thesisJAR091_USP_P2658_2612V078_2021
dc.rights.accessopenAccess


Files in this item

This item appears in the following Collection(s)

Show simple item record