263-0007-00L  Advanced Systems Lab

SemesterFrühjahrssemester 2020
DozierendeM. Püschel, C. Zhang
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheEnglisch
KommentarOnly for master students, otherwise a special permission by the study administration of D-INFK is required.



Lehrveranstaltungen

NummerTitelUmfangDozierende
263-0007-00 VAdvanced Systems Lab Für Fachstudierende und Hörer/-innen ist eine Spezialbewilligung der Dozierenden notwendig.3 Std.
Mo10:00-12:00ER SA TZ »
10:15-12:00HG F 3 »
Do09:00-10:00ER SA TZ »
09:15-10:00HG F 3 »
M. Püschel, C. Zhang
263-0007-00 UAdvanced Systems Lab2 Std.
Mi13:00-15:00ER SA TZ »
13:15-15:00HG D 3.2 »
M. Püschel, C. Zhang
263-0007-00 AAdvanced Systems Lab
Project Work, no fixed presence required.
2 Std.M. Püschel, C. Zhang

Katalogdaten

KurzbeschreibungThis course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality occurring in various fields in computer science. The focus is on optimizing for a single core and includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning.
LernzielSoftware performance (i.e., runtime) arises through the complex interaction of algorithm, its implementation, the compiler used, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this "vertical" interaction, and hence software performance, for mathematical functionality. The second goal is to teach a systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in several homeworks and a semester-long group project.
InhaltThe fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture.

This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance mathematical software development using important functionality such as matrix operations, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and other details of current processors that require optimization. The concept of automatic performance tuning is introduced. The focus is on optimization for a single core; thus, the course complements others on parallel and distributed computing.

Finally a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course.
Voraussetzungen / BesonderesSolid knowledge of the C programming language and matrix algebra.

Leistungskontrolle

Information zur Leistungskontrolle (gültig bis die Lerneinheit neu gelesen wird)
Leistungskontrolle als Semesterkurs
ECTS Kreditpunkte8 KP
PrüfendeM. Püschel, C. Zhang
Formbenotete Semesterleistung
PrüfungsspracheEnglisch
RepetitionRepetition nur nach erneuter Belegung der Lerneinheit möglich.
Zusatzinformation zum PrüfungsmodusThe grade for the course is determined by several homeworks (30%), one midterm exam (30%), and one semester-long project with final report and presentation (40%). There is no possibility to repeat the midterm exam!

Last cancellation/deregistration date for this graded semester performance: second Friday in March! Please note that after that date no deregistration will be accepted and the course will be considered as "fail".

Lernmaterialien

 
HauptlinkInformation
Es werden nur die öffentlichen Lernmaterialien aufgeführt.

Gruppen

Keine Informationen zu Gruppen vorhanden.

Einschränkungen

Allgemein : Für Fachstudierende und Hörer/-innen ist eine Spezialbewilligung der Dozierenden notwendig
VorrangDie Belegung der Lerneinheit ist nur durch die primäre Zielgruppe möglich
Primäre ZielgruppeCyber Security MSc (260000)
Cyber Security MSc (EPFL) (260100)
Data Science MSc (261000)
Informatik MSc (263000)
Rechnergestützte Wissenschaften MSc (438000)

Angeboten in

StudiengangBereichTyp
Cyber Security MasterVertiefungsübergreifende FächerWInformation
Data Science MasterWählbare KernfächerWInformation
Informatik DZFachwissenschaftliche Vertiefung mit pädagogischem FokusWInformation
Informatik LehrdiplomFachwiss. Vertiefung mit pädagogischem Fokus und weitere FachdidaktikWInformation
Informatik MasterVertiefungsübergreifende FächerOInformation
Rechnergestützte Wissenschaften MasterKernfächerWInformation