Tehnologija izdelovanja polprevodnikov je trčila ob fizikalne omejitve, ki so upočasnile miniaturizacijo čipov in z njo izdelovanje varčnejših in hitrejših procesorjev. V zadnjem času nas zato mediji dnevno zasipavajo z novicami o novih in novih napravah z večjedrnimi procesorji ter splošno namenskimi grafičnimi procesnimi enotami na eni strani in najrazličnejšimi računalniškimi gručami ter storitvami v oblaku na drugi strani.
Da pa bi vse te naprave znali popolnoma izkoristiti, je potrebno poznati ustroj teh sistemov in njihove programske vmesnike. Pri predmetu se bomo spoznali z več-nitnim programiranjem, z vmesnikom Open MP za programiranje sistemov z deljenim pomnilnikom, s programiranjem splošno namenskih grafičnih procesnih enot s knjižnico Open CL in s knjižnico OpenMPI za delo s sistemi s porazdeljenim pomnilnikom.
Na izbranih primerih bomo spoznali pasti vzporednih in paralelnih sistemov, jih poskušali razumeti in zaobiti. Spoznali omo uporabne paralelne programske vzorce, ki nam olajšajo delo s temi sistemi. Vaje pri predmetu potekajo na enem od slovenskih superračunalnikov, do katerega boste dobili dostop za cel semester, po potrebi pa tudi za dlje časa.
Z znanji, ki jih boste pridobili pri predmetu, boste za izbrane aplikacije sposobni sami izbrati najprimernejšo strojno opremo in napisali dobre in učinkovite programe.