← Back

GPU GROMACS sur cloud (RTX 4090) : démarrage rapide et kit d'auto-évaluation

Tu veux une course propre, pas un terrier à lapins. Ce guide vous propose un chemin copier-coller pour exécuter un système MD de taille moyenne sur un seul RTX 4090, ainsi qu'un petit kit pour générer vos propres chiffres fiables.

Ce que nous allons exécuter

  • Un système protéique solvaté d'environ 120 000 atomes (que vous pouvez échanger vous-même).
  • Une image GROMACS compatible avec CUDA. Les exécutions du GPU utilisent une précision mixte de par leur conception. Les builds en double précision n'utilisent pas l'accélération GPU. GROMACS utilise généralement une précision unique ou une précision mixte pour des performances GPU optimales, et la précision unique est la valeur par défaut pour la plupart des exécutions accélérées par GPU.

Entrées

  • system.tpr (ou générez à partir de vos propres fichiers .mdp, conf.gro, topol.top).

Préparez votre modèle pour les GPU NVIDIA (étapes de l'interface utilisateur)

Dans la plupart des services informatiques, une fois le modèle démarré, vous atterrirez dans le conteneur avec accès au GPU et GMX disponible. L'image du conteneur est déjà configurée avec CUDA et GROMACS pour une utilisation immédiate.

Utilisation de modèles prédéfinis (Ubuntu 24.04 LTS/PyTorch 2.5)

Les instances de calcul sont compatibles avec Espace utilisateur CUDA 12.6 (et JupyterLab). C'est suffisant pour exécuter des applications CUDA ; le pilote hôte est fourni généralement par le fournisseur informatique. Pour GROMACS, vous voulez toujours une version CUDA :

  • Le plus rapide : utilisez le Image GROMACS approchez-vous ci-dessus et enregistrez-le comme votre propre modèle.
  • Si vous choisissez Ubuntu v24.04 LTS (CUDA 12.6) : installez Apptainer et exécutez l'image officielle de GROMACS avec —nv :

sudo apt-get update && sudo apt-get install -y apptainer
apptainer exec --nv docker : //gromacs/gromacs:2024.1 gmx --version
apptainer exec --nv -B $PWD : /work docker : //gromacs/gromacs:2024.1 \
 bash -lc « cd /work && gmx mdrun -deffnm md -nb gpu -pme gpu -update gpu -pin on »

  • Si vous choisissez PyTorch 2.5 (CUDA 12.6) : la même méthode Apptainer fonctionne. Les bibliothèques PyTorch n'entrent pas en conflit avec GROMACS dans un conteneur séparé.

Les instructions d'installation détaillées pour GROMACS et Apptainer sont disponibles dans la documentation officielle de GROMACS.

Conseil : La version CUDA indiquée sur la carte est boîte à outils/environnement d'exécution dans l'image, et non le chauffeur à l'intérieur de votre conteneur. Vérifiez nvidia-smi pour confirmer la visibilité du GPU.

Start in seconds with the fastest, most affordable cloud GPU clusters.

Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Try Compute now

Courez à l'intérieur du conteneur

Vous êtes déjà dans le conteneur GROMACS. Les opérations GROMACS sont exécutées à l'aide de commandes spécifiques, telles que gmx mdrun, qui vous permettent d'adapter les flux de travail à différentes configurations matérielles. Créez un dossier de projet et exécutez :

mkdir -p /work && cd /work
# Si vous avez des entrées brutes, procédez au prétraitement selon un TPR (exemple) :
# gmx grompp -f md.mdp -c conf.gro -p topol.top -o system.tpr

# Exécuter avec des indicateurs de déchargement GPU explicites
gmx mdrun -deffnm md \
 -nb gpu -pme gpu -mise à jour du gpu -pin activé

Le programme mdrun lit le fichier TPR, qui contient la topologie moléculaire et les paramètres de simulation, et génère des fichiers de sortie pour les journaux, les trajectoires et les énergies.

Vérifiez l'utilisation

nvidia-smi # utilisation et mémoire

Vous utilisez votre propre machine ? Utilisez Docker :

docker pull gromacs/gromacs:2024.1
docker run --gpus all -it --rm -v $PWD : /work -w /work gromacs/gromacs:2024.1 bash
# puis exécutez la même commande gmx mdrun dans le conteneur

Option B · Apptainer/Singularité

Si votre politique l'exige :

# Exemple : convertir une image Docker
apptainer build gromacs.sif docker : //gromacs/gromacs:2024.1
apptainer exec --nv gromacs.sif gmx --version
apptainer exec --nv -B $PWD : /work gromacs.sif bash -lc \
 « cd /work && gmx mdrun -deffnm md -nb gpu -pme gpu -update gpu -pin on »

Utilisez votre propre kit de référence

Protocole

  • Système : ~120 000 atomes, PME, 2 fs, LINCS, seuils de coupure de 0,9 nm.
  • Échauffement : 5 000 pas. Mesure : 50 000 pas.
  • Enregistrement : GPU, pilote, CUDA, condensé du conteneur, version GROMACS, modèle/threads du processeur, indicateurs exacts, .mdp.

Ces benchmarks vous permettent d'évaluer et de comparer les performances de différentes configurations de GPU et de processeurs dans les simulations GROMACS.

Tableau (à remplir avec vos chiffres)

Here is the HTML code for the table you provided:
Config GPU CPU threads Flags ns/day Notes
A RTX 4090 4 -nb gpu -pme gpu -update gpu -pin on
B RTX 4090 6 same
C RTX 4090×2 6 -nb gpu -pme gpu (PME split if used)

Lisez vos résultats

  • Si PME domine, essayez quelques threads de processeur supplémentaires ou activez la répartition PME entre les GPU sur les versions appropriées.
  • Watch VRAM : 24 Go permettent de réaliser de nombreuses tâches MD sur un seul système de cette taille.

Le coût par résultat, pas seulement la rapidité

Les scientifiques s'intéressent à coût par ns/jour plus qu'un pic de FPS.

cost_per_ns_day = (prix_horaire × wall_hours)/(ns_per_day × (wall_hours/24))

Plus c'est bas, mieux c'est. Si le coût par résultat est faible, modifiez l'instance ou revoyez les indicateurs.

Validez vos résultats et vos fichiers de sortie

  • Vérification de base. Exécutez un test de processeur court en double précision et comparez-le avec le processeur graphique en précision mixte. Il est essentiel de tester votre configuration sur de courtes séries et de comparer les résultats pour garantir son exactitude et ses performances. Examinez la dérive énergétique, le RMSD, la stabilité de la température/pression ou la métrique spécifique à votre tâche.
  • Déterminisme. Définissez une valeur de départ fixe le cas échéant et réexécutez une courte fenêtre. Une faible variance stochastique est acceptable ; de grandes fluctuations entraînent des problèmes de configuration.
  • Déchargez Sanity. Vérifiez que le journal imprime les noyaux GPU pour NonBonded/PME et qu'aucune étape majeure n'est revenue au processeur.
  • Taille de l'étape et contraintes. Utilisez un pas de temps stable (par exemple, 2 fs avec LINCS). Vérifiez s'il y a des avertissements LINCS ou des défaillances liées aux contraintes.
  • Bloc de méthodes. Remplissez l'extrait de code des méthodes (matériel, CUDA/driver, condensé du conteneur, version du solveur, indicateurs) et conservez-le avec les résultats.

Bons paramètres par défaut et petites modifications

  • La recommandation par défaut est de commencer par 2 à 6 threads par processeur graphique pour la plupart des courses et profils GROMACS.
  • Conservez PME sur le GPU pour les exécutions avec un seul GPU.
  • Utilisez le NVMe local pour le scratch ; écrivez des journaux moins souvent pour éviter les blocages d'E/S.
  • Épinglez CUDA/driver et résumé d'image. Ne mélangez pas.

Résolution des problèmes

Pas de déchargement du GPU
Utilisez une image CUDA et consultez le journal. Vérifiez que nvidia-container-toolkit est actif.

La course ralentit avec le temps
Vérifiez les températures et les horloges avec nvidia-smi. Gardez -update gpu et -pin activés.

À court de mémoire
Réduisez le système, réduisez la taille de la liste de voisins, réduisez les sorties ou passez à un profil VRAM plus grand.

Serveurs de licences pour les outils en aval
Si vous passez ensuite à des solveurs commerciaux, connectez-vous via VPN/SSH et corrigez les ports FlexNet.

Extrait de méthodes (remplir et coller)

matériel :
 processeur graphique : « RTX 4090 (24 Go) »
 chauffeur : « <driver>»
 cuda : « 12.x »
 processeur : « <model/threads used> »
logiciel :
 <digest>conteneur : « docker : //gromacs/gromacs:2024.1 @sha256 : »
 solveur : « gromacs 2024.1 (version CUDA) »
entrées :
 tpr : « system.tpr »
courir :
 cmd : « gmx mdrun -deffnm md -nb gpu -pme gpu -update gpu -pin on »
sorties :
 performance : « <ns/day> »
 <HH:MM:SS>horloge murale : « »

Lecture associée

Essayez Compute dès aujourd'hui

Démarrez une instance GPU avec un modèle compatible CUDA (par exemple, Ubuntu 24.04 LTS/CUDA 12.6) ou votre propre image GROMACS. Profitez d'une facturation flexible à la seconde avec modèles personnalisés et la possibilité de démarrer, d'arrêter et de reprendre vos sessions à tout moment. Vous n'êtes pas sûr des exigences du FP64 ? Contactez le support pour vous aider à sélectionner le profil matériel le mieux adapté à vos besoins informatiques.

← Back