LUDVÍK, M. Akcelerace akustického propagátoru na GPU [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
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.
| 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). |
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í.
| 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. |
eVSKP id 164190