Meistarafyrirlestur í hugbúnaðarverkfræði - Sunna Berglind Sigurðardóttir
Fyrirlesturinn verður á Zoom: https://zoom.us/j/69954534602
Meistaranemi: Sunna Berglind Sigurðardóttir
Heiti verkefnis: Endurþáttanaskrá og tól fyrir endurþáttun C/C++ HPC kóða
___________________________________________
Deild: Iðnaðarverkfræði-, vélaverkfræði- og tölvunarfræðideild
Leiðbeinandi: Helmut Neukirchen, prófessor við Iðnaðarverkfræði-, vélaverkfræði- og tölvunarfræðideild
Einnig í meistaranefnd: Morris Riedel, lektor við Iðnaðarverkfræði-, vélaverkfræði- og tölvunarfræðideild
Prófdómari: Markus Götz, nýdoktor við Steinbuch Centre for Computing, Karlsruhe Institute of Technology, Þýskalandi
Ágrip
Ofurtölvuvinnsla (e. HPC) er orðinn stór hluti af okkar daglega lífi þó fólk átti sigmögulega ekki á því. Notkun ofturtölvuvinnslu hefur aukist og þörfin fyrir ofurtölvuvinnslu mun væntanlega aukast áfram. Ofurtölvuvinnslukóði er yfirleitt skrifaður af sérfræðingum sem hafa ekki mikla reynslu af hugbúnaðarverkfræði þannig að þegar kóða er breytt eykst flækjustig hans almennt einnig, sem hefur neikvæð áhrif á læsileika og viðhaldsþægni. Ein af aðferðunum sem hafa verið þróaðar til að lágmarkaflækjustigið er endurþáttun kóða (e. refactoring). Endurþáttun er aðferð sem snýrað því að bæta innri byggingu hugbúnaðar án þess að breyta ytri hegðun hans. Þessiaðferð hefur mikið verið notuð fyrir allskonar hugbúnað en fyrir ofurtölvuvinnslukóða er hún enn í þróun og mismunandi skilgreiningar hafa komið fram. Í þessari ritgerð er fjallað um þá vinnu sem unnin hefur verið í sambandi við endurþáttun ofurtölvu-vinnslukóða og C/C++ endurþáttun og kynnir til sögunnar nýja skilgreiningu á endurþáttun ofurtölvuvinnslukóða sem leggur ekki einungis áherslu á að bæta læsileika og viðhaldsþægni heldur einnig frammistöðu og flytjanleika (e. portability). Meðþessa skilgreiningu í huga er ný skrá fyrir endurþáttun ofurtölvuvinnslukóða kynntásamt þróun hálf-sjálfvirkrar endurþáttunar. Fimm endurþáttanir eru í skránni en þær leggja áherslu á að bæta frammistöðu ofurtölvuvinnslukóða sem er skrifaður í C/C++ ásamt því að lýsa því í smáatriðum hvernig á að beita þeim. Sú endurþáttun sem þróuð er sýnir kostina sem hálf-sjálfvirkar endurþáttanir hafa fyrir notendur en þær takmarka áhætturnar sem óumflýjanlega fylgja breytingum á kóða.