Massively Parallel Computing INFO4173 (Master)
- SWS: 2 Lectures + 2 Exercises - 6 ECTS
- The block course will be offered in English.
- We will cover the entire course including lectures and exercises within one week (07.03.-13.03.2024).
Notes:
- Each day there will be two to three lectures (starting 8:30 and 13:30). The rest of the time is filled with exercises.
- (Don't plan on much else during these days. Make sure to properly schedule and prepare your meals, ... and sleep).
Content
Graphics processors contain thousands of parallel processing elements and thus enable us to explore this realm of massively parallel computing today. The high number of parallel cores poses a great challenge for software design that must expose massive parallelism to benefit from this hardware. The main purpose of the lecture is to teach practical algorithm design for such parallel hardware.
- Introduction to Parallel Computing
- Basic Algorithms:
- Map, reduce, parallel branching, sorting
- Parallel data storage and retrieval
- Parallel Computation:
- FFT, particle systems
- Parallel linear equation solvers, parallel PDEs
- Parallel complexity analysis and profiling
- System integration and graphics processor clusters
Taking Part
To take part, do the following:
- Please enroll in ILIAS
- Make sure that you have a working WSI account. Otherwise you will not be able to take part in and get a grading on the exercises.
- You can apply for a WSI account with the "Antrag fuer einen WSI-Account" here.
- Fill the top half of the application (read everything carefully and choose a strong password consisting of at least 8 characters (letters AND numbers, no special characters), print it and sign at "Unterschrift Antragsteller".
- Hand in the application at MvL 6, Room 20-30/A24 or send a scan/photo of it to Lukas Ruppert via mail till Thursday, February 29th.
- To test if you have a working WSI account, you can try to log in on cgcontact.cs.uni-tuebingen.de via ssh.
Apart from having a WSI account, there are no specific prerequisites for taking part in the course.
However, since CUDA builds upon C/C++, some basic C/C++ knowledge is recommended.
Criteria
Exercises during block course
- groups of two students are allowed
- formal exercises are handed out and are processed during the block course
Oral exam
- There will be an oral exam shortly after the block course
Grading
- oral exam
- If you manage to get > 60% in all practical exercises you will earn a bonus of 0.6 grades.
Planned Schedule
Date | Lectures | Exercises |
---|---|---|
Thu., 07.03.2024 | 08:30: Intro 13:30: Memory | Assignment 1: Kernel Calls,Memory Transfer Assignment 2: Cross Correlation, Reverse Arrays |
Fri., 08.03.2024 | 08:30: Control Flow 13:30: Sorting | Assignment 3: Reduction, Compaction Assignment 4: Bucket Sort, Cell Coverage |
Weekend | Assignment 4: Bucket Sort, Cell Coverage (continued) | |
Mon., 11.03.2024 | 08:30: Data Structures, Profiling 13:30: Machine Learning | Assignment 5: Matrix Multiplication, Machine Learning |
Tue., 12.03.2024 | 08:30: Searching, N-Body | Assignment 6: Particle Systems |
Wed., 13.03.2024 | 08:30: PDEs 13:30: Numerics | Assignment 6: Particle Systems (continued) |