2025-05-31: Feuille de route 2024-2025 (3A)¶
Main Web Site : https://sdpython.github.io/
Plan¶
Les cours et séances se déroulent sur 4 séances de 3h au second semestre.
Evaluation¶
Utilisation de vos compétences statistiques pour fabriquer un benchmark adaptatif où l’on trouve la meilleure option de parallélisation pour un algorithme parallélisé avec moins d’essais qu’une grille.
Séance 1 - 9/04: pararalléliser comment?¶
Part 1
stratégies de parallélisation (big data, deep learning, calcul matriciel…)
coût, calcul, communication, caches
CPU vs GPU
conflits, synchronisation, mutex
L1: 32 Ko, 3/4 Go/s, 1/2 cycles d’horloge, L2: 1Mo, 20 Go/s, 3/5 cycles d’horloge, L3: 8Mo, 40 Go/s, 10/20 cycles d’horloge
thread / process
branching
cas du produit vectoriel
produit matriciel
Part 2
Environnement
Séance 2 - 16/04: python, pybind11, cython¶
Part 1
voir _tutoriels et tutorials.yml
Part 2
et…
Séance 3 - 23/04: alorithmes parallélisés¶
parallélisation mémoire contrainte ou presque
quantization
réseau de neurones
problème de convergence
utilisation de plusieurs processeurs, CPUs, GPUs…, NPU, intel-npu
qui fait quoi ? data scientist, développeur
hacking (attaque), Spectre, Meltdown
https://fr.wikipedia.org/wiki/DO-178, PowerPC, RISC
Sujets connexes
Un tri ?
Le calcul de la médiane ? (BJKST) Propriétés statistiques ?
Pourquoi est-ce si difficile de paralléliser un tri ?
scatter_nd, Que faire quand les indices sont dupliqués ?
Paralléliser une forêt aléatoire sur CPU, sur GPU ?
La recherche de doublons dans une liste de coordonnées géographiques (longitude, latitude) ?
An Efficient Matrix Transpose in CUDA C/C++, notion de Bank Conflicts (voir CUDA C++ Programming Guide) CUDA, Cartes graphiques, Warp…
Séance 4 - 30/04: fusion d’opérations et projets¶
réalisation d’un benchmark
fusion d’opérations : cas de l”attention:
avec
,
,
et :
Utilisation de vos compétences statistiques pour fabriquer un benchmark adaptatif où l’on trouve la meilleure option de parallélisation pour un algorithme parallélisé avec moins d’essais qu’une grille.
Installation de ce module¶
Il ensuite exécuter les instuctions suivantes en ligne de commande.
git clone https://github.com/sdpython/teachcompute.git
cd teachcompute
pip install -e . -v --no-build-isolation
Si ça ne marche, installer cmake. Puis :
export PYTHONPATH=<this folder>
python _doc/examples/plot_bench_cpu_vector_sum.py
Lectures¶
Collège de France
Algorithmes quantiques : quand la physique quantique défie la thèse de Church-Turing
Génération de données en IA par transport et débruitage (1) pour comprendre ce que sont les LLMs
Points particuliers¶
Livres¶
Autres¶
AlphaFold (Prix Nodel) Prix Nobel de chimie 2024 : quand l’IA permet de comprendre la structure des protéines
A quantum-inspired classical algorithm for recommendation systems
The Fusion of Large Language Models and Formal Methods for Trustworthy AI Agents: A Roadmap
GraphCast: AI model for faster and more accurate global weather forecasting