Theme: Programming
Advanced compilers
Level: Intermediate
Typical duration: 1 day
Lectures: 5h
Labs: 3h
Course code: PR02
This course provides a deep dive into the operation of compilers, their options and their construction. The wide range of available switches is discussed in depth, with partiular focus on options relevant to numerical processing and result safety. A refresher of compiler construction is also provided, and in that context scripting options are presented.
Training topics
Advanced compiler featuresExploiting modern hardware to its limits
Our hands-on lab demonstrates the concepts discussed in practice. We focus primarily GCC/G++ and the Intel C/C++ Compiler, and using LLVM as a supporting tool.
Results
After the course, the students will:
- Use advanced options of compilers to speed up programs
- Deeply understand the wide range of available compiler switches, optimize floating point
- Take control of the compiler from within the source and write compiler independent code
- Understand how to extend compilers
Training concepts
Controlling features such as inlining, floating point switches, results from advanced optimization
Result safety and reproduction
Tapping into compilers and scripting them