Webrelaunch 2020

Numerical Linear Algebra for Scientific High Performance Computing (Summer Semester 2020)

Monday, 8am - 9:30 am

Given the current situation with all on-site lectures being suspended, we will realize this lecture virtually, using zoom. The meeting ID is https://zoom.us/meeting/91190249455
SEND ME AN EMAIL IF YOU WANT TO TAKE THIS CLASS!

Contact: hartwig.anzt@kit.edu

We will use C / C++ as programming language. You are free to use Java or FORTRAN, if you prefer (I recommend C, though!).

You need access to computing resources (including an NVIDIA GPU). If you don’t have, please ping me.

Work repository: https://gitlab.com/hanzt/nla4hpc

Schedule
Lecture: Monday 8:00-9:30 SR 2.067
Lecturers
Lecturer Dr. Hartwig Anzt
Office hours:
Room 3.017 Kollegiengebäude Mathematik (20.30)
Email: hartwig.anzt@kit.edu

Programming:
Shared Memory/Distributed Memory, Bulk-Synchronous Programming Model, Synchronization, Mutex, One-sided Communication, OpenMP, Fork-Join Model, Private/Public Variables, Map-Reduce, Scheduling, MPI, CUDA (GPU Programming)
Performance:
GFLOPs, Moore’s Law, Amdahl’s Law, Performance tools, Performance Modeling, Roofline Model

Dense NLA:
BLAS operations, LAPACK, ScaLAPACK, LU/QR/Cholesky decomposition, Singular Value Decomposition (SVD)

Iterative Sparse Linear Algebra:
Fix-Point Iteration, Kylov subspace methods, ILU preconditioning, Jacobi/block-Jacobi preconditioning, Finite differences (Laplace), Domain Decomposition Methods (Additive/Multiplicative Schwarz)

Examination

Homework:

Usually weekly (2 weeks for completion).
Lowest grade will be dropped.
Must be sent in on time (no late assignments).
Don’t copy someone else’s work.
Can include programming, theoretical work, running a program, but always a detailed documentation and analysis.
Programming in C, FORTRAN, Java.
Send the complete assignment package (code + instructions + documentation/ analysis) to hartwig.anzt@kit.edu.

Project:

Topic of general interest to the course.
The idea is to read three or four papers from the literature (references will be provided).
Implement the problem/application.
New ideas and extensions are welcome, as well as optimized implementations of existing algorithms.
I.e., the class project can be a HPC implementation of a different project you are working on (Master’s thesis, Seminar, etc.)
I will also distribute a list with project ideas.
Synthesize them in terms of a report (~10-15 pages).
Present your report to class (~30 mins).
Presentation accounts for 30% of final grade.
Project paper accounts for 40% of final grade.

References

The Sourcebook of Parallel Computing, Edited by Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Ken Kennedy, Linda Torczon, Andy White, 2002, 760 pages, ISBN 1-55860-871-0, Morgan Kaufmann Publishers.

Introduction to High-Performance Scientific Computing, by Victor Eijkhout with Edmond Chow, Robert Van De Geijn, February 2010.

Introduction to High Performance Computing for Scientists and Engineers, by Georg Hager, Gerhard Wellein, CRC Press, 2010.