Orateur
Description
Most computer programs are inefficient and could serve the same purpose while using 10-1000x less resources (time, energy, memory…). However, achieving this result requires know-how that is not part of the typical programming curriculum. In this course, you will learn a general methodology to make any program use computing resources more efficiently:
1. Safety first
2. Set a useful benchmark
3. Identify the limiting hardware resource
4. Locate the code that most intensely uses it
5. Make the most of other people’s work
6. Optimize your own code
7. Know your programming language
Prerequisites : Shell Unix/Linux (files, make…) + C++ basics (C-like features, std::vector, iostream, virtual) or Python+numpy. Laptop capable of connecting to a Linux server via SSH, ideally configured to use eduroam.