THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2012/2013
- ARCHIVE for reference only
THIS PAGE IS OUT OF DATE

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Compiler Optimisation (Level 10) (INFR10023)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Course typeStandard AvailabilityAvailable to all students
Credit level (Normal year taken)SCQF Level 10 (Year 4 Undergraduate) Credits10
Home subject areaInformatics Other subject areaNone
Course website http://www.inf.ed.ac.uk/teaching/courses/copt Taught in Gaelic?No
Course descriptionThis 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. The course work will require students to implement selected optimisations in a research compiler.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Compiler Optimisation (Level 11) (INFR11032)
Other requirements Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. Students are expected to be competent programmers in C, C++ or Java.
Additional Costs None
Information for Visiting Students
Pre-requisitesNone
Displayed in Visiting Students Prospectus?Yes
Course Delivery Information
Delivery period: 2012/13 Semester 2, Available to all students (SV1) Learn enabled:  No Quota:  None
Location Activity Description Weeks Monday Tuesday Wednesday Thursday Friday
CentralLecture1-11 10:00 - 10:50
CentralLecture1-11 10:00 - 10:50
First Class Week 1, Monday, 10:00 - 10:50, Zone: Central. Lecture Theatre 4, 7 Bristo Square
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.

If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
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
KeywordsNot entered
Contacts
Course organiserDr Mary Cryan
Tel: (0131 6)50 5153
Email: mcryan@inf.ed.ac.uk
Course secretaryMiss Kate Weston
Tel: (0131 6)50 2701
Email: Kate.Weston@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Timetab
Prospectuses
Important Information
 
© Copyright 2012 The University of Edinburgh - 14 January 2013 4:09 am