326.295, KV Parallel Computing, Wolfgang Schreiner / Alois Zoitl, 2026S
Section outline
-
342.295, Tuesday, 8:30-11:00, HS 11, Start: March 3, 2026
This course introduces basic techniques and models for parallel computing. We will discuss the basic theory, algorithms, programming models, and design principles for building parallel programs on multi-core processors, shared memory multiprocessors, and distributed memory multiprocessors respectively cluster systems. Class presentation will be accompanied by hands-on experience, e.g., on an SGI UV-1000 distributed shared memory multiprocessor.
Background in programming in C/C++ and Java is assumed. Course grades will be based on practical programming assignments.
-
As an extra service, we intend to live-stream and record the lectures via the following Zoom meeting. However, no guarantee is given with respect to completeness and quality of the stream/recordings. The basic course format is on-site, not hybrid.
On-site participation in all presentation sessions is mandatory.
-
The (preliminary) course schedule is as follows:
- March 3 (Schreiner): Parallel Architectures and Performance.
- March 10 (Zoitl): Parallel Algorithms and Complexity.
- March 17 (Schreiner): Concurrency in Java and OpenMP.
- March 24 (Zoitl): Shared Memory Programming.
- April 14 (Zoitl): Lockless Data Structures and Work Stealing.
- April 21 (Schreiner): Presentations of Solutions 1.
- April 28 (Schreiner): Message Passing Programming with MPI.
- May 5 (Schreiner): Designing Parallel Programs.
- May 12 (Zoitl): Presentation of Solutions 2.
- May 19 (Zoitl): Parallel Computing With Modern C++.
- June 2 (Schreiner): Presentations of Solutions 3.
- June 16 (Zoitl): Presentation of Solutions 4.
Individual meetings may be organized for discussing the assignments.