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 (09.03.-15.03.2023).
- 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).
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
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, March 2nd.
- To test if you have a working WSI account, you can try to log in on sshgw.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.
Exercises during block course
- groups of two students are allowed
- formal exercises are handed out and are processed during the block course
- There will be an oral exam shortly after the block course
- oral exam
- If you manage to get > 60% in all practical exercises you will earn a bonus of 0.6 grades.
|Thu., 09.03.2023||08:30: Intro |
|Assignment 1: Kernel Calls,Memory Transfer |
Assignment 2: Cross Correlation, Reverse Arrays
|Fri., 10.03.2023||08:30: Control Flow |
|Assignment 3: Reduction, Compaction |
Assignment 4: Bucket Sort, Cell Coverage
|Weekend||Assignment 4: Bucket Sort, Cell Coverage (continued)|
|Mon., 13.03.2023||08:30: Data Structures, Profiling |
13:30: Machine Learning
|Assignment 5: Matrix Multiplication, Machine Learning|
|Tue., 14.03.2023|| |
08:30: Searching, N-Body
|Assignment 6: Particle Systems|
|Wed., 15.03.2023||08:30: PDEs |
|Assignment 6: Particle Systems (continued)|