Documentation NOVA
Introduction
Bienvenue dans la documentation de NOVA, la plateforme de calcul haute performance (HPC) de notre université. Cette documentation vous guidera à travers toutes les étapes nécessaires pour utiliser efficacement nos ressources de calcul pour vos projets de recherche.
NOVA est conçu pour supporter une large variété de charges de travail scientifiques, de la simulation numérique à l'apprentissage automatique, en passant par l'analyse de données massives.
Guides Pratiques
Des tutoriels pas à pas pour maîtriser toutes les fonctionnalités de NOVA
Exemples de Code
Scripts et exemples prêts à l'emploi pour vos différents cas d'usage
Optimisation
Conseils pour maximiser les performances de vos calculs
Prérequis
Avant de commencer à utiliser NOVA, assurez-vous de disposer des éléments suivants :
- Un compte NOVA actif (obtenu via le formulaire d'inscription)
- Un client SSH installé sur votre machine (OpenSSH, PuTTY, MobaXterm, etc.)
- Connaissances de base en ligne de commande Linux/Unix
- Familiarité avec le langage de programmation de votre choix (Python, R, C++, etc.)
Première Connexion
1. Connexion SSH
Pour vous connecter à NOVA, utilisez la commande SSH suivante :
ssh votre_login@nova.universite.fr
Lors de votre première connexion, vous serez invité à configurer votre mot de passe et l'authentification à deux facteurs.
2. Exploration de votre Espace
Une fois connecté, vous aurez accès à plusieurs répertoires :
| Répertoire | Chemin | Usage | Quota |
|---|---|---|---|
| Home | /home/votre_login | Fichiers personnels, configurations | 50 GB |
| Scratch | /scratch/votre_login | Stockage temporaire haute performance | 5 TB |
| Projects | /projects/nom_projet | Données partagées de projet | Variable |
3. Configuration de l'Environnement
Chargez les modules nécessaires pour votre travail :
# Lister les modules disponibles module avail # Charger un module module load python/3.11 # Vérifier les modules chargés module list
Soumettre un Job
NOVA utilise le gestionnaire de jobs SLURM. Voici comment soumettre votre premier job.
Script SLURM Basique
Créez un fichier mon_job.sh :
#!/bin/bash #SBATCH --job-name=mon_premier_job #SBATCH --output=resultat_%j.out #SBATCH --error=erreur_%j.err #SBATCH --time=01:00:00 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=4 #SBATCH --mem=8G # Charger les modules nécessaires module load python/3.11 # Exécuter votre code python mon_script.py
Soumettre le Job
# Soumettre le job sbatch mon_job.sh # Vérifier le statut squeue -u votre_login # Annuler un job scancel ID_DU_JOB
Jobs GPU
Pour utiliser des GPUs, ajoutez ces directives à votre script :
#SBATCH --partition=gpu #SBATCH --gres=gpu:1 #SBATCH --mem=16G
Gestion des Fichiers
Transfert de Fichiers
Plusieurs méthodes pour transférer vos fichiers :
# SCP (du local vers NOVA) scp fichier.txt votre_login@nova.universite.fr:/home/votre_login/ # SCP (de NOVA vers local) scp votre_login@nova.universite.fr:/home/votre_login/resultat.txt ./ # RSYNC (pour transferts volumineux) rsync -avz --progress mon_dossier/ votre_login@nova.universite.fr:/scratch/votre_login/
Outils Graphiques
Pour une interface graphique, vous pouvez utiliser :
- FileZilla - Client SFTP multiplateforme
- WinSCP - Pour Windows
- Cyberduck - Pour macOS
Environnements de Développement
Environnements Python
# Créer un environnement virtuel module load python/3.11 python -m venv mon_env # Activer l'environnement source mon_env/bin/activate # Installer des packages pip install numpy pandas tensorflow # Désactiver deactivate
Conda
# Charger Anaconda module load anaconda3 # Créer un environnement conda create -n mon_projet python=3.11 # Activer conda activate mon_projet # Installer des packages conda install pytorch torchvision -c pytorch
Optimisation des Performances
Parallélisation
Profitez de la puissance de NOVA en parallélisant vos calculs :
# Exemple avec multiprocessing
from multiprocessing import Pool
import numpy as np
def calcul_intensif(x):
return np.sum(x ** 2)
if __name__ == '__main__':
data = [np.random.rand(1000000) for _ in range(100)]
with Pool(processes=16) as pool:
resultats = pool.map(calcul_intensif, data)
Profilage
Identifiez les goulots d'étranglement de votre code :
# Profiler Python python -m cProfile -o profile.stats mon_script.py # Visualiser les résultats python -m pstats profile.stats
Spécifications Techniques
| Composant | Spécification |
|---|---|
| Nœuds de Calcul | 128 nœuds avec processeurs Intel Xeon ou AMD EPYC |
| Cœurs Total | 10,240 cœurs de calcul |
| Mémoire Totale | 82 TB de RAM |
| GPUs | 64 GPUs NVIDIA A100 (40GB) et H100 (80GB) |
| Stockage | 500 TB sur système de fichiers parallèle Lustre |
| Réseau | InfiniBand HDR 200 Gb/s |
| Système d'Exploitation | Rocky Linux 8 |
Logiciels Disponibles
Langages
Python 3.8-3.12, R 4.x, Julia, C/C++, Fortran
IA & ML
TensorFlow, PyTorch, JAX, scikit-learn, XGBoost
Analyse de Données
Pandas, NumPy, SciPy, MATLAB, Mathematica
Sciences
GROMACS, LAMMPS, Quantum ESPRESSO, OpenFOAM
Visualisation
ParaView, VisIt, Matplotlib, Plotly
Outils
Git, Docker, Singularity, Jupyter, VSCode
Pour voir la liste complète et les versions disponibles, utilisez la commande module avail
une fois connecté à NOVA.
Limites et Quotas
| Ressource | Limite par Défaut | Maximum |
|---|---|---|
| Jobs Simultanés | 10 | 50 |
| Durée Maximale (CPU) | 72 heures | 168 heures |
| Durée Maximale (GPU) | 48 heures | 120 heures |
| Cœurs par Job | 128 | 512 |
| GPUs par Job | 4 | 8 |
| Mémoire par Cœur | 4 GB | 8 GB |
Foire Aux Questions (FAQ)
quota -s pour voir vos quotas de stockage.
Pour voir vos heures de calcul consommées, utilisez sacct --format=User,Account,JobID,JobName,CPUTime.
squeue -u votre_login pour voir la raison de l'attente.
Les jobs GPU et ceux demandant beaucoup de ressources peuvent avoir des temps d'attente plus longs.
Contact et Support
Support Technique
Email : support@nova.universite.fr
Temps de réponse : 24-48h
Chat en Direct
Lun-Ven : 9h-17h
Accédez au chat depuis votre tableau de bord
Consultations
Rendez-vous personnalisés pour l'optimisation de code
Réservez sur notre calendrier en ligne