Clusters de calculs Ponyo et Chihiro (par Loïc Marrec et Anne-Florence Bitbol, avec l'aide de Benjamin Gallois, mis à jour le 22/09/20):

Le LJP partage avec le LKB et le LPTMC deux clusters de calculs, appelés Ponyo et Chihiro. Ce qui suit est un bref guide d'utilisation. Une documentation officielle est disponible à https://wiki-ponyo.lptmc.jussieu.fr/index.php/Accueil (disponible uniquement via le réseau du campus Jussieu ou via un VPN). Attention, les clusters de calculs ne remplacent pas votre ordinateur et ne sont à utiliser que pour des codes longs et/ou lourds et/ou parallélisés. Il convient de tester systématiquement un code sur votre ordinateur avant de les utiliser sur les clusters, notamment pour savoir la durée et la mémoire demandées (voir point 6). N'oubliez pas que les clusters sont partagés par plusieurs chercheuses et chercheurs et qu'une mauvaise utilisation peut pénaliser beaucoup de personnes (qui ne manqueront sûrement pas de vous le faire remarquer !). Il est possible d'utiliser sur les clusters, entre autres, C, Python et Matlab.

1- Il est nécessaire d'avoir un compte pour se connecter aux clusters. Si vous n'en avez pas, contactez Michel Quaggetto (mq@lptl.jussieu.fr), ingénieur de recherche au LPTMC. Demandez-lui explicitement de créer un compte pour Ponyo et pour Chihiro.

2- Pour se connecter au cluster Ponyo (respectivement Chihiro) depuis le campus Jussieu, ouvrez un terminal de votre ordinateur et entrez la commande suivante:
ssh USERNAME@ponyo.lptmc.jussieu.fr (respectivement ssh USERNAME@chihiro.lptmc.jussieu.fr)
Entrez votre mot de passe d'accès au cluster puis tapez sur la touche “Entrée”.
Pour se connecter au cluster Ponyo (respectivement Chihiro) depuis l'extérieur du campus Jussieu, ouvrez un terminal de votre ordinateur et entrez la commande suivante:
ssh -oProxyJump=ljp@134.157.132.110 USERNAME@ponyo.lptmc.jussieu.fr (respectivement ssh -oProxyJump=ljp@134.157.132.110 USERNAME@chihiro.lptmc.jussieu.fr)
Entrez le mot de passe du serveur du LJP (le même mot de passe que celui du site du LJP, avec un “!” en plus), tapez sur la touche “Entrée”, entrez votre mot de passe d'accès au cluster puis tapez sur la touche “Entrée”.
Remarque: USERNAME est généralement votre nom de famille. En cas de doute, référez-vous au document Cluster_Ponyo/Comptes_cluster.txt disponible sur le cloud du LJP, ou bien contactez Michel Quaggetto (mq@lptl.jussieu.fr), ingénieur de recherche au LPTMC.

3- Lors de votre première connection, changez votre mot de passe. Pour se faire, connectez-vous à l'un des clusters, Ponyo ou Chihiro, et entrez la commande suivante:
passwd
(le mot de passe initial est normalement aqwzsx99 pour tous)
Remarque: le changement de mot de passe sera effectif pour les deux clusters, Ponyo et Chihiro.

4- Une fois que vous êtes connecté à l'un des clusters, vous pouvez naviguer dans les dossiers au moyen de commandes Unix standard, par exemple:
pwd → vous dit dans quel dossier vous êtes actuellement
mkdir DOSSIER → crée un dossier qui s'appelle DOSSIER dans le dossier actuel
cd DOSSIER → vous fait entrer dans le dossier DOSSIER
./FICHIER → exécute le fichier FICHIER
chmod 755 FICHIER → change les permissions du fichier FICHIER
etc.

5- Ci-dessous, un exemple pour copier des fichiers sur les clusters, puis pour faire tourner un code C simple sur l'un des clusters (sans aucune parallélisation):

a- Téléchargez le dossier Cluster_Ponyo/Simple_c disponible sur le cloud du LJP. Supposons qu'il se trouve à un endroit CHEMIN de votre ordinateur.

b- Pour copier le dossier “Simple_c” sur le cluster depuis votre ordinateur, ouvrez un terminal de votre ordinateur et entrez la commande suivante:
scp -r CHEMIN/Simple_c USERNAME@ponyo.lptmc.jussieu.fr:
Tapez votre mot de passe d'accès au cluster puis validez.
Si vous n'êtes pas sur le campus Jussieu, entrez plutôt:
scp -oProxyJump=ljp@134.157.132.110 -r CHEMIN/Simple_c USERNAME@ponyo.lptmc.jussieu.fr:
Tapez le mot de passe du serveur du LJP (le même mot de passe que celui du site du LJP, avec un “!” en plus), validez, tapez votre mot de passe d'accès au cluster puis validez.
Remarque: tous les fichiers copiés sur un cluster sont automatiquement copiés sur l'autre. Ainsi, que vous tapiez ponyo ou chihiro lors de cette étape n'a pas d'importance.

c- Pour vérifier que le dossier Simple_c est bien dans votre dossier sur le cluster, connectez-vous à l'un des clusters, Ponyo ou Chihiro, et exécutez la commande ls. Vous devriez alors voir parmi les résultats “Simple_c”.

d- Placez-vous dans le dossier “Simple_c” et entrez la commande suivante:
cd Simple_c

e- Exécutez le script bash “RunCCode.sh” en entrant la commande suivante:
./RunCCode.sh
Remarque: en cas de problème de permission, donnez la permission d'exécution en tapant par exemple: chmod 755 RunCCode.sh

f- Le code C fourni a normalement été compilé et exécuté, et vous devriez voir un exécutable et des fichiers de résultats apparaître dans le dossier “Simple_c”. Exécutez ls pour regarder cela.

g- Vous pouvez maintenant copier le fichier de résultats du cluster vers votre ordinateur personnel. Pour cela, ouvrez un terminal de votre ordinateur et tapez:
scp -r USERNAME@ponyo.lptmc.jussieu.fr:Simple_c/Times_s0.3_del0.1_K50_popNum1_mut3.00e-02_migr0.00e+00_1.dat .
Si vous n'êtes pas sur le campus Jussieu, entrez plutôt:
scp -oProxyJump=ljp@134.157.132.110 -r USERNAME@ponyo.lptmc.jussieu.fr:Simple_c/Times_s0.3_del0.1_K50_popNum1_mut3.00e-02_migr0.00e+00_1.dat .
N'oubliez pas le point après le nom du fichier que vous souhaitez copier. Vérifiez que le fichier “Times_s0.3_del0.1_K50_popNum1_mut3.00e-02_migr0.00e+00_1.dat” est maintenant apparu dans le dossier home de votre ordinateur personnel.

6- Pour adapter l'exemple ci-dessus à votre code, vous devrez en particulier modifier le fichier CallCCode.sh, qui contient les instructions envoyées au cluster (queue, limite de temps, mémoire demandée, et pour les programmes parallèles, nombre de nœuds et de cœurs demandés).
Pour cela, référez-vous à la page suivante de la documentation officielle du cluster : https://wiki-ponyo.lptmc.jussieu.fr/index.php/Use_of_the_Slurm_batch_system
Sur cette page, vous trouverez les options disponibles pour le script que vous utiliserez pour soumettre un programme au cluster.
Ainsi, il y a 4 “queues” possibles, selon la durée maximale d'exécution de votre programme:
def la queue par défaut pour des jobs de moins de 2h
p24 pour des jobs de moins de 24h
p72 pour des jobs de moins de 72h
p120 pour des jobs de moins de 120h