Paralelno programiranje
Opis predmeta
Opće kompetencije
Studenti se upoznaju s postojećim modelima paralelnih računala i načinima paralelnog programiranja. Upoznaje se model sinkronog paralelnog računala te algoritmi za taj model. Studenti će moći primijeniti općeniti postupak razvoja paralelnog programa uz postizanje željenih svojstava algoritma. Kroz praktičan rad studenti stječu iskustvo u razvoju paralelnih aplikacija i upoznaju se sa programskim alatima za njihovu izradu. Studenti provode kvantitativnu analizu algoritma koja omogućava odabir odgovarajuće metodologije prije implementacije te analizu učinkovitosti gotovog programskog proizvoda.
Ishodi učenja
- opisati modele paralelnih računala i paralelnog programiranja
- opisati model PRAM računala
- primijeniti model PRAM računala u paralelnom programiranju
- primijeniti MPI tehnologiju za razvoj paralelnih programa
- prepoznati faze oblikovanja paralelnog algoritma
- kombinirati elemente razvoja paralelnog algoritma
- ocijeniti učinkovitost i prilagodljivost paralelnog algoritma
Oblici nastave
Nastava na predmetu organizirana je u dva nastavna ciklusa. Prvi ciklus sastoji se od 7 tjedana nastave i međuispita, a adrugi ciklus od 6 tjedana nastave i završnog ispita. Nastava se provodi kroz ukupno 15 tjedana.
Provjere znanjaMeđuispit. Završni ispit.
KonzultacijeRaspored konzultacija bit će objavljen na prvom predavanju
Programske vježbeProgramski se rješavaju zadaci u 4 laboratorijske vježbe.
Način ocjenjivanja
Kontinuirana nastava | Ispitni rok | |||||
---|---|---|---|---|---|---|
Vrsta provjere | Prag | Udio u ocjeni | Prag | Udio u ocjeni | ||
Domaće zadaće | 0 % | 12 % | 0 % | 0 % | ||
Prisutnost | 0 % | 3 % | 0 % | 0 % | ||
Međuispit: Pismeni | 0 % | 35 % | 0 % | |||
Završni ispit: Pismeni | 0 % | 50 % | ||||
Ispit: Pismeni | 50 % | 50 % | ||||
Ispit: Usmeni | 50 % |
Napomena / komentar
Sve domaće zadaće trebaju biti predane (bez obzira na broj bodova) kao preduvjet polaganja predmeta
Tjedni plan nastave
- Modeli paralelnih računala. Paradigme paralelnih programa. Svojstva paralelnih programa. Pretvorba slijednog u paralelni program.
- MPI - Message Passing Interface standard
- Model sinkronog paralelnog računala sa zajedničkom memorijom (PRAM).
- Algoritam zbroja prefiksa. Primjene algoritma.
- Asinkrono paralelno računalo (APRAM). Složenost modela i programa.
- Općeniti postupak oblikovanja paralelnih algoritama. Faze oblikovanja.
- Podjela algoritma. Definiranje komunikacijske strukture.
- (Međuispit)
- Aglomeracija zadataka u paralelnom programu. Pridruživanje zadataka procesorima.
- Primjeri oblikovanja paralelnih algoritama.
- Principi evolucijskih i genetskih algoritama. Postupci paralelizacije genetskog algoritma. Izvedbe paralelnih evolucijskih programa.
- Kvantitativna analiza paralelnog algoritma. Ocjene performansi algoritma.
- Analiza prilagodljivosti paralelnog algoritma. Provjera modela i implementacije algoritma.
- Razvoj modularnih paralelnih programa. Podrška modularnom programiranju unutar MPI standarda.
- (Završni ispit)