Detail práce

Optimalizace algoritmů SIMD instrukcemi

Bakalářská práce Student: Sedláček Marek Akademický rok: 2019/2020 Vedoucí: Orság Filip, Ing., Ph.D.
Název anglicky
Algortihm Optimization Using SIMD Instructions
Jazyk práce
český
Abstrakt

Tato práce popisuje a porovnává techniky použitelné pro optimalizaci algoritmů převážně z hlediska zkrácení výpočetní doby. Pro demonstraci praktik byly vybrány algoritmy z rozdílných oblastí a to -- optimalizace hejnem částic, algoritmus pro vykreslování kružnic a algoritmus pro otočení obrázku (matice). Tyto algoritmy byly implementovány v jazyce Python 3, C a jazyce symbolických adres s využitím SIMD technologie. Při psaní kódu byl kladen důraz na co nejefektivnější implementaci algoritmu. V této práci jsou tyto praktiky popsáný a porovnány, stejně tak jako jejich účinek na optimalizaci algoritmů. Provedené testy potvrdily velký potenciál SIMD technologií pro optimalizace, ale také to, že tento přístup není možný využít na všechny algoritmy. V případě optimalizace algoritmu pro vykreslování kružnic dosahovala SIMD implementace více jak desetinásobné rychlosti než sériová implementace v jazyce C a více jak tisíckrát vyšší rychlost než implementace v jazyce Python 3. V případě algoritmu optimalizace hejnem částic byla však implementace v jazyce C rychlejší než SIMD implementace algoritmu.

Klíčová slova

Optimalizace, zrychlení výpočtu, porovnání programovacích jazyků, SIMD, jazyk symbolických adres, programovací jazyk C, Python 3.

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
10. července 2020
Oponent
Průběh obhajoby

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 A.

Otázky u obhajoby

- Jaké jsou možnosti využití SIMD instrukcí ve vyšších programovacích jazycích a jak jich použití případně docílit?
- Jaké datové typy jste používal?

Komise
Černocký Jan, prof. Dr. Ing. (UPGM FIT VUT), předseda
Češka Milan, doc. RNDr., Ph.D. (UITS FIT VUT), člen
Jaroš Jiří, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Orság Filip, Ing., Ph.D. (UITS FIT VUT), člen
Rychlý Marek, RNDr., Ph.D. (UIFS FIT VUT), člen
Citace
SEDLÁČEK, Marek. Optimalizace algoritmů SIMD instrukcemi. Brno, 2020. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2020-07-10. Vedoucí práce Orság Filip. Dostupné z: https://www.fit.vut.cz/study/thesis/23126/
BibTeX
@bachelorsthesis{FITBT23126,
    author = "Marek Sedl\'{a}\v{c}ek",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Optimalizace algoritm\r{u} SIMD instrukcemi",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2020,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/23126/"
}
Nahoru