Index

Material

Introduction · Why parallelism? · Programming modern CPUs · Programming modern GPUs · Course idea and prerequisites

Chapter 1: Role of parallelism

Chapter 2: Case study

Chapter 3: Multithreading with OpenMP

Chapter 4: GPU programming

Lecture slides · Week 1 · Week 2 · Week 3 · Week 4 · Week 5 · Week 6

Links to external resources · Hardware · OpenMP · SIMD · CUDA · OpenCL · Low-level programming techniques

Acknowledgments · Previous editions

2018 course

Overview

Prerequisite test · Abundant numbers · Details · Submitting your solution · Questions?

Workflow for solving exercises

Help with debugging

Computers · Remote access

Exercises

Exercise CP: correlated pairs

Exercise IS: image segmentation

Exercise MF: median filter

Exercise NN: neural networks

Exercise SO: sorting