Pour vous authentifier, privilégiez eduGAIN / To authenticate, prefer eduGAINeu

Computations for the 2 Infinities

Make your code more efficient (part 1)

par Hadrien Grasland (IJCLab)

Europe/Paris
200/1-101 - Salle 101 (IJCLab)

200/1-101 - Salle 101

IJCLab

50
Montrer la salle sur la carte
Description

Abstract

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

This course will be run in two parts, the first part on April 6 and the second part on April 13. Training exercises will be provided between the two parts.

Prerequisites

  • General Unix/Linux shell handling (filesystem, make…).
  • Basics of C++ (C fundamentals, std::vector, iostream, virtual) and Python (including numpy).
  • Laptop that can connect to a Linux server over SSH.

Registration

While it is now possible for all lab members to register via Indico, note that this course was initially proposed as a doctoral school training and PhD students registering via ADUM will accordingly get priority for the initial run. If there is too much demand, the course will be run again later in the year.

Participants
10