Typical duration: 2 days
Course code: PR07
Maintaining control over numerical computation is an art in itself. This course provides an in-depth tutorial on the subject, supported by 8 hours of practical hands-on labs.
Training topicsNumerical computing
We start with fundamentals of floating point and the standards used currently as well as in the past. Since complex numerical code is often a matter of legacy, we discuss how to take control of results and ensure consistency. The course also covers the key concepts of the "right result" and the "same result". We discuss numerical algorithms that allow for high-precision operations, and demonstrate how precision is not by any means guaranteed by the number of bits in a floating point number. Finally, we touch on coherency aspects in symmetrical computing which, in a typical scenario, would exist in any co-processing or acceleration scenario.
After the course, the students will:
- Exercise direct control over their numerical computation
- Use existing numerical software and libraries to accelerate and improve the development or tuning process
- Understand advanced concepts of floating point computation, including pitfalls, coherency and reproducibility
- Employ compilers and their advanced options to improve and control floating point
fundamentals, compiler control, costs, reproducibility, good and bad algorithms, correctness, risks and successful scenarios; useful software and libraries
floating point debugging