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