Content
This tutorial aims to give its attendees a quick introduction into the programming language
SaC and its attendent compiler technology. The compiler has been developed and constantly improved for more than a decade and has reached almost industrial strength now. It is a source to source compiler focussing on advanced high-level program optimisations. Its latest additions include
- support for controlled forms of non-determinism,
- support for the generation of CUDA code
- support for the generation of μTC code
- several bindings for C libraries such as GNU-plot and DISLIN
- support for numerical libraries such as BLAS
The tutorial consists of four parts:
- an introduction into the concept of data-parallelism, i.e.,
tackling the question of what can be expressed in a data-parallel
fashion and how, - a practical session where examples are being run in an
interactive fashion, - an overview of the optimisations applied by sac2c to achieve
excellent sequential and parallel runtime performance on various
platforms, and - a practical session where several examples and their compilation
process are being studied in an interactive fashion.
We will provide bootable USB-sticks/CDs to give participants first hands-on experience on their own laptops.