Speaker
Thomas Ericsson
(Chalmers)
Description
In this lecture techniques for speeding up code on a
uniprocessor are presented. The lecture covers basic
optimization principles such as using the memory
hierarchy in an efficient way. Using short code examples,
the lecture covers stride minimization, blocking, loop-
fusion, loop-splitting and other approaches.
The choice of programming language (Fortran or C), and
compiler will be discussed. There are some hints of how
to tune Matlab programs. Other topics are vector
arithmetic for floating point and elementary functions,
virtual memory, files and the LAPACK and BLAS libraries.