Distribuované diferencovatelné vykreslování pro Mitsubu 3
Thesis title in Czech: | Distribuované diferencovatelné vykreslování pro Mitsubu 3 |
---|---|
Thesis title in English: | Distributed differentiable rendering for Mitsuba 3 |
Key words: | distribuované vykreslování|Mitsuba 3|diferencovatelné vykreslování|cloud |
English key words: | distributed rendering|Mitsuba 3|differentiable rendering|cloud |
Academic year of topic announcement: | 2024/2025 |
Thesis type: | diploma thesis |
Thesis language: | |
Department: | Department of Software and Computer Science Education (32-KSVI) |
Supervisor: | Mgr. Tomáš Iser, Ph.D. |
Author: | hidden![]() |
Date of registration: | 28.08.2024 |
Date of assignment: | 29.08.2024 |
Confirmed by Study dept. on: | 30.08.2024 |
Advisors: | Darryl Gouder, M.Sc. |
Guidelines |
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. |
References |
[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 |