Environnement matériel


Vous trouverez ci-dessous les instructions pour pouvoir travailler pendant les TPs et pour les projets des modules DEEP-L, RL, ADL et LLM. En cas de problème, contactez-nous sur Mattermost (sur le canal RL, DEEP-L, ADL ou LLM).

Machines de la PPTI

Trois salles de la PPTI sont équipées de bons GPUs (RTX 2080) : la 502, la 509 et la 407. Pour se connecter, en ssh en passant par la passerelle ssh.ufr-info-p6.jussieu.fr,  puis ppti-14-502-XX (XX=01 à 16) ou ppti-14-407-XX.

Ces machines sont arrêtées le soir et redémarrées le matin. En cours de semestre, elles seront utilisables toute la journée, mais redémarrées une fois par jour vers 8h. Au niveau espace disque, en plus du /tmp, vous avez également un répertoire /temporary qui est semi-permanent (il n’est pas nettoyé à chaque reboot) de plus de 300Go, dans lequel vous pouvez travailler quand vous avez besoin de place. N’oubliez pas de recopier les résultats expérimentaux toutefois !

Sur les machines de la PPTI, un environnement Python préinstallé est mis à votre disposition. La commande exacte pour l’activer dépend du cours : elle vous sera communiquée par l’équipe pédagogique (page du cours ou Mattermost). À défaut, vous pouvez créer votre propre environnement en suivant les instructions de la section « Machines personnelles » ci-dessous : uv s’installe sans droits administrateur dans votre répertoire personnel.

Se connecter à distance sur les machines de la PPTI

Pour pouvoir vous connecter à distance aux machines de la PPTI, il faut utiliser ssh. Afin de vous permettre de vous connecter facilement, il faut ajouter dans le fichier de configuration $HOME/.ssh/config les lignes suivantes :

Host ppti 
   User votre_login 
   Hostname ssh.ufr-info-p6.jussieu.fr 

Host ppti-* User votre_login
   User votre_login  
    ProxyJump ppti

Pour lancer un jupyter lab, fairessh -L8888:localhost:8888 -L 6006:localhost:6006 ppti-14-502-XXet lancer jupyter lab sur la machine à distance. En local, vous utilisez l’adresse habituelle de jupyter, http://localhost:8888, et de tensorboard, http://localhost:6006.

Pour plus de facilité, utilisez une clef SSH en exécutant sur votre machine

ssh-keygen -t ed25519

Dans le répertoire .ssh, vous trouverez un fichier id_ed25519.pub dont le contenu devra être mis dans le $HOME/.ssh/authorized_hosts d’une machine de la ppti.

Machines personnelles

Il est possible d’utiliser votre machine personnelle. Pour windows, nous vous conseillons fortement d’installer Ubuntu WSL qui est une version légère de linux qui est bien intégrée avec Windows (sinon, débrouillez-vous avec conda). Sous OS X, il faut avoir une version de python 3 récente (>= 3.10). Vous pouvez utiliser homebrew pour l’installer.

Quelle que soit la plateforme, nous vous conseillons également d’installer visual studio code (VSCode) – ceci vous permettra (entre autres) de travailler facilement à distance sur les machines de la PPTI.

Création de l’environnement Python

La plupart des cours utilisent uv, un gestionnaire de projets et de paquets Python qui remplace pip, venv, virtualenv, pyenv et conda. Nous le recommandons car :

  • il installe lui-même la version de Python demandée par le cours (plus besoin de pyenv ou de conda) ;
  • il crée et gère automatiquement l’environnement virtuel du projet (répertoire .venv) ;
  • le fichier uv.lock garantit que tout le monde (vous, vos camarades, les enseignants, les machines de la PPTI) a exactement les mêmes versions de paquets : beaucoup de problèmes en TP viennent de là ;
  • il est nettement plus rapide que pip/conda, ce qui compte quand toute la salle installe PyTorch en même temps.

Installation (à faire une seule fois) :

# Linux, Ubuntu WSL et OS X
curl -LsSf https://astral.sh/uv/install.sh | sh

# ou, sous OS X avec homebrew
brew install uv

Voir la documentation d’installation pour les autres possibilités (notamment Windows sans WSL).

FAQ

CUDA 11

Si vous avez cuda 11 installé (à vérifier avec nvcc --version), et que votre version de pytorch n’est pas compatible, i.e. torch.cuda.is_available() renvoie false, il faut modifier le fichier $HOME/.local/pip.conf de la façon suivante (il faudra aussi exécuter pip install -U torch après):

[global]
extra-index-url = https://download.pytorch.org/whl/cu113

Problème de proxy (PPTI)

Ajoutez à votre $HOME/.profile les lignes suivantes (il faut relancer la session terminal après, ou bien également exécuter ces lignes dans le terminal) :

export http_proxy='http://proxy.ufr-info-p6.jussieu.fr:3128'
export https_proxy='http://proxy.ufr-info-p6.jussieu.fr:3128'