Publicerad
Aalto-yliopisto
Programming Parallel Computers
These are the lecture notes of the Aalto University course CS-E4580 Programming Parallel Computers. The exercises and practical instructions are also available. You can use this material also if you are self-studying and not taking the course.
Skriftligt arbete
12.3.2025
- 30.12.2026
The main theme of this course is that exploiting parallelism is necessary in any kind of performance-critical applications nowadays, but it can also be easy. Our goal is to show the good parts: how to get the job done, with minimal effort, in practice. We aim at making parallel programming something that one does casually as a natural part of everyday computer programming. However, we will also put a lot of emphasis on developing understanding of performance-engineering for modern hardware. In the advanced material we will look at the assembly code produced by the compiler, discuss how the CPU executes it, and learn how to predict the performance of a piece of code. We aim at demystifying hardware — or at least the parts that are most relevant from the perspective of getting good performance in practice. We will assume a good understanding of computer programming, algorithms and data structures, and a working knowledge of either C or C++ programming language. However, we do not assume any knowledge of parallel computing, multi-threading, or GPUs.
Förtydligande information
Språk
Engelska
Utbildningsområden
Databehandling och kommunikation
Teknik