Postgraduate Course: Compiler Optimisation (Level 11) (INFR11032)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Not available to visiting students |
Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Credits | 10 |
Home subject area | Informatics |
Other subject area | None |
Course website |
http://www.inf.ed.ac.uk/teaching/courses/copt |
Taught in Gaelic? | No |
Course description | This course introduces students to modern techniques in efficient implementation of programming languages. Modern processors and systems are designed based on the assumption that a compiler will be able to effectively exploit architectural resources. This course will examine in detail techniques to exploit instruction level parallelism, memory hierarchy and higher level parallelism. It will examine classic static analysis approaches to these problems and introduce newer feedback directed and dynamic approaches to optimisation. The course work will require students to implement selected optimisations in a research compiler and critically review literature in compiler optimisation. |
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | Students MUST NOT also be taking
Compiler Optimisation (Level 10) (INFR10023)
|
Other requirements | For Informatics PG and final year MInf students only, or by special permission of the School. Students must have completed an introductory course in compilation or have designed and implemented a basic compiler, also expected to be competent programmers in C, C++ or Java. |
Additional Costs | None |
Course Delivery Information
|
Delivery period: 2012/13 Semester 2, Not available to visiting students (SS1)
|
WebCT enabled: No |
Quota: None |
Location |
Activity |
Description |
Weeks |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
No Classes have been defined for this Course |
First Class |
First class information not currently available |
Exam Information |
Exam Diet |
Paper Name |
Hours:Minutes |
|
|
Main Exam Diet S2 (April/May) | | 2:00 | | |
Summary of Intended Learning Outcomes
1 - Understanding of inherent computational complexity of optimisation
2 - Development of optimizations via search based approaches
3 - Ability to parallelise programs via systematic algorithms
4 - Knowledge of dynamic and adaptive approaches to modern optimisation |
Assessment Information
Written Examination 75
Assessed Assignments 25
Oral Presentations 0
Assessment
The coursework will consist of two practical compiler exercises where students will design and implement an optimisation and evaluate it on a set of benchmarks, writing a report on their work and findings. The second exercise will consist of a literature review of a particular area followed by an implementation of a selected optimisation approach. |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
*Compiler Construction, phase order, compilation as optimisation
*Architecture costs: Parallelism and Latency in uni and multi-processors
*Architecture "independent" optimisation, dataflow analysis, lattices and fixed points
*Code generation, register allocation and scheduling in superscalar and vliw processors
*High level analysis based on dependence analysis. Intra and inter procedural analysis, whole program analysis.
*High level transformations including linear algebraic formalisation, unimodular transformations and space/time representation
*Automated parallelisation. shared and distributed memory models. Linear algebraic approach to parallelisation.
*Adaptive optimisation: Feedback directed optimisation, iterative compilation, program specialisation and dynamic compilation eg JIT, DBT
*Compiler infrastructure case studies: SUIF, Machine SUIF, JIKES
*Current themes:low power compilation, automatic compiler generation and machine learning.
Relevant QAA Computing Curriculum Sections: Compilers and Syntax Directed Tools |
Transferable skills |
Not entered |
Reading list |
* A. Aho,R. Sethi, J.D.Ullman Compilers: Priciples, Techniques and Tools.
* S. Muchnick, Advanced Compiler Design and Implementation Morgan Kaufmann 1997
* R. Allen K. Kennedy Optimizing Compilers for Modern Architectures: A
* K. D. Cooper, L. Torczon Engineering a Compiler Morgan Kaufmann 2003
* A selection of conference and journal paper as appropriate
|
Study Abroad |
Not entered |
Study Pattern |
Lectures 20
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 25
Private Study/Other 55
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Dr Michael Rovatsos
Tel: (0131 6)51 3263
Email: |
Course secretary | Miss Kate Weston
Tel: (0131 6)50 2701
Email: |
|
© Copyright 2012 The University of Edinburgh - 6 March 2012 6:10 am
|