CIP101 - Premiers pas sur les serveurs de calculs
Présenté par Moïra Dion le 18 février 2025
Nos membres et
partenaires
Partenaires connectivité
Partenaires financiers
2
Formations à venir
Consultez notre page
pour découvrir nos prochains ateliers.
3
Zoom
4
Objectifs
5
Déroulement
6
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
7
Calcul informatique de pointe
Exemples
8
Calcul informatique de pointe
Si votre ordinateur…
…c’est peut-être le temps de passer à un serveur de calcul !
9
Comparaison
avec un ordinateur de bureau
| Votre ordinateur | Nœud de calcul | Grappe �de calcul |
Coeurs | 2 à 12 | 24 à 64 | ~ 75,000 |
Mémoire | 4 à 32 Go | 128 Go à 3 To | ~ 350 To |
Réseautique | 1 Go/s | 100 Go/s | |
Stockage | 1 To HDD / 512 Go SSD | 960 Go SSD | ~ 30 Po Lustre |
Carte graphique | GPU de jeu vidéo�(8 Go) | 4 NVidia A100 (40 Go) | ~ 700 GPU |
Accessibilité | accès direct | Fil d’attente | |
OS | Windows, MacOS, Linux | Linux | |
10
Composantes d’un nœud
Images: Supermicro et Wikimedia
PCIe pour Infiniband et GPU
2 (ou 4) CPU
Un SSD (parfois NVMe)
Plein de barrettes de mémoire vive par CPU
11
Grappe de calcul
12
L’accès aux supercalculateurs canadiens est gratuit pour la communauté de recherche académique.
Supercalculateur
Serveur
Grappe de calcul
Superordinateur
14
Calcul Québec c’est
une équipe de 70 expertes et experts, réparties dans une dizaine d'universités québécoises
6300 utilisateurs et utilisatrices dans 1500 groupes de recherche
60 ateliers de formation annuels
550 utilisateurs et utilisatrices qui complètent annuellement un diplôme universitaire ou un stage postdoctoral
1600 publications scientifiques annuelles qui mentionnent avoir utilisé nos services
15
Nos services
Grappes de calcul
Infonuagique
Soutien personnalisé
Stockage
Notebooks
Formation
Documentation
Ordinateur quantique
16
17
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
18
Demander l’accès
19
Créer un compte - professeur
20
Créer un compte - étudiant
21
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
22
Quelle grappe choisir?
Une note sur le wiki de l’Alliance
23
Se connecter à une grappe
ssh user@server.alliancecan.ca
Le mot de passe n’apparaîtra pas à l’écran �(même pas des astérisques)
24
Authentification multifacteur
25
26
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
27
Transférer des données
28
Où stocker vos données ?
Nom | Taille (défaut) | Utilisation |
Home | 50 Go, 500 K fichiers | Code / Données peu volumineuses (faible performance) |
Scratch | 20 To, 1M fichiers | Stockage temporaire (pas de fichiers précieux !) (2 mois) |
Project | 1 To, 500 K fichiers | Données volumineuses / Données partagées |
Nearline | 1 To, 5000 fichiers | Données archivées |
$SLURM_TMPDIR | 960 Go | Stockage local (Meilleure performance) |
29
Vérifier l’utilisation de l’espace disque
30
Accès à la grappe
Navigateur: cip101.calculquebec.cloud
userXX où XX = [001-050]
Voir la feuille avec les noms
31
Exercice 1
32
Charger des logiciels
33
Commandes module
module spider <mot clé> # recherche
module avail <module> # disponible
module load <module> # charger un module
module unload <module> # décharger
module list # afficher les modules activés
module purge # Revenir à l’état d’origine
34
Page des logiciels disponibles
35
Exercice 2
36
Le cas des logiciels Python
37
Exercice 3
Indice : vous devez aller lire la documentation :)
38
Les environnements Python
39
Les environnements Python
module load python/3.8 #charge python
virtualenv env --no-download #crée l’env virtuel
source env/bin/activate #active l’env
pip install --no-index seaborn==0.13 #installe les paquets
deactivate #quitte l’env
Nous vous demandons de ne pas utiliser conda
40
Installer des logiciels
41
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
42
Architecture des grappes
ssh moi@...
Stockage
home
project
scratch
Internet
Noeud de connexion
Ethernet
Infiniband
Ordonnanceur
Job
Job
Noeuds de calcul
Les tâches ne doivent pas être exécutées sur les noeuds de connexion
43
L’ordonnanceur
Programme qui gère :
44
L’ordonnanceur
Ressources
Temps
Priorité
Tâches
45
Limites de ressources
Toutes les grappes ont des limites de ressources
Cœurs par nœud | 32 à 64 |
Mémoire par nœud | 96 Go à 4 To |
Durée maximale des tâches | de 1 à 28 jours |
GPU par nœud | 2 à 8 (4 pour la plupart) |
Vitesse du réseau | 100 Gb/s |
46
Script de soumission de tâches
Interpréteur | #!/bin/bash |
Ressources à utiliser [valeur de défaut] | #SBATCH --nodes=1 [1] #SBATCH --cpus-per-task=1 [1] #SBATCH --mem-per-cpu=1G [256M] #SBATCH --time=3:00:00 [1:00:00] |
Allocation | #SBATCH --account=def-<sponsor> |
Commandes | module load python/3.11 python script.py file1.dat |
47
Commandes utiles
Action | Commande | Retourne |
Soumettre une tâche | sbatch <script.sh> | Numéro de la tâche |
Afficher les tâches | squeue -u $USER | Liste de tâches |
Annuler une tâche | scancel <jobid> | N/A |
Statistique d’une tâche | seff <jobid> | Efficacité du calcul |
48
Exercice 4
1) Allez dans: ~/cip101-exercices-main/python/01-version
2) Utilisez un éditeur de texte, par exemple nano, pour éditer le script:
nano script.sh
3) Demandez 1 cœur et 256 MB de mémoire pendant une minute
4) Charger la dernière version de Python et exécutez la commande:
python --version
5) Soumettez le script.
6) Où se trouve le résultat de la commande?
7) Le calcul a-t-il été efficace ?
49
Tâches en série et parallèles
Tâches en série: Ces tâches utilisent un seul cœur (CPU) sur un seul nœud. Ça ne sert à rien de demander plus de ressources de calcul parce que cela n’augmentera pas la vitesse: le logiciel ne peut que s’exécuter sur un seul cœur.
Tâches parallèles: �Utilisent plusieurs cœurs, potentiellement sur plusieurs nœuds. Il y en a deux types:
50
Parallélisme des données
Les données d’entrées et les résultats sont indépendants les uns des autres!
51
Parallélisme des données
Exemple : construire un quartier de 6 maisons identiques
52
Parallélisme des tâches
Nécessite de la communication et de la synchronisation entre les processus de calcul
53
Parallélisme des tâches
Exemple : construire un quartier de 6 maisons identiques
54
Bonus: usage interactif
Les tâches batch (sbatch) sont les tâches qui utilisent le plus efficacement les ressources des grappes et doivent être privilégiées.
55
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
56
Des problèmes d’exécution?
57
Parcours de l’usager type
Réaliser qu’on �a besoin de �Calcul Québec
Créer un compte
Accéder au compte
Transférer, installer, configurer
Exécuter �une tâche
Rencontrer �un problème
Récupérer �les résultats
58
Transférer des données (rappel)
59
Formations qui pourraient vous intéresser
Mercredi 5 mars 10h
Mercredi 26 mars 9h
Mercredi 12 mars 10h
Sondage de satisfaction
Nous vous remercions de prendre quelques minutes pour nous partager vos impressions au sujet de cette formation.
61
Restons en contact!
Pour recevoir l’information liée à nos services et activités, vous pouvez:
62
Questions ?
Merci de votre participation !