REGEC, M. Optimalizace spojování dílčích 3D modelů povrchu z hlediska výpočetní doby [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2020.
Student pracoval od začátku až do konce systematicky a samostatně. Postupoval koncepčně a sám navrhoval vhodná odborná řešení. Konzultace využíval spíše jen pro reportování a plánování dalšího postupu. Ke konci semestru se nedostal do časové tísně. Zadání rozhodně považuji velmi náročné v kontextu BP, a to jak z hlediska rozsahu, tak i z hlediska odborného. Vyžadovalo důkladné nastudování a pochopení současného systému, včetně cizího zdrojového kódu, bylo nutné do hloubky nastudovat problematiku syntézy a analýzy počítačových 3D modelů nebo třeba nastudovat paralelní programování na grafické kartě. To vše jistě přesahuje rámec běžné bakalářské práce. Student tuto část zvládl výborně. Výsledkem práce je opravdu řádové zrychlení procesu spojování, což dokazují i provedené experimenty. Výstupy jsou funkční a použitelné. Předložená práce splňuje veškeré požadavky zadání. Jediným drobným nedostatkem jsou typografické chyby a překlepy a občas ne zcela jasné vysvětlení postupu v textu. To však nic nemění na tom, že na základě dosažených výsledků není pochyb o bakalářských schopnostech studenta.
Student Martin Regec měl nastudovat existující kód aplikace RoScanu, doplnit algoritmus spojování modelů, optimalizovat výpočty na GPGPU a implementovat tyto optimalizace s použitím OpenCL a nakonec měl srovnat výsledky za pomocí experimentu. Zadání je svým rozsahem a komplexností náročnější na práci studenta, než je obvyklé u zadání bakalářských prací. Student všechny body zadání splnil. U zadání tohoto typu je obvyklé, že bude u práce přiložen zdrojový kód, který student realizoval, aby oponent mohl posoudit kvalitu studentovy práce a přístup k algoritmům, které zvolil. Bohužel, v odevzdaných souborech se nachází pouze instalátor k binární verzi jeho výsledku společně s testovacími daty a o implementaci jeho kódu jsem se v jeho práci dočetl jen velmi sporadicky, z hodně abstraktního pohledu. Zdrojový kód jsem získal až po urgencích přes vedoucího práce. Zdrojový kód je nepřehledný, vpodstatě obsahuje celou funkcionalitu jeho práce v jednom velkém nepřehledném souboru. (2880 řádků ModelMerging.cs který je navíc licencován Marku Lampášovi - nepřibyl ani řádek se jménem Martina Regece jakožto následovníka v hlavičce souboru). V tomto souboru je obrovské množství duplikovaného kódu s drobnými změnami. Žádná z funkcí nemá komentář a u drtivé většiny funkcí je těžké z názvu odvodit, co daná funkce dělá, v čem se liší od předcházející kopie. Ke zjištění funkce přispívají mnohdy matoucí názvy lokálních proměnných. Přitom zavedení jednoduchých pravidel OOP, dědičnost a striktní oddělení částí OpenCL a CPU výpočtů do samostatných souborů by mohlo práci výrazně zpřehlednit a usnadnit budoucí vývoj v dalších algoritmech. Jeho práce je z tohoto důvodu velmi těžce uchopitelná a rozšířitelná v dalších studentských pracích. Práce má však stále hodnotu proof-of-concept, protože studentem navržené výsledky opravdu řádově zrychlují výpočty nad objekty, což student dokázal jak v práci, tak jsou otestovatelné z odevzdaných souborů. Student též opravil některé z chyb jeho předchůdce a nastínil možné pokračování prací na daném softwaru. Po formální stránce se práce jeví dobře, byť s překlepy. Student velmi dobře používá kvalitní literaturu, kterou správně a hojně cituje. Práci mohu označit jako původní. Práce prokazuje bakalářské schopnosti studenta. Práci doporučuji k obhajobě.
eVSKP id 126983