1. Introduction#
Ce livre interactif jupyter-book
[JupyterBook, 2024] contient la
documentation pour utiliser des serveurs de cours Jupyter/nbrager
[Jupyter, 2024] [Nbgrader, 2024] déployés initialement au département
Mécanique de Lyon1 [Buffat, 2022], puis mis en place à l’université Lyon 1 dans le cadre du projet INCLUDE
[Include, 2024]. Ces serveurs de cours HPC sont utilisés pour la
formation dans des domaines nécéssitant des ressources de calcul de type GPU,
par exemple en machine learning computationnelle. La solution proposée
tente de répondre à la problèmatique suivante dans le cadre de la formation:
GPUs can not be shared, but GPUs must be shared !
soulevée dès 2019 dans la communauté Jupyter[10].
Contrairement aux solutions classiques, dans lesquelles les étudiants utilisent leurs propres ressources de calcul (PC personnel, salle de TP informatique, ..), la solution proposée permet aux étudiants un accès 24h/24h et 7j/7j à des ressources performantes HPC avec un simple navigateur Web. Elle permet aussi un partage simple de documents et informations avec les enseignants dans le cadre d’un système de gestion de cours sous Jupyter/nbgrader avec des bibliothèques et des outils optimisées pour le calcul avec GPU en IA et ML. L’utilisation se fait soit à travers des notebooks (écrit en Python, R, Julia ou C++) pour des calculs interactifs simples, soit en lançant ces programmes en tache de fond (système de batch) pour des calculs plus longs.
Warning
Dans ce type d’environnement, les ressources de calcul HPC sur les serveurs de cours Jupyter/nbgrader sont partagées entre tous les utilisateurs. Il faut absolument en tenir compte lorsque que l’on exécute un calcul d’IA computationnelle et bien configurer les programmes pour n’utiliser que les ressources GPU nécessaires comme indiqué dans la suite.
Ce livre donne de nombreux exemples utilisant le langage Python pour de la programmation scientifique et du machine learning. On pourra consulter [Buffat, 2023] pour une introduction à la programmation scientifique avec Python et [Buffat, 2024] pour un exemple de cours “introduction au machine learning en Mécanique” mis en place sur cet environnement.