Postgraduate Course: Performance Programming (PGPH11082)
Course Outline
School |
School of Physics and Astronomy |
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 |
Postgraduate (School of Physics and Astronomy) |
Other subject area |
None |
Course website |
None
|
Taught in Gaelic? |
No |
Course description |
Application performance is one of the key requirements for HPC applications. However this is one of the
more difficult requirements to satisfy:
&· Issues effecting performance often vary between different hardware and software environments.
This requires performance issues to be frequently re-visited as the hardware and software environment
changes.
&· Performance programming requires detailed knowledge of the underlying environment
&· The design decisisions necessary to achieve good performance are often in conflict with other
desirable properties of the program.
After taking this course students should have a good practical undertanding of the general issues and
methodologies associated with designing building and refactoring codes to meet performance requirements.
In addition they will have an overview of a number of subjects that are important in the understanding of
performance on current systems.
The course will cover the the following topics:
&· Overview of performance programming. Methodology, the optimisation cycle.
&· Designing for performance. Encapsulation as an aid to performance tuning.
&· Tools for performance programming. Profilers and code instrumentation.
&· Compilers and compiler optimisation.
&· Memory heirarchies, Memory structures and associated optimisations.
&· Performance tuning for shared memory.
&· Floating point performance. Pipelines,SIMD, vectorisation. |
Entry Requirements
Pre-requisites |
|
Co-requisites |
|
Prohibited Combinations |
|
Other requirements |
None
|
Additional Costs |
None |
Course Delivery Information
Not being delivered |
Summary of Intended Learning Outcomes
On completion of this course students should be able to:
&· Understand the appropriate methodology when attempting to improve code performance.
&· Understand how performance is achieved via hardware, compilers and operating systems.
&· Appreciate the limitations of systems and recognise when these will have a serious impact.
&· Interpret the observed performance of code in terms of how its execution is realised on the system.
&· Identify code regions appropriate for manual optimisation and propose, implement and evaluate
optimisations on these regions. |
Assessment Information
100% Coursework |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
Not entered |
Transferable skills |
Not entered |
Reading list |
Not entered |
Study Abroad |
Not entered |
Study Pattern |
Not entered |
Keywords |
Not entered |
Contacts
Course organiser |
Dr Judy Hardy
Tel: (0131 6)50 6716
Email: j.hardy@ed.ac.uk |
Course secretary |
Yuhua Lei
Tel: (0131 6) 517067
Email: yuhua.lei@ed.ac.uk |
|
|