Massively Parallel Computing INFO4173 (Master)

Notes:

Content

Graphics processors contain hundreds 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 the new 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

This year the course is offered as a one-week block course.


Please visit the course page on ILIAS for details on dates and material.

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 letters AND numbers, no special characters!), print it and sign at "Unterschrift Antragsteller".
    • Hand in the application at Sand 14, C431 or send a scan/photo of it to Raphael Braun via mail before Fr., March. 15th.
    • To test if you have a working WSI account, you can try to log in on sshgw.informatik.uni-tuebingen.de via ssh.

Criteria

Exercises during block course

  • groups of two students are allowed
  • formal exercises are handed out and are processed during the block course
  • it is recommended to participate in the practical course which continues in the summer term

Oral exam

  • There will be an oral exam at the end of term

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
Do., 21.03.2019 Intro
Memory
Assignment 1: Kernel Calls,Memory Transfer
Assignment 2: Cross Correlation, Reverse Arrays
Fr., 22.03.2019 Control Flow
Sorting
Assignment 3: Reduction, Compaction
Assignment 4: Bucket Sort, Cell Coverage
Weekend   Assignment 4: Bucket Sort, Cell Coverage (continued)
Mo., 25.03.2019 Data Structures
Profiling
Searching
Assignment 5: Matrix Multiplication, Searching
Di., 26.03.2019

N-Body
OpenCL

Systems

Assignment 6: Particle Systems
Mi., 27.03.2019 PDEs
Numerics
Assignment 6: Particle Systems (continued)