Practical Course: GPU Programming in Computer Vision (6h / 10 ECTS)
SS 2017, TU München
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 email@example.com.
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.
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.