publications
Markus Püschel
Professor
Computer Science
ETH Zürich
Switzerland

home

publications

teaching

short CV

personal

the pub

Software Engineering Seminar 252-2600 (ETH, CS)

Basic Information

  • Course number: 252-2600, 2 credits
  • Fall 2011, lectures: W 13:00-15:00, RZ F21
  • Instructor: Markus Püschel (RZ H18, pueschel at inf, 2-7303)
    TA: Georg Ofenbeck (RZ H22, ofgeorg at inf, 2-8414)
    Admin: Franziska Mäder (RZ H14, maeder at inf, 2-7311)
  • Office hours: (you can always email to get another time if needed)
    • Markus Püschel: RZ H18, Fr 14:00-15:00 (except 14.10., 28.10., 4.11)
    • Georg Ofenbeck: RZ H1.1, Do 14:00-15:00 (except 29.9, 6.11.)

Course Description

The course is an introduction to research in software engineering, based on reading and presenting high quality research papers in the field. The instructor may choose a variety of topics or one topic that is explored through several papers.

The general topic this semester will be automatic performance tuning. For a short motivation on the problem that it addresses read the first 7 pages of this paper.

In the beginning I will give a short motivation and introduction to this area and then a lecture on how to give good technical presentations. The remaining lectures will consist of student presentations, each about one research paper that is assigned in the beginning of the course.

Goals of this Course

  • Learn how to read and understand a recent research paper in computer science
  • Learn how to present a technical topic in computer science to an audience of peers.

Academic Integrity

For material (especially graphics and anything included by copy-paste) not created by you but used in your presentation you have to provide an acknowledgment of the source on the same slide.

Grading

  • Quality of your presentation and subsequent question handling
    • How well you understood the paper
    • How understandable you presented it
    • How effectively your slides communicated (which includes the visual quality of the slides)
  • The papers have varying difficulty; we will take that into account
  • Presence (will be recorded) and participation (e.g., good questions) during the presentations by other students
    • If you miss many classes you will fail the course

How It Works

  • In the beginning of the course every student will get a research paper and presentation date assigned (see schedule below)
  • Understand the paper (motivation of the work, what they do, what the results are, what the limitations are)
    • study the paper carefully
    • obtain and study relevant background material such as other papers that are cited; you may need to include some of this background material in your presentation
    • possibly meet with the TA or instructor to ask questions
  • Create a presentation
    • try to follow the guidelines given in the first lectures
    • main check list what the presentation should include:
      • clear motivation for the work
      • maybe briefly provide some necessary background
      • clear explanation what the paper does; this means using, as appropriate, examples and not exhaustion, and well-designed visuals or code examples rather than mere text
      • understandable (by your fellow students) presentation of the content and the results
      • do not try to cover everything in the paper, just the key parts; be ready to explain technical terms used
      • brief critical discussion in the end of the contribution: strong and weak parts including limitations
    • strive for high visual quality
    • acknowledge any external material (graphics, anything included by copy-paste from other sources) on the same slide (bottom right, small font, gray is usually a good way)
    • present the crucial parts/ideas of the paper and not everything
  • Have one meeting with main advisor a week or so before your presentation for clarifications and feedback. It helps to bring a draft of the presentation
  • Present at your assigned date
    • Presentations are 30 minutes + 15 minutes for questions
    • The presentation time will be enforced (as in the real world)

Lectures (some links may need to be accessed from an the ETH network)

Lecture
Date
Content
Paper
You may want to check Main advisor
1 21.09. Course overview and organization, introduction to the seminar topic (Automatic Performance Tuning): motivation and brief overview

slides
First 7 pages of this paper

   
2 28.09. How to give good technical presentations      
3 05.10. Stefan Dietiker: slides PhiPAC   MP
    Pascal Spörri: slides ATLAS, as explained in "Is Search Really Necessary to Generate High-Performance BLAS?", Secs. 1-3 and results 1 MP
4 12.10. Raphael Weibel: slides POET 1 MP
    Daniel Huguenin: slides Fast and Effective Orchestration of Compiler Optimizations for Automatic Performance Tuning   MP
5 19.10. Stephan Semmler: slides A Dynamically Tuned Sorting Library   GO
    Marcos Sanchez Madrid: slides Optimizing Sorting with Genetic Algorithms 1 GO
6 26.10. Samuel Häusler: slides SPL: A Language and Compiler for DSP Algorithms 1 MP
    Nicola Marcacci Rossi: slides FFT Program Generation for Shared Memory: SMP and Multicore 1, 2 MP
7 02.11. Samuel Zweifel: slides SPARSITY: Optimization framework for sparse matrix kernels   GO
    Sebastian Hafen: slides An auto-tuning framework for parallel multicore stencil computations   GO
8 09.11. Pascal Fischli: slides A Language for the Compact Representation of Multiple
Program Versions
  GO
    Thomas Etter: slides PetaBricks - A Language and Compiler for Algorithmic Choice   GO
9 16.11. Marco Poltera: slides A Fast Fourier Transform Compiler   GO
    Liat Ben-Haim: slides Stochastic Search for Signal Processing Algorithm Optimization   MP
10 23.11. Samuel Zehnder: slides Automation in Dense Linear Algebra   MP
    Luc Humair: slides SuperMatrix: A Multithreaded Runtime Scheduling System for Algorithms-by-Blocks   GO
11 30.11. Roman Frigg: slides Programming for Parallelism and Locality with Hierarchically Tiled Arrays   GO
    Robert Meier: slides Optimizing Collective Communication on Multicores   GO
12 07.12. Reto Achermann: slides Computer Generation of General Size Linear Transform Libraries   MP
    Marius Fehr: slides Offline Library Adaptation Using Automatically Generated Heuristics   MP
13 14.12. Michael Berli: slides Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications   GO
           
14 21.12.