BM0935 Paralēlā programmēšana transporta sistēmās

Kods BM0935
Nosaukums Paralēlā programmēšana transporta sistēmās
Statuss Obligātais/Ierobežotās izvēles
Līmenis un tips Pamatstudiju, Akadēmiskais
Tematiskā joma Transports
Struktūrvienība Būvniecības un mašīnzinību fakultāte
Mācībspēks Māris Gailis, Andrejs Potapovs, Mihails Gorobecs
Kredītpunkti 6.0
Daļas 2
Anotācija Studiju kursā apgūst paralēlās programmēšanas principus, aprēķinu un modelēšanas un simulācijas ātrdarbībai. Šim nolūkam dalībnieki apgūst programmēšanas valodu C/C++ un Julia pamatus, pēc tam to izmantošanas prasmes palielina veiktspēju lielo datu analīzē transporta uzdevumos un transporta sistēmu dinamisko tehnisko procesu modelēšanā. Šo metožu realizācijai tiek izmantoti RTU HPC centra skaitļošanas resursi..
Studiju kurss ir pielāgots kombinēto studiju metodikai, un ietver asinhronas un sinhronas studiju aktivitātes, kā arī nepieciešamos atbalsta materiālus studiju asinhronām aktivitātēm..
Studiju kursa realizācija veikta pārsvarā ar atklāta koda brīvpieejas programmatūru. Studiju kursā izmanto izstrādes vides Spyder, Visual Studio Code (VSCode), Jupyter Lab, kā arī programmēšanas valodas Python, C/C++ un Julia ar zinātniskās skaitļošanas funkciju bibliotēkām..
Izstrādes vidē Jupyter Lab ir pieejami studiju kursa mācību materiāli, vienā dokumentā apkopojot tekstu, attēlus kā arī darbojošos programmēšanas koda piemērus. Lietojot Jupyter Lab, iespējams arī izpildīt skaitļošanas uzdevumus ar RTU HPC centra superskaitļotāju. Jauna koda radīšanai studiju kursā lietota izstrādes vide Spyder, strādājot ar programmēšanas valodu Python. Savukārt izstrādes vide Visual Studio Code apgūst programmēšanas valodas C/C++ un Julia ar OpenMP un MPI funkcijām..
Studenti apgūst studiju kursā iekļauto izstrādes rīku un programmēšanas valodu atšķirības un piemērotību dažādu uzdevumu veikšanai..
Studenti arī apgūst augstas veiktspējas skaitļošanas paņēmienus, lietojot programmēšanas valodas C/C++ un Julia un RTU HPC centra resursus. Studiju kursā paredzamo uzdevumu izpildei nepieciešams pārzināt programmēšanas valodu Python, C/C++ un Julia sintaksi un efektīvas programmēšanas paņēmienus. Tāpat apgūst un lieto šo programmēšanas valodu paralēlo funkciju bibliotēkas OpenMP un MPI, kā arī rezultātu vizualizācijas bibliotēkas. Vairākās valodas viena studiju kursā ietvaros parāda gan programmēšanas pamatprincipu līdzības, gan katras valodas priekšrocības..
Apgūstot studiju kursu, studenti spēj izveidot digitālos datu analīzes rīkus, kas ir izprotami un izmantojami arī citiem lietotājiem, un spēj apstrādāt liela apjoma datus. Tāpat studenti spēj izstrādāt transporta sistēmu dinamisku tehnisko procesu modeļus ar paralēlās programmēšanas metodēm un risināt inženieru uzdevumus ar augstas veiktspējas skaitļošanas tehnoloģijām. Studiju kursā studējošie apgūst Eiropas iedzīvotāju digitālās kompetences ietvaram (DigComp) atbilstošās augstāko, 7. un 8. līmeņu digitālās prasmes..
Studiju kursa saturs
Saturs Pilna un nepilna laika klātienes studijas Nepilna laika neklātienes studijas
Kontaktstundas Patstāvīgais darbs Kontaktstundas Patstāvīgais darbs
Inženieraprēķiniem piemērotas brīvpieejas atklātā koda izstrādes vides un programmēšanas valodas. 2 2 0 0
Izstrādes vide Jupyter Lab, teksta noformēšanas valodu Markdown un LaTeX sintakse. 4 4 0 0
Izstrādes vide Spyder. 2 2 0 0
Izstrādes vide Visual Studio Code. 2 2 0 0
Programmēšanas valodas Python priekšrocības, sintakse. 12 12 0 0
Programmēšanas valodas Julia priekšrocības, sintakse. 10 10 0 0
Programmēšanas valodas C/C++ priekšrocības, sintakse. 12 12 0 0
Augstas veiktspējas skaitļošanas (HPC) algoritmi un risināmo uzdevumu apakšprocesu paralelizācija. 4 4 0 0
Zinātniskās skaitļošanas funkciju bibliotēkas. 4 4 0 0
RTU HPC centra skaitļošanas resursi un to lietošanas paņēmieni. 2 2 0 0
OpenMP funkcijas kopatmiņas izmantošanai paralēlo aprēķinu veikšanā. 4 4 0 0
MPI funkcijas paralēlo aprēķinu veikšanai sadalītās sistēmās. 4 4 0 0
Versiju kontroles un programmas koda izvietošanas sistēma GitHub. 4 4 0 0
Programmēšanas valodu Python, C/C++ un Julia lietojums inženieru aprēķiniem, modelēšanai un rezultātu vizualizācijai. 4 4 0 0
Viedas transporta infrastruktūras datu iegūšana un lielo datu analīze ar augstas veiktspējas skaitļošanas (HPC) tehnoloģijām. 6 6 0 0
Transporta sistēmu dinamisku tehnisko procesu modelēšana ar augstas veiktspējas skaitļošanas (HPC) tehnoloģijām. 4 4 0 0
Kopā: 80 80 0 0
Mērķis un uzdevumi, izteikti
kompetencēs un prasmēs
Studiju kursa mērķis ir attīstīt studējošo izpratni par mūsdienīgām augstas veiktspējas skaitļošanas tehnoloģijām un to izmantošanu transporta jomā. Studiju kursa uzdevumi ir attīstīt studējošo prasmes: - sadalīt problēmas risinājumu paralēlos apakšprocesos un programmēt tos atbilstoši augstas veiktspējas skaitļošanas videi; - veikt datorizētus aprēķinus un transporta dinamisko procesu datormodelēšanu augstas veiktspējas skaitļošanas vidē.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj izvēlēties dažādiem inženieraprēķiniem piemērotu augstas veiktspējas skaitļošanas metodi, brīvpieejas atklātā koda izstrādes vidi, programmēšanas valodu un funkciju bibliotēkas. - Pārbaudes darbi un individuālie uzdevumi, uzdevums eksāmenā.
Prot izmantot izstrādes vidi, pārzina programmēšanas valodu Python, Julia un C/C++ sintakses ar OpenMP un MPI funkcijām. - Pārbaudes darbi un individuālie uzdevumi, uzdevums eksāmenā.
Prot lietot versiju kontroles un programmas koda izvietošanas sistēmu GitHub. - Pārbaudes darbi un individuālie uzdevumi.
Prot izveidot un lietot interaktīvas piezīmju grāmatas Jupyter Lab formātā, kā arī spēj veidot formatētu tekstu lietojot Markdown un Latex sintaksi. Studiju kursa dalībnieku radītais digitālais dokuments satur gan statiskas sadaļas – tekstu, tabulas, attēlus, gan programmas kodu, kas ļauj aktīvi darboties dokumenta lietotājam, ģenerējot interaktīvas diagrammas un attēlus, un resursietilpīgu skaitļošanu veicot uz superskaitļotāja klastera (HPC) (DigComp 7. līmenis). - Pārbaudes darbi un individuālie uzdevumi, uzdevums eksāmenā.
Spēj novērtēt uzdevumam nepieciešamos superskaitļotāja resursus, kā arī prot tos lietot, lietojot Jupyter Lab un citas saskarnes. - Pārbaudes darbi un individuālie uzdevumi.
Spēj izveidot digitālos datu analīzes rīkus, kas ir izprotami un izmantojami arī citiem lietotājiem, un spēj apstrādāt liela apjoma datus, tos iegūstot no vairākiem viedās transporta infrastruktūras avotiem (DigComp 8. līmenis). - Individuālais uzdevums.
Spēj sastādīt un realizēt efektīvus skaitļošanas algoritmus programmēšanas valodās Python, C/C++ un Julia inženieraprēķiniem, datormodelēšanai un rezultātu vizualizācijai (DigComp 7. līmenis). - Individuālais uzdevums.
Spēj izstrādāt transporta sistēmu dinamisku tehnisko procesu modeļus ar paralēlās programmēšanas metodēm un risināt inženieru uzdevumus ar augstas veiktspējas skaitļošanas (HPC) tehnoloģijām (DigComp 7. līmenis). - Individuālais uzdevums.
Pārzina sistēmu vadības paralelizācijas pamatprincipus, paralēlās programmēšanas modeļus, daudzkodolu sistēmu organizāciju, pavedienu programmēšanas paņēmienus. - Pārbaudes darbi un individuālie uzdevumi, uzdevums eksāmenā.
Studiju rezultātu vērtēšanas kritēriji
Pārbaudes darbi - 30%
Individuālie uzdevumi - 30%
Eksāmeni - 40%
 
Priekšzināšanas Nav nepieciešamas.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs
1 3.0 20.0 20.0 0.0 *
2 3.0 20.0 20.0 0.0 *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]