Znanje vsaj osnov programiranja. Poznavanje osnov računalniške arhitekture je zaželeno, ni pa nujno.
Računalniški sistemi
Branko Šter
1. Napredni paralelizem na nivoju ukazov: dinamično razvrščanje ukazov, skočna predikcija, špekulativno izvajanje.
2. Vrednotenje vzporednih sistemov: arhitekturni simulatorji (gem5), analiza zmogljivosti in modeliranje.
3. Paralelizem na nivoju niti: arhitekture s skupnim pomnilnikom, simetrični večprocesorji s skupnim pomnilnikom (SMP, UMA), vohljalni protokoli (MSI, MESI, MOESI), večjedrni procesorji, porazdeljeni sistemi s skupnim pomnilnikom (DSM, NUMA), imeniški protokoli, koherenca, atomičnost, sinhronizacija, konsistentnost pomnilnika.
4. Paralelizem na nivoju podatkov: vektorske arhitekture, SIMD-razširitve nabora ukazov, strešni model, grafične procesne enote (GPE), arhitekture GPE, pomnilniške strukture GPE, paralelizem na nivoju zank.
5. Paralelizem na nivoju zahtev: porazdeljeni pomnilniški sistemi, grozdi, superračunalniki.
6. Povezave: hierarhija, vrste, topologije, metrike zmogljivosti, usmerjanje, povezave pospeševalnikov (PCIe, NVLink, NVSwitch, Infinity Fabric, GPUDirect RDMA, GPUDirect Storage).
7. Domensko specifične arhitekture: arhitekture pospeševalnikov, globoke nevronske mreže (DNN), tenzorske procesne enote (TPE), FPGA pospeševalniki, heterogeni sistemi.
-
J.L. Hennessy, D.A. Patterson: Computer Architecture: A Quantitative Approach, 6th ed., Morgan Kaufmann, 2017.
-
M. Dubois, M. Annavaram, P. Stenström: Parallel Computer Organization and Design, 2nd ed., Cambridge University Press, 2026.
-
V. Eijkhout, E. Chow, R. van de Geijn: The Science of Computing, The Art of High Performance Computing, volume 1. 3rd edition 2022, https://theartofhpc.com
-
T.M. Aamodt, W.W.L. Fung, T.G. Rogers: General-Purpose Graphics Processor Architectures (Synthesis Lectures on Computer Architecture), Morgan & Claypool Publishers, 2018.
-
C. Wang: Domain-Specific Computer Architectures for Emerging Applications: Machine Learning and Neural Networks, CRC Press, 2024.
-
T. Sterling, M. Brodowicz, M. Anderson: High Performance Computing: Modern Systems and Practices, Morgan Kaufmann, 2017.
Cilj predmeta je študentom 2. stopnje predstaviti arhitekture sodobnih vzporednih visoko zmogljivih računalniških sistemov.
Kompetence: Razvoj veščin kritičnega, analitičnega in sintetičnega mišljenja.
Zmožnost definiranja, razumevanja in reševanja ustvarjalnih profesionalnih izzivov v računalništvu in informatiki.
Zmožnost profesionalne komunikacije v materinem in v tujem jeziku.
Zmožnost uporabe pridobljenega znanja pri samostojnem delu pri reševanju tehničnih in znanstvenih problemov v računalništvu in informatiki; zmožnost nadgradnje pridobljenega znanja.
Osnovne veščine v računalništvu in informatiki.
Praktično znanje in veščine, potrebne za uspešno profesionalno delo v računalništvu in informatiki.
Zmožnost samostojne izvedbe inženirskih in organizacijskih nalog v določenih ozkih področjih in samostojnega reševanja specifičnih dobro definiranih nalog v računalništvu in informatiki.
Znanje in razumevanje:
Poznavanje arhitektur sodobnih visoko zmogljivih računalniških siistemov.
Razumevanje implikacij različnih vrst vzporednosti računanja (procesorjev, povezovalnih omrežij in pospeševalnikov). Arhitekturni vidiki razvoja vzporednih (paralelnih) računalnikov.
Uporaba:
Programiranje visoko zmogljivih računalniških sistemov na različnih področjih znanosti in inženirstva. Analiza in reševanje problemov na nivoju arhitekture.
Refleksija:
Razumevanje primernosti teoretičnih metod za reševanje praktičnih problemov ter njihovih
omejitev. Razumevanje trendov vzporednih arhitektur. Sposobnost analize in reševanja kompleksnih praktičnih problemov s področja sodobnih računskih arhitektur.
Prenosljive spretnosti:
Kombiniranje znanj, pridobljenih pri predmetih s področja arhitekture in organizacije, programiranja, vzporednih in porazdeljenih sistemov. Spretnosti iskanja in uporabe literature, uporaba programske opreme za vzporedne računalnike, identifikacija in reševanje kompleksnih problemov.
Predavanja, računske vaje, laboratorijske vaje, domače naloge.
Sprotno preverjanje: laboratorijske vaje, domače naloge.
Končno preverjanje: pisni in teoretični izpit.
5 - 10, pri čemer velja, da je pozitivna ocena od 6 - 10
- Branko Šter: Selective recurrent neural network. Neural processing letters, 38(1): 1-15, 2013.
- Dominik Olszewski, Branko Šter: Asymmetric clustering using the alpha–beta divergence. Pattern Recognition, 47(5): 2031-2041, 2013.
- Rok Gaber, Tina Lebar, Andreja Majerle, Branko Šter, Andrej Dobnikar, Mojca Benčina, Roman Jerala: Designable DNA-binding domains enable construction of logic circuits in mammalian cells. Nature Chemical Biology, 10(3): 203-208, 2014.
- Jernej Zupanc, Damjana Drobne, Branko Šter: Markov random field model for segmenting large populations of lipid vesicles from micrographs. Journal of liposome research, 21(4): 315-323, 2011.
- Tom Vodopivec, Spyridon Samothrakis, Branko Šter: On Monte Carlo tree search and reinforcement learning. The journal of artificial intelligence research. Sep. 2017, vol. 60, str. 881-936.