High-Performance Matrix Computations --- 2018
When: Summer semester 2018
CAMPUS #: 18ss-24886
Contact: Prof. Paolo Bientinesi
Prerequisites
Basic knowledge of numerical linear algebra.
Principles of algorithms and programming.
Familiarity with Matlab and C.
Overview
The course centers around the idea of developing efficient numerical algorithms
through a synergy between mathematics and architectures.
Tentative syllabus
- processor architecture (cpu, memory system, interconnect)
- floating point operations
- roofline model
- vectorization
- matrix-matrix product, BLAS
- factorizations
- method of relatively robust representations (MR3)
- blocked algorithms
- algorithms by block
- dynamic scheduling
- data parallelism
- shared memory vs. distributed memory paradigm
- synchronization vs. communication
Lectures & Exercises
- Tuesday, 16:15-17:45pm (lecture)
- Wednesday, 12:15-13:45pm (lecture + exercise)
Where: 1090|334 (klPhys)
Start: Wednesday, 11.04
Office hours
-
Tuesdays, 11am-1pm, by appointment.
AICES R432 (Rogowski Building - Schinkelstrasse 2)
Schedule
-
Wednesday, 11.04 Intro [PDF] [script] GER [PDF] [Mathematica notebook] -
Wednesday, 18.04 [script] Performance [PDF] -
Tuesday, 24.04 [script] [a * 0] [A + B] -
Wednesday, 25.04 [script] [PDF to come] -
Tuesday, 08.05 [script] Computational intensity, Roofline model [Paper] LAMP - part 1 [script] [PDF] Wednesday, 09.05 -
Tuesday, 15.05 [script] FLAME: Generation of algorithms -
Wednesday, 16.05 [script] Recursive, unblocked, blocked algorithms [LU diary] -
Tuesday, 29.05 [script+refs] [PDF] Wednesday, 30.05 From PME to algorithms [Sec 4.5] [Figs 4.1 & 4.4] -
Tuesday, 05.06 Linnea compiler [script] [Paper] Wednesday, 06.06 -
Tuesday, 12.06 Road to high-performance DGEMM [script] -
Wednesday, 13.06 Project assignment [Projects] -
Tuesday, 19.06 Extra Lecture: "Optimal Performance Numerical Code: Challenges and Solutions" by Prof. Markus Pueschel (ETH). 10:30-12:00 + 13:30-15:00, Room 115. [html] [PDF] -
Tuesday, 19.06 Regular Lecture. Projects. Algorithms by blocks [script] [Paper] [slides] Wednesday, 20.06 -
Tuesday, 26.06 Application: GWAS [script] [Paper] Wednesday, 27.06 -
Tuesday, 03.07 Eigenproblem 1/4 [script] -
Wednesday, 04.07 Eigenproblem 2/4 [script] -
Tuesday, 10.07 Eigenproblem 3/4 [script] -
Wednesday, 11.07 Eigenproblem 4/4 [script] [BX (Sec 2.3.1, 3.2.2)] [MR3] [Parallel Eigensolvers] [Slides]
Exams (by appointment)
- July: 19,
20,31 - August:
7 - September: 17, 18, 24, 25