Where academic tradition
meets the exciting future

Code Optimization (2017 Autumn)

Organisation: ÅAU / Dept. of Information Technologies

Credit Points: 5

Responsible Person: Mats Aspnäs

Course code: 455304.0

Objectives:
The goal of the course is to give an understanding of how program instructions are executed by a processor, how different components of the processor architecture support efficient instruction execution and how high level programming constructs affect the performance of a program.

After completing the course the student can

  1. Explain how code optimization fits into the software development process
  2. Identify the hardware techniques that are crucial for efficient instruction execution in modern processor architectures
  3. Explain the mechanisms used to implement out-of-order instruction execution, speculative execution, cache memory and floating-point computations.
  4. Apply vectorization of loops with SSE-instructions.
  5. Explain the optimization techniques a compiler can perform on a program.
  6. Apply code optimization techniques on programs written in a high-level programming language and evaluate the effects of the optimizations.

31.10.–21.12.2017

Lectures:

  1. Tue 31.10.–19.12. weekly at 14–16, Auditorium XX, Agora
  2. Thu 2.11.–21.12. weekly at 15–17, Auditorium XX, Agora