Distribuované diferencovatelné vykreslování pro Mitsubu 3
Název práce v češtině: | Distribuované diferencovatelné vykreslování pro Mitsubu 3 |
---|---|
Název v anglickém jazyce: | Distributed differentiable rendering for Mitsuba 3 |
Klíčová slova: | distribuované vykreslování|Mitsuba 3|diferencovatelné vykreslování|cloud |
Klíčová slova anglicky: | distributed rendering|Mitsuba 3|differentiable rendering|cloud |
Akademický rok vypsání: | 2024/2025 |
Typ práce: | diplomová práce |
Jazyk práce: | |
Ústav: | Katedra softwaru a výuky informatiky (32-KSVI) |
Vedoucí / školitel: | Mgr. Tomáš Iser, Ph.D. |
Řešitel: | skrytý![]() |
Datum přihlášení: | 28.08.2024 |
Datum zadání: | 29.08.2024 |
Datum potvrzení stud. oddělením: | 30.08.2024 |
Konzultanti: | Darryl Gouder, M.Sc. |
Zásady pro vypracování |
Mitsuba 3 is an open-source research renderer capable of high-performance local parallelization based on just-in-time (JIT) compilation of computation kernels for many-core CPUs (via LLVM) and GPUs (via CUDA/OptiX). However, its performance is always limited to only one machine and CPU/GPU, as Mitsuba 3 does not support execution on multiple machines or execution on CPU and GPU simultaneously. This limitation is common in research renderers and the goal of this thesis is to find a solution.
The student should implement a framework to allow distributed rendering for Mitsuba 3, and optionally other similar renderers, allowing it to run both on cloud-based providers of compute nodes and on local servers, for example within a university or company computational network. The implementation should include: - A combined run-time load balancing: - 1) Taking into account the computational performance, because the nodes may have different hardware (combinations of CPU and GPU of different speeds). - 2) Taking into account local image quality metrics, because different regions of the renderer image may vary wildly in their complexity and variance (noise levels), so some regions may converge with a lower number of samples than other regions, and it would be wasteful to continue rendering such regions further. - Real-time preview of the rendered scene, such that the user can see the progress and decide to manually stop the rendering. - Support for differentiable (inverse) rendering, mainly the distributed framework should be compatible with inverse rendering optimization pipelines. - Python-based API for ease of use and, if possible, integration with the Python API of Mitsuba 3. - Ready-to-use Docker containers that can be easily deployed within a local network and within a chosen cloud infrastructure. |
Seznam odborné literatury |
[1] Alan Chalmers, Timothy Davis, and Erik Reinhard (Eds.). 2002. Practical parallel rendering. AK Peters, Natick, Mass.
[2] Holger Dammertz, Johannes Hanika, Alexander Keller, and Hendrik Lensch. 2010. A Hierarchical Automatic Stopping Condition for Monte Carlo Global Illumination. In Proc. of the WSCG 2010, 2010. 159–164. Retrieved from https://jo.dreggn.org/home/2009_stopping.pdf [3] Wenzel Jakob et al. 2022. Mitsuba 3 renderer. Retrieved from https://mitsuba-renderer.org [4] Yining Karl Li. Adaptive Sampling. Code & Visuals. Retrieved August 28, 2024 from https://blog.yiningkarlli.com/2015/03/adaptive-sampling.html |