Persönlicher Status und Werkzeuge

Home Teaching Summer Semester 2017 Practical Course: GPU Programming in Computer Vision (6h / 10 ECTS)

Practical Course: GPU Programming in Computer Vision (6h / 10 ECTS)

SS 2017, TU München

Tutors: Björn Häfner, Benedikt Löwenhauser, Thomas Möllenhoff

Requirements: Knowledge of C or C++, basic mathematics

Number of participants: up to 24


8. March 2017
Registering for this course is now enabled in tumonline. Register for this course before the deadline is over.

8. March 2017
ALL STUDENTS (either participating or being interested in this course) have to register via tumonline. Additionally, interested students have to send a motivational letter to the tutors. Details can be found on this web page as well as on the pre-meeting slides.

24. February 2017
THERE ARE NO FREE SPOTS LEFT FOR THIS COURSE. If you wish to participate anyway, come to the first lecture and you might get in if accepted students do not appear in time.

DO NOT SEND DIRECT EMAILS TO THE TUTORS! Please direct ALL questions regarding this course and your statement of motivation (see registration) at

Preliminary meeting and Registration

Preliminary meeting will take place on 3rd of February at 16:00. Classroom is our lab 02.05.014.

Slides for the pre-meeting can be found here

Additionally send an email to the address above, in which you describe to what extent you meet the requirements and give a brief (half page at most) statement of motivation.

Date and Location

Four weeks from early September to early October

The course will take place in our lab 02.05.014 with the following schedule:

  • 1 week with lectures and exercises (attendance mandatory)
  • 3 weeks project phase
  • final presentation

Accepted Students

# Matrikelnummer
1 3649066
2 3679097
3 3634436
4 3675799
5 3681680
6 3658506
7 3675304
8 3625663
9 3681055
10 3681647
11 3668544
12 3687601
13 3669610
14 3682949
15 3680812
16 3624012
17 3679676
18 3669152
19 3672554
20 3669500
21 3681006
22 3679926
23 3661856
24 3651187

Course Description

The goal of this course is to provide an introduction to the NVIDIA CUDA framework for massively parallel programming on GPUs. During the implementation of basic computer vision algorithms students will gradually learn more how to harness the power of GPU computing. Although we assume good knowledge of C or C++ and basic mathematics, no further prior knowledge about CUDA, or computer vision topics will be required.

During the course lecture students will learn how to program GPUs with CUDA. Afterwards the students will start to implement more sophisticated computer vision algorithms within a student project. The course finishes with a presentation and a live demo of the project results.


  • Introduction to Parallel Computing
  • Introduction to CUDA
  • Implementation of basic computer vision algorithms with CUDA (e.g. convolution, diffusion)
  • Student project: Implementation of an advanced computer vision application which uses CUDA acceleration.


  • Lecture: 2–3h lectures each day (attendance mandatory), followed by corresponding programming exercises. The exercises must be done in groups of 3 students. The groups must be formed on the first day (but you can decide on your team already beforehand, of course). You may leave early once you have finished the present day's exercises.
  • Project: Implementation of a student project in groups of 3 (same groups as in the lecture week). You are free to work from home if you like and all team members agree, but keep in mind that you will require CUDA-capable hardware, and should collaborate within your team. You should also prepare your final presentation during this time.
  • Presentation and demo: Each group will be assigned a time slot, to present their results and give a live demo, followed by a Q&A session.


Last edited 08.03.2017 17:52 by Bjoern Haefner