Detail práce
Efektivní implementace vysoce náročných algoritmů na vícejádrových procesorech
Cieľom tejto práce je paralelizovať a vektorizovať simuláciu toku kvapalín. Dosiahne sa to pomocou knižnice OpenMP a prekladaču od Intelu. Implementované boli rôzne prístupy k problému, ako napr. cache blocking, zoraďovanie dát počas behu a dočasné reorganizovanie dát v pamäti. Skombinovaním najrýchlejších riešení sa podarilo simuláciu celkovo zrýchliť 11,4krát na 16 jadrách, pričom testy prebiehali na ostravskom superpočítači Anselm. Výsledky ukazujú, že výsledná aplikácia dobre škáluje s pribúdajúcim počtom jadier. Ďalej, vektorizovanie daného problému bolo možné len čiastočne z dôvodu nevhodného spôsobu práce s dátami.
paralelizácia, vektorizácia, OpenMP, simd, Intel, SPH, simulácia, násobenie matíc
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm "D".
- Z jakého důvodu jsou při násobení matic zcela vypnuty optimalizace kompilátoru (-O0)?
- Je možné použít pro vytvořené aplikace jiný překladač než ten od společnosti Intel (např. GNU C++)? Jaké zde vidíte případné problémy?
- Jaký počet vláken by byl ve Vámi optimalizované aplikaci (teoreticky) použitelný, pro který by bylo možné s uvedeným nastavením pozorovat zrychlení? Zdůvodněte.
- Můžete více objasnit smysl 2D simulace kapaliny?
Peringer Petr, Dr. Ing. (UITS FIT VUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), člen
Szőke Igor, Ing., Ph.D. (UPGM FIT VUT), člen
Vašíček Zdeněk, doc. Ing., Ph.D. (UPSY FIT VUT), člen
@bachelorsthesis{FITBT18743, author = "Luk\'{a}\v{s} Tome\v{c}ko", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Efektivn\'{i} implementace vysoce n\'{a}ro\v{c}n\'{y}ch algoritm\r{u} na v\'{i}cej\'{a}drov\'{y}ch procesorech", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2016, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/18743/" }