FESB NASTAVA
Loading...
    Diplomski
    250 Računarstvo
    3. semestar
    Nema predmeta

    Paralelno programiranje

    (FELK35)
    2024/25 godina
    preduvjeti za upis
    Nema
    ciljevi predmeta

    Osposobljavanje studenata za:
    • razumijevanje temeljnih načela i metodologije paralelnog programiranja paralelnih računalnih arhitektura
    • primjenu programskog jezika za paralelno računanje i sposobnost implementacije u razvoju aplikacija

    očekivani ishodi učenja

    Student će nakon uspješno svladanog predmeta moći:
    • navesti primjere paralelnih algoritama i često korištenih programskih struktura
    • objasniti paralelizam algoritma i prepoznati to svojstvo kod konkretnih algoritama
    • implementirati jednostavnije paralelne algoritme
    • primijeniti stečena znanja kod implementacije paralelnih algoritama

    nastava i predavači
     
    30 sati
    2 sata tjedno × 15 tjedana
     
    Laboratorijske vježbe
    30 sati
    2 sata tjedno × 15 tjedana
    sadržaj

    Osnovne ideje paralelnog programiranja i primjeri primjene. Razvojna okruženja za paralelno programiranje. Ekstenzije programskih jezika za paralelno programiranje.
    Osnovne programske strukture, tipovi podataka, operatori i funkcije. Algoritmi paralelnog programiranja (Pronalaženje paralelizma, Struktura algoritma, Pomoćne strukture, Komunikacijski algoritmi. Sortiranje. Redukcija). Modeli paralelnog programiranja (Intel Cilk Plus, Intel TBB, OpenCL). Analiza izvedbe koda. Implementacija programskog jezika za paralelno programiranje na CPU i GPU.

    preporučena literatura
    • 1. A. Grama, G. Karypis, V. Kumar, A. Gupta: Introduction to Parallel Computing, 2nd Edition. Addison-Wesley, 2003.

    • 2. David B. Kirk and Wen-mei W. Hwu: Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann, 2nd Edition, Elsevier, 2012.

    dopunska literatura
    • 1. J. Sanders, E. Kandrot: CUDA by example. Addison-Wesley, 2011.

    jezik poduke
    Hrvatski
    način praćenja kvalitete i uspješnosti izvedbe svakog predmeta i/ili modula

    Mišljenja studenata o kvaliteti nastave putem anketa.
    Nastavnici koji podučavaju srodne predmete surađuju i zajednički vode brigu o kvaliteti nastave.

    ispit (način polaganja, ispitni rokovi)

    Tijekom semestra biti će održana dva međuispita (kolokvija). Prvi međuispit je nakon 7 tjedana, a drugi međuispit po završetku nastave. Na završnom ispitu studenti polažu dijelove gradiva koje nisu položili na međuispitima. Prvi međuispit se i završni ispit provodi kao pisani ispit u trajanju od 90 minuta.
    Uvjet za polaganje ispita je 50% bodova od ukupnog broja bodova. Uvjet za pozitivnu ocjenu je pozitivna ocjena iz laboratorijskih vježbi, te srednja vrijednost dva međuispita ((M1 + M2)/2) od najmanje 50%. Pri tome student na svakom od međuispita mora imati najmanje 45%.
    Konačna ocjena formira se prema formuli:
    Ocjena(%)= 0,4M1 + 0,4M2 + 0,2L
    M1, M2 - bodovi na međuispitima, izraženo u postocima L - bodovi iz laboratorijskih vježbi i projektnih zadataka, izraženo u postocima
    Konačna se ocjena utvrđuje na sljedeći način:
    Postotak Ocjena
    50% do 61,9% dovoljan (2)
    62% do 74,9% dobar (3)
    75% do 89,9% vrlo dobar (4)
    90% do 100% izvrstan (5)
    Prema Članku 65. Statuta Fakulteta, student je dužan sudjelovati u radu svih oblika nastave te prisustvovati: predavanjima najmanje 70 % nastavnih sati, laboratorijskim vježbama 100% nastavnih sati. Ukoliko ne ispuni navedene uvjete, student mora kolegij ponovo upisati.

      Nastavne jedinice za Predavanja Broj sati
    1.

    Uvod u paralelno programiranje. Osnovne tehnike i temeljne značajke

    2 sata
    2.

    Tipovi paralelizma

    2 sata
    3.

    Razvojna okruženja za paralelno programiranje. Ekstenzije programskih jezika za paralelno programiranje.

    4 sata
    4.

    Osnovne programske strukture, tipovi podataka, operatori i funkcije. Programi opće namjene za grafički procesor.

    4 sata
    5.

    Pisanje programa opće namjene za GPU. GPU nasuprot CPU. Obrada toka podataka. Programski koncepti. GPU tehnike.

    4 sata
    6.

    Analiza izvedbe koda. Implementacija programskog jezika za paralelno programiranje na CPU i GPU.

    4 sata
    7.

    Analiza primjera: redukcija i sortiranje, algoritmi na matricama, obrada slika, konvolucija, obrada videa, histogrami

    4 sata
    8.

    Implementiranje vlastitih algoritama.

    2 sata
      Nastavne jedinice za Laboratorijske vježbe Broj sati
    1.

    Primjeri Open Multiprocessing (OpenMP)

    4 sata
    2.

    MPI model. Primjeri MPI programa.

    6 sati
    3.

    GPU programiranje sa NVIDIA CUDA programskom ekstenzijom u Cu.

    6 sati
    4.

    Realizacija projektnih zadataka

    14 sati
    Niste više prijavljeni

    Istekla vam je prethodna prijava te se morate ponovno prijaviti.

    Nastao je problem u radu sustava

    Informacije o problemu smo pohranili i nastojat ćemo ga riješiti. Ako vas ova greška sprječava da obavite nešto važno, možete nas odmah kontaktirati na helpdesk@fesb.hr.

    Vaš preglednik nije podržan

    Koristite web preglednik koji nije podržan. Za puno korisničko iskustvo, preuzmite najnoviju inačicu vašeg preglednika.