Direkt zum Inhalt springen
Computer Vision Group
TUM School of Computation, Information and Technology
Technical University of Munich

Technical University of Munich



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


09. October 2017
Please turn in your code until 13th of October 11:59pm, including a ReadMe.txt file about how to compile and run your code.

06. October 2017
Concerning the demo day on 9th of October: It will take place in our lab 02.05.014. We will start at 10 a.m. sharp. We will provide a machine with a GPU, such that you can show live demos (not mandatory, but might be cool). There are no specified time slots for the presentations. Attendance of all talks is mandatory!

25. April 2017
Added last years lecture slides. Slides will be changed for this years lecture. Accepted students can ask the tutors for the password, if Matrikelnummer is provided.

28. March 2017
Added specific dates for the course.

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 cuda-ss17@vision.in.tum.de.

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.


The course will take place in our lab 02.05.014.


  • Lecture (September 11-15): 2–3h lectures each day (attendance mandatory) from 10:00, followed by corresponding programming exercises until 18:00. The exercises must be done in groups of 2–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 (September 15 - October 8): Implementation of a student project in groups of 2–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 (October 9): Each group will be assigned a time slot on one of the days, to present their results and give a live demo, followed by a Q&A session.

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.


Additional material can be downloaded from here.


Rechte Seite

Informatik IX
Computer Vision Group

Boltzmannstrasse 3
85748 Garching info@vision.in.tum.de

Follow us on:



Fulbright PULSE podcast on Prof. Cremers went online on Apple Podcasts and Spotify.


MCML Kick-Off

On July 27th, we are organizing the Kick-Off of the Munich Center for Machine Learning in the Bavarian Academy of Sciences.


AI Symposium

On July 22nd 2022, we are organizing a Symposium on AI within the Technology Forum of the Bavarian Academy of Sciences.


We are organizing a workshop on Map-Based Localization for Autonomous Driving at ECCV 2022, Tel Aviv, Israel.


In April 2022 Jürgen Sturm and Daniel Cremers were featured among the top 6 most influential scholars in robotics of the last decade.