BAYER, D. Akcelerace ultrazvukové neurostimulace pomocí multi-GPU systémů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Jaroš, Jiří

Přestože se práce na první pohled jeví jako nedotažená a hekticky dokončovaná, je nutné při hodnocení zohlednit nadstandardní aktivitu studenta, který se práci věnoval již od června 2022, a velice složité úloze, která dalece přesahuje rozsah diplomové práce. Dosažené výsledky jsou velice slibné a kód je navržen velice kvalitně. Po odstranění drobných nedostatků může být kód vydán.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem této diplomové práce bylo rozšířit k-Wave toolbox o možnost využití více grafických karet. Jedná se o velice složité zadání protože: (1) bylo nutné prozkoumat a pochopit poměrně komplikovaný kód, (2) bylo nutné nastudovat principy práce s více GPU, které jsou stále ve fázi aktivního vývoje a tedy dokumentace nepatří mezi nejpropracovanější, (3) dekompozice problému na více GPU a orchestrace vzájemné komunikace představuje komplexní problém. Výstupem práce je kód ve fázi alfa verze, která integruje všechny důležité součásti a poskytuje zajímavé zrychlení. Pro účely produkční verze je ale stále nutné dodělat některé subsystémy a doplnit dokumentaci, která v současné době ve vetší části kódu chybí. 
Práce s literaturou Student pracoval s literaturou samostatně, prostudoval rovněž doporučenou literaturu od vedoucího práce. Práce však mohla obsahovat více pramenů popisující řešené problémy na více GPU, z nichž se mohl autor inspirovat.
Aktivita během řešení, konzultace, komunikace Aktivita během řešení byla vynikající. Student začal na DP pracovat již během letních prázdnin a rychle pokračoval kupředu. Již po prvním semestru měl naměřeny základní benchmarky ze zjednodušeného kódu a prostudovány techniky programování více GPU. Při práci na produkční verzi k-Wave si vybrala svoji daň značná komplexnost celého balíku, který má řádově dvacet tisíc řádků kódu. Postup prací nebyl tak rychlý, jak by bylo nutné. Přesto musím Davida pochválit za vysoce nadprůměrné množství času, které implementaci věnoval. Rovněž musím vyzdvihnout velké množství schůzek, na které byl student vždy dobře připraven.
Aktivita při dokončování Vzhledem ke složitosti celého problému byla práce dokončována na poslední chvíli, což se projevilo především na kvalitě textové zprávy. I tak jsem ale měl možnost důležité části komentovat. 
Publikační činnost, ocenění Práce dosud nebyla publikována, má však velký aplikační potenciál a její jádro bude v nejbližší době publikováno na mezinárodní konferenci v oblasti vysoce náročného počítání.
Navrhovaná známka
A
Body
90

Posudek oponenta

Kadlubiak, Kristián

Oblasť programovania multi-GPU systémov je značne komplikovaná a vyžaduje rozsiahle znalosti zo strany programátora. Z výstupov práce je zrejmé, že sa študent detailne orientuje v celej problematike. Navyše, niektoré časti zadania boli naplnené nad mieru očakávania. Je treba tiež podotknúť, že v rámci práce vznikla minimálne jedna implementácia s publikačným potenciálom, ktorá by po menších úpravách mohla byť zahrnutá do balíka k-Wave. Naneštastie technická správa nedosahuje kvality implementácie, je neúplná a neprezentuje potenciál celej práce. Z textu je poznať, že vznikal na etapy a pod tlakom, čo skazilo dojem z inak vynikajúcej práce.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání V rámci zadania mal študent za úlohu navrhnúť a implementovať simuláciu ultrazvuku za využitia Fourierovej Transformácie (FT) na multi-GPU systémoch. Už samotné správne nastavenie a volanie knižníc na výpočet FT vyžaduje detailné pochopenie algoritmov a rôznych nastavení. Navyše samotná podpora pre multi-GPU prostredie je stále v aktívnej fáze vývoja. Kombinácia týchto dvoch faktov jednoznačne radí zadanie medzi značne obtiažné.
Rozsah splnění požadavků zadání Väčšina bodov zadania bola naplnená nad mieru očakávania. Študent navrhol viaceré rôzne prístupy k distribuovanému výpočtu FT na multi-GPU systémoch a taktiež ich implementoval v rámci simulácie šírenia tepla v k-Wave. Jediné menšie výhrady mám k bodu 6 a 7, ktoré by si zaslúžili viac rozviesť.
Rozsah technické zprávy Práca podľa môjho názoru spĺňa len minimálne požiadavky na rozsah. Študent hlavne v úvode opisuje v adekvátnom detaile použité technológie, prístupy a architektúru danej aplikácie. Práca ďalej obsahuje sekcie, ktoré nie sú potrebné pre celkové pochopenie problematiky. V druhej časti sú zase kapitoly so zásadným vplyvom na výsledok celej práce veľmi stručné.
Prezentační úroveň technické zprávy 64 Prezentačná úroveň nie je najlepšia. Študent používa niektoré termíny bez predchádzajúceho zavedenia a text neobsahuje niektoré kľúčové informácie potrebné pre celkové pochopenie. Taktiež je problematická náväznosť jednotlivých kapitol. Text pôsobí, ako tri logicky oddelené celky. Naopak veľmi kladne hodnotím kvalitne spracované diagramy a schémy.
Formální úprava technické zprávy 78 K formálnej stránke správy nemám väčšie výhrady. Po jazykovej stránke je práca, až na občasné preklepy a použitie anglických názvov, v poriadku.
Práce s literaturou 62 Práca s literatúrou je jedna so slabých stránok textu. Nejedná sa ani tak o samotný počet a kvalitu zdrojov, ako o fakt, že citácie sa väčšinou nachádzajú v úvode sekcie s tým, že sa vzťahujú na celu sekciu. Čitateľ následne musí sám odhadovať, čo sú vlastné myšlienky autora a čo prevzaté. Študent nie vždy používa primárne zdroje. Sekcia popisujúca diferenciálne rovnice akustických vĺn obsahuje jediný odkaz na manuál balíka k-Wave. V jednom prípade je kvalita použitého zdroja neakceptovateľná.
Realizační výstup 98 Realizačné výstupy sú vysokej kvality. Študent navrhol kvalitný dizajn podla princípov softvérového inžinierstva založený na štandarde C++20, ktorý umožňuje jednoduché rozširovanie, úpravu a udržovanie kódu. Návrh tiež zjednocuje CPU a GPU implementáciu simulácie šírenia ultrazvuku za použitia pokročilých technýk OOP. Okrem toho, študent navrhol a implementoval niekoľko verzii simulácie šírenia tepla v médiu. V rámci práce bol tiež vytvorený skript pre nástroj CMake pre zjednodušenie kompilácie. Z pohľadu realizačných výstupov sa jedná o výnimočnú prácu.
Využitelnost výsledků Z môjho pohľadu je použitie viacerých GPU na výpočet FT relatívne málo preskúmaná oblasť HPC. V spojení s využitím v rámci Pseudospektrálnych simulácií predstavuje zaujímavú tému s potenciálom pre publikovanie. Predpokladom avšak je značne rozpracovanie experimentov a meraní. Vidím tiež reálni potenciál využitia výsledkov v produkčnej verzii softvéru k-Wave.
Navrhovaná známka
B
Body
82

Otázky

eVSKP id 144974