Exploring Inefficiencies in Implementations Utilizing GPUs for Novel View Synthesis of Dynamic Scenes: Limitations of Modern Computer Vision Models and Possible Enhancements
2025 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Utforskning av ineffektivitet i GPU-baserade implementationer för syntes av tidigare osedda vyer i dynamiska scener : Begränsningar i Moderna Datorseendemodeller och Möjliga Förbättringar (Swedish)
Abstract [en]
This thesis investigates the computational inefficiencies in existing machine learning models for novel view synthesis, which is the task of generating images of observed scenes from new view points. Modern models are analyzed, and three models are selected for a detailed examination of their implementation. The goal is to identify factors that limit the efficiency of these models during both inference and training phases and to optimize them. Inefficiencies can arise from poor implementations or suboptimal resource usage, especially when memory is not properly reused across training iterations or when hardware, particularly Graphics Processing Units (GPUs), are not fully utilized. The thesis addresses the question: What are the limiting factors in current implementations of dynamic scene novel view synthesis, and how can they be mitigated? While many studies present unoptimized models to demonstrate capabilities, this research focuses on improving computational efficiency without altering the underlying model architecture, which would require extensive retraining and benchmarking—beyond the scope of this project. This problem was addressed by utilizing tools such as the PyTorch profiler to measure the time spent in various functions, helping to identify performance bottlenecks. Additionally, custom kernels were analyzed using the NVIDIA Nsight suite to uncover inefficiencies in their execution. These insights allowed for targeted optimizations that significantly improved runtime performance. The findings indicate substantial improvements when tensor operations, typically written in PyTorch, are translated into custom CUDA kernels, yielding up to an 80% reduction in runtime. However, implementing a backward function for integration with PyTorch’s automatic differentiation engine presents a challenge. Additionally, the optimization of a specific CUDA kernel resulted in a 75% reduction in its runtime, translating into a nearly 20% reduction in total training time for the model. These results highlight that even modest efforts to optimize existing models can yield significant improvements, underscoring the importance of GPU programming knowledge for developers aiming to build more efficient machine learning systems.
Abstract [sv]
Denna avhandling undersöker de beräkningsmässiga ineffektiviteteterna i befintliga maskininlärningsmodeller för ny vy-syntes, vilket är uppgiften att generera bilder av observerade scener från nya vyer. Moderna modeller analyseras, och tre modeller väljs ut för en detaljerad granskning av deras implementation. Målet är att identifiera faktorer som begränsar effektiviteten hos dessa modeller under både inferens- och träningsfaser och att optimera dem. Ineffektivitet kan uppstå från bristfälliga implementationer eller suboptimal resursanvändning, särskilt när minne inte återanvänds på ett effektivt sätt mellan träningsiterationer eller när hårdvaran, särskilt grafikkort (GPU:er), inte utnyttjas fullt ut. Uppsatsen behandlar frågan: Vilka är de begränsande faktorerna i nuvarande implementeringar av ny vy-syntes för dynamiska scener, och hur kan de åtgärdas? Även om många studier presenterar ooptimerade modeller för att demonstrera kapabiliteter, fokuserar denna forskning på att förbättra beräkningsmässig effektivitet utan att ändra den underliggande modellarki- tekturen, vilket skulle kräva omfattande omträning och benchmarking—utöver detta projekts omfattning. Problemet adresserades genom att använda verktyg som PyTorch profiler för att mäta den tid som spenderades i olika funktioner, vilket hjälpte till att identifiera prestandaflaskhalsar. Dessutom analyserades anpassade kärnor med hjälp av NVIDIA Nsight-sviten för att avslöja ineffektivitet i deras körning. Dessa insikter gjorde det möjligt att genomföra riktade optimeringar som avsevärt förbättrade körtidsresultaten. Resultaten visar på betydande förbättringar när tensoroperationer, van- ligtvis skrivna i PyTorch, översätts till anpassade CUDA-kärnor, vilket ger en upp till 80% minskning av körtid. Att implementera en bakåt funktion för integration med PyTorchs automatiska differentiationsmotor är dock en utmaning. Dessutom resulterade optimeringen av en specifik CUDA-kärna i en 75% minskning av dess körtid, vilket resulterade i en nästan 20% minskning av den totala träningstiden för modellen. Dessa resultat belyser att även blygsamma ansträngningar för att optimera befintliga modeller kan ge betydande förbättringar, vilket understryker vikten av GPU-programmeringskunskaper för utvecklare som vill bygga mer effektiva maskininlärningssystem.
Place, publisher, year, edition, pages
2025. , p. 106
Series
TRITA-EECS-EX ; 2025:93
Keywords [en]
Novel View Synthesis, Machine Learning optimization, GPU efficiency, Custom CUDA kernels, Performance profiling
Keywords [sv]
Ny synsättsynthes, Maskininlärningsoptimering, GPU-effektivitet, Anpassade CUDA-kärnor, Prestandaprofilering
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-362889OAI: oai:DiVA.org:kth-362889DiVA, id: diva2:1955202
Supervisors
Examiners
2025-05-072025-04-292025-05-07Bibliographically approved