13M114MUPS - Applied parallel programming

Course specification
Course title Applied parallel programming
Acronym 13M114MUPS
Study programme Electrical Engineering and Computing
Type of study master academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition none
The goal Introduction to basic concepts in the architecture and programming of parallel systems. Detailed knowledge of various shared memory multiprocessor architectures.
The outcome Student should be able to understand the design decisions in the area of parallel systems, to use simulators for evaluation of these decisions, and to write parallel programs using different parallel programming models.
URL to the subject page
Contents of lectures Introduction. Application, technology, and architecture trends. Parallel programming models (shared memory, message passing, and data parallel). Shared memory multiprocessors: UMA and NUMA systems. Cache coherence problem. Snoopy, directory, and hierarchical protocols and systems. Interconnection networks. Programming of general purpose applications on GPUs.
Contents of exercises Programming models based on threads (OpenMP) and message passing (MPI). Programming of general purpose applications on GPUs using CUDA. Lab excercises, using simulators of parallel systems, homework assignments.
  1. Parallel Computer Architecture (A HW/SW Approach), Culler, Singh, Gupta, Morgan Kaufmann, 2000.
  2. Programming Massively Parallel Processors, Kirk, Hwu, Morgan Kaufmann, 2012.
  3. Parallel Programming in MPI and OpenMP, Victor Eijkhout, 2019. (Original title)
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching auditory class lessons and exercises with presentations, lab exercises, homeworks
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 65
Practical lessons 0 Oral examination 0
Projects 35
Colloquia 0
Seminars 0