Formation Python Scientifique au CC-IN2P3
from
Thursday, February 6, 2025 (9:00 AM)
to
Friday, February 7, 2025 (5:30 PM)
Monday, February 3, 2025
Tuesday, February 4, 2025
Wednesday, February 5, 2025
Thursday, February 6, 2025
9:30 AM
Accueil des participants
Accueil des participants
9:30 AM - 10:00 AM
Room: 202
10:00 AM
Introduction à Python
Introduction à Python
10:00 AM - 11:30 AM
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 AM
TP - Noyau Jupyter
TP - Noyau Jupyter
11:30 AM - 12:00 PM
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 PM
Pause déjeuner
Pause déjeuner
12:00 PM - 2:00 PM
Room: 202
2:00 PM
Python avancé
Python avancé
2:00 PM - 3:15 PM
Room: 202
- Listes, dictionnaires, listes en compréhension - Fonctions : paramètres, valeurs par défaut, fonction Lambda - Gestion des erreurs - Introduction aux décorateurs
3:15 PM
TP - Introduction au "Jeu de la vie" (Automate cellulaire)
TP - Introduction au "Jeu de la vie" (Automate cellulaire)
3:15 PM - 4:00 PM
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
4:00 PM
Pause café
Pause café
4:00 PM - 4:20 PM
Room: 202
4:20 PM
Introduction aux bibliothèques scientifiques
Introduction aux bibliothèques scientifiques
4:20 PM - 5:20 PM
Room: 202
- NumPy : calculs vectoriels et manipulation de tableaux (broadcast). - Bokeh & Plotly : visualisation des états du "Jeu de la vie".
5:20 PM
TP - "Jeu de la vie" 2ème partie
TP - "Jeu de la vie" 2ème partie
5:20 PM - 6:00 PM
Room: 202
- Utiliser NumPy pour gérer la grille du jeu. - Visualiser l'évolution dans le temps avec Bokeh & Plotly
Friday, February 7, 2025
9:00 AM
Calcul parallèle
Calcul parallèle
9:00 AM - 10:00 AM
Room: 202
- Introduction au calcul parallèle et multithread - Présentation de Dask et utilisation dans l'écosystème du CC-IN2P3
10:00 AM
Pause café
Pause café
10:00 AM - 10:20 AM
Room: 202
10:20 AM
Calcul sur GPU et introduction à JAX
Calcul sur GPU et introduction à JAX
10:20 AM - 11:20 AM
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 AM
TP - "Jeu de la vie" accéléré 3ème partie
TP - "Jeu de la vie" accéléré 3ème partie
11:20 AM - 12:00 PM
Room: 202
- Optimisation du "jeu de la vie" avec du calcul multithread
12:00 PM
Pause déjeuner
Pause déjeuner
12:00 PM - 2:00 PM
Room: 202
1:15 PM
Visite Salles machines
-
Benjamin Guillon
(
CC-IN2P3/CNRS
)
Visite Salles machines
Benjamin Guillon
(
CC-IN2P3/CNRS
)
1:15 PM - 2:00 PM
Room: 202
(Activité optionnelle)
2:00 PM
TP - "Jeu de la vie" accéléré 4ème partie
TP - "Jeu de la vie" accéléré 4ème partie
2:00 PM - 3:00 PM
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.
3:00 PM
Fin des TPs, discussions et commentaires
Fin des TPs, discussions et commentaires
3:00 PM - 4:00 PM
Room: 202
4:00 PM
Pause café
Pause café
4:00 PM - 4:20 PM
Room: 202
4:20 PM
Session ouverte
Session ouverte
4:20 PM - 5:30 PM
Room: 202