Formation Python Scientifique au CC-IN2P3
de
jeudi 6 février 2025 (09:00)
à
vendredi 7 février 2025 (17:30)
lundi 3 février 2025
mardi 4 février 2025
mercredi 5 février 2025
jeudi 6 février 2025
09:30
Accueil des participants
Accueil des participants
09:30 - 10:00
Room: 202
10:00
Introduction à Python
Introduction à Python
10:00 - 11:30
Room: 202
- Historique et écosystème du langage - Installation et environnements : Conda (miniconda & micromamba), IDE (PyCharmCE, VSCodium) et Jupyter Notebooks - Syntaxe de base : variables, types, opérateurs, structures de contrôle - Environnements virtuels et création d’un noyau personnalisé
11:30
TP - Noyau Jupyter
TP - Noyau Jupyter
11:30 - 12:00
Room: 202
- Création d’un noyau pour la formation (fournissant l'ensemble des modules requis pour la formation NumPy, Bokeh, Dask & JAX)
12:00
Pause déjeuner
Pause déjeuner
12:00 - 14:00
Room: 202
14:00
Python avancé
Python avancé
14:00 - 15:15
Room: 202
- Listes, dictionnaires, listes en compréhension - Fonctions : paramètres, valeurs par défaut, fonction Lambda - Gestion des erreurs - Introduction aux décorateurs
15:15
TP - Introduction au "Jeu de la vie" (Automate cellulaire)
TP - Introduction au "Jeu de la vie" (Automate cellulaire)
15:15 - 16:00
Room: 202
- Créer une grille initiale et une fonction pour appliquer les règles du "Jeu de la vie". - Évolution de la grille dans le temps
16:00
Pause café
Pause café
16:00 - 16:20
Room: 202
16:20
Introduction aux bibliothèques scientifiques
Introduction aux bibliothèques scientifiques
16:20 - 17:20
Room: 202
- NumPy : calculs vectoriels et manipulation de tableaux (broadcast). - Bokeh & Plotly : visualisation des états du "Jeu de la vie".
17:20
TP - "Jeu de la vie" 2ème partie
TP - "Jeu de la vie" 2ème partie
17:20 - 18:00
Room: 202
- Utiliser NumPy pour gérer la grille du jeu. - Visualiser l'évolution dans le temps avec Bokeh & Plotly
vendredi 7 février 2025
09:00
Calcul parallèle
Calcul parallèle
09:00 - 10:00
Room: 202
- Introduction au calcul parallèle et multithread - Présentation de Dask et utilisation dans l'écosystème du CC-IN2P3
10:00
Pause café
Pause café
10:00 - 10:20
Room: 202
10:20
Calcul sur GPU et introduction à JAX
Calcul sur GPU et introduction à JAX
10:20 - 11:20
Room: 202
- Introduction au calcul GPU : concepts de base - Présentation de JAX : framework de Machine Learning pour la manipulation de fonctions numériques
11:20
TP - "Jeu de la vie" accéléré 3ème partie
TP - "Jeu de la vie" accéléré 3ème partie
11:20 - 12:00
Room: 202
- Optimisation du "jeu de la vie" avec du calcul multithread
12:00
Pause déjeuner
Pause déjeuner
12:00 - 14:00
Room: 202
13:15
Visite Salles machines
-
Benjamin Guillon
(
CC-IN2P3/CNRS
)
Visite Salles machines
Benjamin Guillon
(
CC-IN2P3/CNRS
)
13:15 - 14:00
Room: 202
(Activité optionnelle)
14:00
TP - "Jeu de la vie" accéléré 4ème partie
TP - "Jeu de la vie" accéléré 4ème partie
14:00 - 15:00
Room: 202
- Paralléliser le "jeu de la vie" avec Dask (grille plus grande) - Étendre le "Jeu de la vie" pour une implémentation accélérée sur GPU avec JAX.
15:00
Fin des TPs, discussions et commentaires
Fin des TPs, discussions et commentaires
15:00 - 16:00
Room: 202
16:00
Pause café
Pause café
16:00 - 16:20
Room: 202
16:20
Session ouverte
Session ouverte
16:20 - 17:30
Room: 202