Apr 15 – 16, 2013
James Clerk Maxwell Building, King's Buildings
GB timezone
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 affecting 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. 
This course will concentrate on single processor optimisation techniques.
Topics include: overview of performance programming; methodology of 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.
Learning outcome: Students will gain a good practical understanding of the general issues and methodologies associated with designing building and refactoring codes to meet performance requirements.
Pre-requisites: C, C++ or Fortran.
Course overview:
Session I: Performance Optimisation
This session introduces the subject and looks at the work-flow behind performance optimisation. It also provides an overview of current microprocessor architectures concentrating on performance aspects.
Session II: Compiler based optimisation
This session looks at compiler based optimisations. What  optimisations a compliler is able to perform. What might prevent a  compiler from performing these optimisations and how to help the compiler do its job.
Session III: Memory optimisation
This session looks at the impact that memory utilisation and data structures can have on program performance and how to re-design data structures for increased performance.
Session IV: Object Oriented optimisation
This session looks at how Object Oriented techniques impact code performance and how they can be used to aid the optimisation process.
For a more detailed timetable, please click on the "Timetable" link from the menu on the left.

Conference information

Date/Time

Starts

Ends

All times are in GB

Location

James Clerk Maxwell Building, King's Buildings
3217
Mayfield Road, Edinburgh EH9 3JZ

Extra information

This course is funded by the PRACE project and is free to all.
Please register using the online form.
Note that in the week before this course, there will be one-day PRACE-funded courses on Large-Scale Parallel Profiling with VAMPIR (8th April) and Large-Scale Parallel Debugging with DDT (12th April), as well as the EASC 2013 - Solving Software Challenges for Exascale - conference (9th-11th April), which is not a PRACE-funded event, but may also be of interest to course attendees.
If you have any questions, please consult the course forum page or contact epcc-support@epcc.ed.ac.uk.
Information about how to find the James Clerk Maxwell Building (JCMB) can be found on the School of Physics and Astronomy website.
Note that parking on the King's Buildings campus is by permit only, and that parking just outside on Mayfield Road is restricted before 09:15 and 16:30 - and cars *will* be removed (with a hefty fee payable to get your car back) if parked there during the restricted times.  Unrestricted free parking is available on nearby Hallhead Road, Ross Road, Blackbarony Road and Gordon Terrace to the east of the campus, and along the north side of the campus on West Mains Road.
A number of B&Bs and hotels can be found approximately 10 minutes' walk from EPCC, including:
* Smiths' Guest House, 77 Mayfield Road, Edinburgh EH9 3AA
* Mayfield Lodge Guest House, 75 Mayfield Road, Edinburgh EH9 3AA
* Highfield Guest House, 83 Mayfield Road, Edinburgh EH9 3AE
* Lauderville Guest House, 52 Mayfield Road, Edinburgh EH9 2NH
* Glenisla Hotel, 12 Lygon Road, Edinburgh EH16 5QB
* Glendale House Guest House, 5 Lady Road, Edinburgh EH16 5PA
There is also the Travelodge Cameron Toll, 43 Craigmillar Park, Edinburgh EH16 5PD. Note that the room price does not include breakfast.