|
|
||||
DF00100
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Date | Time | Location | Topic (with links to slides (PS/PDF) where available) | Lecturer |
| Week 5 - Focus on Program Analysis and High-Level Optimizations | ||||
| Jan 30, 2012 | 13:15-17:00 | Knuth | Introduction. (PDF) Multi-level intermediate representations. Principles of code generation, stack organisation and call sequences, local common subexpression elimination, DAGs, lowering. (PDF) |
C. Kessler |
| Jan 31, 2012 | 09:15-10:45 | Knuth | Control flow analysis | C. Kessler |
| Jan 31, 2012 | 11:00-11:45 | Knuth |
Lab introduction: LLVM Compiler Framework. Lab part 1, part 2 |
Erik Hansson |
| Jan 31, 2012 | 13:15-16:00 | Knuth | Data flow analysis | C. Kessler |
| Feb 1, 2012 | 09:15-12:00 | Knuth | Abstract interpretation. (PDF) | Welf Löwe |
| Feb 1, 2012 | 13:15-16:00 | Knuth | Interprocedural Analysis. Points-to Analysis. (PDF); | Welf Löwe |
| Feb 2, 2012 | 09:15-10:00 | Knuth | Lesson 1: Control and data flow analysis | Erik Hansson |
| Feb 2, 2012 | 10:15-12:30 | Knuth | Dependence analysis, loop transformations, loop parallelization (PDF). | C. Kessler |
| Feb 3, 2012 | 13:15-14:15 | Alan Turing | SaS-seminar: Partial Evaluation (problem description and research history). (Not mandatory but recommended.) | A. Haraldsson |
| Week 8 - Focus on SSA, Low-level Optimizations and Code Generation | ||||
| Feb 20, 2012 | 13:15-14:00 | Knuth | Lesson 1 (cont.): Data flow analysis | Erik Hansson |
| Feb 20, 2012 | 14:15-16:30 | Knuth | Instruction selection
(PDF) Register allocation (PDF) |
C. Kessler |
| Feb 20, 2012 | 16:30-17:00 | Knuth | Distribution of papers for student presentations. | C. Kessler |
| Feb 21, 2012 | 09:15-10:45 | Knuth | Instruction scheduling (PDF). | C. Kessler |
| Feb 21, 2012 | 11:00-11:45 | Knuth | Lesson 2: Dependence analysis and loop transformations | Erik Hansson |
| Feb 21, 2012 | 13:15-15:45 | Knuth | Software pipelining (PDF1, PDF2, PDF3). | C. Kessler |
| Feb 21, 2012 | 16:00-17:00 | Knuth | Code generation for embedded processors, DSP processors, clustered VLIW architectures (PDF). | C. Kessler |
| Feb 22, 2012 | 09:15-12:00 13:15-16:00 | Knuth | SSA, construction and destruction, Memory SSA (PDF) | W. Löwe |
| Feb 22, 2012 | 09:15-12:00 13:15-16:00 | Knuth | SSA based optimizations; Chi functions in lazy memory SSA based analysis (PDF) | W. Löwe |
| Feb 22, 2012 | 16:15-17:00 | Knuth | Lesson 3: Instruction scheduling, software pipelining | Erik Hansson |
| Feb 23, 2012 | 09:15-11:00 | Knuth |
Run-time parallelization and speculative parallelization (PDF)
Auto-tuning (PDF) |
C. Kessler |
| Feb 23, 2012 | 11:15-12:00 | Knuth | Integrated code generation (PDF) | C. Kessler |
| Week 10: | ||||
| Mar 9, 2012 | 09:15-... | Knuth | Student presentations | C. Kessler |
| Week 11: | ||||
| Mar 19, 2012 | 14:00-18:00 | von Neumann | Written exam (TEN1), Linköping | C. Kessler |
Organization
Lectures, lessons, programming labs, a written assignment,
and student paper presentations.
Lectures are given in 2 intensive weeks, usually 09:15-12 and 13:15-17 every day.
Lessons are problem solving sessions, discussing exercises to complement the lectures. The lessons are moderated by the course assistant, Erik Hansson. The exercise sets are available here.
Lab series (3hp) using the LLVM compiler system.
Lab introduction slides
Lab instructions, part 1.
Lab instructions, part 2.
The lab assistant,
Erik Hansson,
will supervise labs and correct lab reports.
The presentation part of the course consists of
student presentations
of about 30 minutes each (25 minutes presentation plus 5 minutes questions)
on a recent paper in compiler technology,
with a written summary of 1-2 pages to be delivered within
one week after the presentation.
It also includes opposition of one other presentation.
See
this link
for detailed instructions and the list of assigned student papers.
For admission to the presentation it is required that at least 50% of the lectures
and lessons have been attended.
Written exam: 19/3 14-18. Room: von Neumann, IDA, Linköping.
For participants from other sites: Contact the examiner in time
if you intend to write the exam at your home university, and give the
contact data of a teacher who will supervise your exam there.
No aids are allowed, except for a dictionary from English
to your native language. Last admission time is 14:30.
For admission to the exam it is required that at least 50% of the lectures
and lessons have been attended.
Old exams:
Part 1 (PDF),
Part 2 (PDF),
Solution proposal part 2 (PDF)
Literature
You should be able to follow the course mainly based on the
slide material only.
The following books and papers are recommended as additional reading
wherever necessary:
Books:
No textbook covers the entire course contents completely. But parts of either of the following books and articles can be useful as accompanying text for a major part of the course (these are also available in the local library):
Examiner
Christoph Kessler
Welf Löwe
Examination
TEN1: Written or oral exam, 4.5hp (date see schedule).
No aids are allowed.
In the case of a written exam, remote exams are possible.
Admission to the exam requires physical presence in at least 50% of all lectures and lessons.
Passing the exam is mandatory for getting any credit points on the course.
LAB2:
Compiler framework lab with written report 3hp (course assistant: Erik Hansson)
Deadline: 31/3/2012
PRE1:
Presentation, opposition and written summary 1.5hp (Christoph)
Deadline (summary): 31/3/2012
For admission to the presentation it is required that at least 50% of the lectures and lessons have been attended.
Credit
Up to 9hp for the entire course, provided that the written exam is passed.
Admission to the exam and presentation requires physical presence in at least 50% of all lectures and lessons.
Note: Those who pass the course but
are not IDA graduate students receive a paper certificate (intyg)
about their result.
For potential acceptance of the credits for undergraduate education programs
please contact your responsible program coordinator (grundutbildningsledare)
and show him/her your certificate.
Comments
CUGS Advanced Graduate Course
This page is maintained by Christoph Kessler (chrke \at ida \dot liu \dot se)
| |
|
|
|
|
| |
|
|
| ||