Knowing basics of computer systems architecture, at least basic programming skills.
Computer systems
Branko Šter
-
Shared memory multiprocessors
-
Multicores (architectures UMA and NUMA, cache coherence, hardware multithreading, atomic instructions).
- Differences between architectures Intel,ARM,RISC
- Vector units in modern processors
-
Accelerator Architectures
-
GPU architectures. Schedulers on HW level, working with memory, latency hiding, data transfer between GPU. Nvidia, AMD, Intel, EUPAC. Tensor cores.
- Unified memory
- FPGA accelerators.
-
Distributed memory systems
-
cluster architectures
- supercomputers
- unified global memory
- interconnection networks (switching fabric, virtual channels, Infiniband, Ethernet)
- scalable systems
- latency issues (of memory accesses and interprocessor communication), precommunication, block data transfer, multithreading
- cluster cooling methods, energy consumption of processors and cooling system
- Evaluation of parallel systems
-
Architectural issues in designing power-aware computing systems
-
high-performance systems
- embedded systems
- D. Culler, J.P. Singh, A. G. Tanenbaum: Parallel Computer Architecture: A Hardware-Software Approach Morgan Kaufmann Publishers, 1999.
- J.L. Hennessy, D.A. Patterson: Computer Architecture: A Quantitative Approach, 6th ed., Morgan Kaufmann, 2017.
- 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.
- T. Sterling, M. Brodowicz, M. Anderson: High Performance Computing: Modern Systems and Practices, Morgan Kaufmann, 2017.
- D.A. Patterson, J.L. Hennessy: Computer Organization and Design RISC-V Edition: The Hardware Software Interface,2nd ed., Morgan Kaufmann, 2020.
The course aims to present to graduate students modern parallel high performance computer systems.
Competences: Developing skills in critical, analytical and synthetic thinking.
The ability to define, understand and solve creative professional challenges in computer and information science.
The ability of professional communication in the native and in a foreign language.
The ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science; the ability to upgrade acquired knowledge.
Basic skills in computer and information science.
Practical knowledge and skills necessary for successful professional work in computer and information science.
The ability to independently perform engineering and organisational tasks in certain narrow areas and independently solve specific well-defined tasks in computer and information science.
Knowledge and understanding:
Knowledge of the principles of advanced state-of-the-art computer architectures.
Understanding of implications of different ways of using hardware parallelism (processors, interconnection networks and accelerators). Architectural design issues in parallel computers.
Application:
Programming high performance computer systems on various fields of science and engineering. Analyzing and solving architectural design problems.
Reflection:
Understanding theoretical methods for solving practical problems, and their limitations.
Understanding trends in parallel computer architectures. How can high performance systems be used in practice to solve complex problems.
Transferable skills:
Students will be able to combine the knowledge from other courses that cover computer architecture and organization, programming, parallel and distributed systems. The course will require students to acquire skills in literature search, search and application of existing parallel software, and engineering skills for solving real-life complex problems.
Lectures, calculation exercises, laboratory exercises, homeworks.
Midterm work: laboratory exercises, homeworks.
Final exam: written exam.
Final exam:theoretical exam.
grading: 5 (fail), 6-10 (pass) (according to the Statute of UL)
- 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.