LUDVÍK, M. Akcelerace akustického propagátoru na GPU [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.

Posudky

Posudek vedoucího

Jaroš, Jiří

Martin Ludvík při řešení diplomové práce prokázal, že je vynikající programátor, schopný samostatně řešit i velmi složité problémy. Díky své práci dosáhl výborných výsledků, které budou prezentovány na vědeckém fóru. Bohužel v zimním semestru byla jeho aktivita velmi nízká, čímž ztratil značné množství cenného času. Dokončování práce tak probíhalo poměrně hekticky, což se negativně odrazilo především na kvalitě textové zprávy.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem práce bylo implementovat akcelerovanou verzi akustického propagátoru na GPU. Student při implementaci vycházel z existujících verzí v prostředí Matlab, které však zásadním způsobem optimalizoval a výrazně urychlil. Nad rámec zadání navrhl inovativní techniku kombinace nelineárního propagátoru s potlačením vln přicházející se z opačné strany výpočetní domény. Dále připravil přímou integraci do Matlabu ve formě MEX funkce. Lze tedy konstatovat, že vytvořil dílo, které svým rozsahem i kvalitou výrazně přesahuje původní zadání a má obrovský publikační potenciál.
Práce s literaturou Student s literaturou pracoval spíše okrajově. V průběhu řešení se zaměřil především na implementaci předložených algoritmů a relevantní zdroje začal cíleně dohledávat až při psaní textu diplomové práce.
Aktivita během řešení, konzultace, komunikace Aktivita během řešení byla velmi nevyrovnaná. V zimním semestru proběhlo jen minimum konzultací a v projektovém repozitáři chyběly téměř jakékoli záznamy o pokroku. Tato časová ztráta měla zásadní dopad na průběh dokončování diplomové práce. V letním semestru se však přístup studenta výrazně zlepšil – konzultace probíhaly pravidelně každý týden a repozitář se podařilo uvést do odpovídajícího stavu. Navíc byla vytvořena WIKI dokumentace shrnující dosažené výsledky.
Aktivita při dokončování Dokončování práce probíhalo velmi hekticky. Přestože samotné zdrojové kódy jsou ve velmi dobrém stavu, technická zpráva – i přes značné úsilí při jejím zpracování – obsahuje poměrně velké množství nedostatků.
Publikační činnost, ocenění Student se zúčastnil studentské konference Excel@FIT. Jak již bylo zmíněno, práce i dosažené výsledky mají značný publikační potenciál. V současné době byl odeslán poster na konferenci FUN 2025 a připravuje se odborná publikace do časopisu Journal of the Acoustical Society of America (JASA, Q2).
Navrhovaná známka
C
Body
70

Posudek oponenta

Chlubna, Tomáš

Výsledná implementace a měření jsou velmi dobré, práce má praktické využití a vědecký potenciál, ale textová zpráva je podprůměrná. V práci je patrný velký nepoměr kvality mezi implementací a textovou zprávou. Zpráva působí uspěchaným dojmem a obsahuje mnoho nekonzistencí, formálních nedostatků a celkově není dobře čitelná díky strukturální nevyváženosti kapitol. Naopak realizační výstupy jsou zdařilé, užitečné a inovativní.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání je náročnější díky nutnosti podrobného studia existující simulační metody a její implementace v MATLAB knihovně a také díky použití pokročilých optimalizačních technik s využitím GPU.
Rozsah splnění požadavků zadání Všechny body zadání jsou splněny .
Rozsah technické zprávy Zpráva popisuje práci dostatečně, chybí jeden formální požadavek. Směrnice rektora č. 72/2017 čl. 15 uvádí nutnost uvedení rozšířeného abstraktu v anglicky psané zprávě, což nebylo splněno.
Prezentační úroveň technické zprávy 72 Text je rozdělen na standardní doporučené kapitoly, nicméně některé části textu nejsou vhodně umístěny, kapitoly jsou nevyvážené, a text je místy hůře pochopitelný. Teoretická kapitola dobře popisuje problematiku, ale je velmi úzce zaměřena. V návrhové kapitole se zase nachází implementační detaily jako CMake přepínače a konkrétní parametry výsledného programu. Naopak chybí ucelený obecný popis vstupů, výstupů a metod řešení. Obecné popisy CUDA, CMake, HDF5, a MATLAB C++ MEX by bylo lépe přesunout z návrhu do teorie. Kapitola návrhu a teorie dohromady tvoří jen čtvrtinu textu což poukazuje na značnou nevyváženost obsahu. Ve zprávě se nachází malé množství vysvětlujících obrázků. Drtivá většina obrázků jsou grafy v kapitole měření. Zbývají 4 kde 2 nejsou informačně hodnotné jelikož jeden je obrázek textového výstupu aplikace a druhý je snímek obrazovky s kódem. Podobně i Alg. 1-5 jsou poměrně triviální a mohly být vynechány či nahrazeny rovnicemi. Kapitola měření je počtem stran nejdelší a je velmi podrobná. Autor pečlivě změřil dosažené výsledky ve všech směrech a naměřené hodnoty dobře analyzoval.
Formální úprava technické zprávy 69 Text neobsahuje velké množství gramatických chyb, je však zatížen mnoha formálními nedostatky. V obsahu se vyskytují nadpisy třetí úrovně, které nejsou v textu použity konzistentně. V nadpisech sekcí jsou překlepy jako použití conversation místo conversion , nebo cmtah místo cmath a také v českém abstraktu je překlep číření vln . Časté používání první mluvnické osoby jednotného i množného čísla narušuje slohový styl odborného technického textu. Termíny jsou také uvedeny nekonzistentně, např. místy MATLAB , jindy Matlab . Odkazy na objekty v textu začínají malým písmenem, např. table 3.1 , místy neobsahují typ odkazovaného objektu, např. in 4.4 . Některé objekty jsou uvozeny pouze v textu bez použití odkazu, např spojení like this: odkazující pravděpodobně na Fig. 5.1. Mnoho objektů není odkazováno v textu žádným způsobem. Jinde jsou zase odkazy vysázeny s typem objektu i číslem červeně místo správného obarvení pouze čísla. Na str. 7 a 9 se vyskytují části kódu zasazené do textu, které popisují jen triviální operace jako např. inicializace pole, a místy není jasné jak souvisí s okolním textem. Některé názvy funkcí v textu jsou vysázeny kurzívou, jiné ne. Seznamy nejsou konzistentní. Jednotlivé položky často nejsou zakončeny interpunkcí, a některé položky začínají velkým písmenem, jiné malým, některé končí tečkou, jiné ne, např. seznam na str. 33. Rovnice v teoretické kapitole jsou pěkně vysázené i s použitím barev. Nicméně v rovnicích kapitole měření je použit znak * pro násobení místo lepších alternativ.
Práce s literaturou 74 V textu je vhodně citováno 21 relevantních zdrojů, některé mohly být lépe zvoleny či redukovány. U některých zdrojů chybí uvedení DOI či ISSN. Zdroje [5, 6] mohly být sloučeny jelikož odkazují oba do dokumentace frameworku CUDA, taktéž zdroje [13, 14] do dokumentace programu MATLAB. Zdroj [17] je odkazem na web existujícího produktu a raději mohl být uveden v poznámce pod čarou. Zdroj [20] je odkazem na Wikipedii a mohl být nahrazen odbornou literaturou a zdroj [15] je odkazem na diskuzi fóra Stack Overflow, který do seznamu literatury nepatří.
Realizační výstup 100 Výsledná implementace je velmi dobrá a podrobné měření potvrzuje efektivitu řešení. Zdrojové kódy jsou rozsáhlé a jsou přehledně členěny. Projekt je snadno použitelný díky integraci CMake. Autor použil mnoho pokročilých technik v rámci C++ a CUDA kódů. V implementaci jsou mimo paralelizaci řešeny také problémy s paměťovými nároky, využitím rychlých typů paměti na GPU a nároky na přenos dat. Měření kvality výstupů, výpočetního času a paměťových nároků ukazuje velký přínos autorovy implementace ve srovnání s existujícím řešením.
Využitelnost výsledků Výsledky práce jsou velmi užitečné v praxi, optimalizují existující metody a mají vědecký potenciál. Práce byla prezentována na studenské konferenci Excel@FIT 2025. Autor také zmiňuje plán využít dosažené výsledky v rámci vědecké publikace.
Navrhovaná známka
C
Body
79

Otázky

eVSKP id 164190