
Le docking moléculaire sur GPU exige des entrées validées, un moteur identifié et une liste de tâches reproductible. Ce guide décrit les contrôles de préparation et de répartition d’un criblage, puis la mesure des résultats et du coût. Il ne propose pas de lanceur interchangeable entre AutoDock-GPU et les moteurs fondés sur Vina.
Vérifiez la configuration disponible et la compatibilité logicielle avant le lancement. Comparez les résultats à une référence et sauvegardez vos entrées et sorties hors de l’instance.
Pour un déploiement en conteneur, évaluez ces deux options de configuration :
A) Utiliser un modèle CUDA compatible et ajouter les outils de docking
B) Construire une image réutilisable
NVIDIA_VISIBLE_DEVICES=allNVIDIA_DRIVER_CAPABILITIES=compute,utilitySuivez les instructions du fournisseur pour son environnement de conteneurs. Docker imbriqué n’est pas requis pour la procédure décrite ici ; l’accès au GPU dépend de l’environnement hôte et des périphériques attribués.
Disposition du répertoire
Séparez les fichiers du récepteur, les grilles, les ligands et les sorties. Attribuez un identifiant stable et unique à chaque ligand et un nouveau répertoire à chaque exécution ; un ancien résultat ne prouve pas la réussite d’une nouvelle tâche.
Récepteur
Ligands
Choisissez un moteur et fixez sa version avant de construire un lanceur. Exécutez d’abord un petit jeu de référence avec l’exemple du moteur. Vérifiez les poses, les scores, le statut de sortie et les fichiers attendus.
Utilisez un manifeste reliant chaque tâche à son ligand, son récepteur, ses réglages et une sortie unique. Le lanceur doit appeler le moteur réel, attendre toutes les tâches, relever les échecs et vérifier les fichiers avant d’annoncer une réussite. Une fonction vide ne valide pas un lot. Privilégiez l’interface de traitement par lots du moteur si elle remplit ces conditions.
Choisir le nombre de tâches simultanées
nvidia-smi pour mesurer la mémoire et l’utilisation du GPU.Répartissez le manifeste en ensembles de tâches disjoints. Le choix du GPU et la répartition des entrées sont deux opérations distinctes : changer le GPU visible ne change pas les ligands lus.
Avant le lancement, vérifiez que l’union des partitions couvre toutes les tâches prévues et que leurs intersections sont vides, sauf répliques volontaires identifiées séparément. Donnez à chaque processus sa partition et son répertoire de sortie. Vérifiez la numérotation des GPU utilisée par le moteur et l’environnement.
Comparez les identifiants terminés au manifeste. Distinguez les sorties manquantes, dupliquées et échouées ; des répertoires différents n’empêchent pas le calcul en double.
Enregistrez uniquement ce qui compte :
Consignez le moteur, sa version, le manifeste, la préparation, les paramètres de recherche, les graines, le matériel et le temps écoulé. Comptez séparément les tâches tentées, les résultats validés, les échecs et les répliques volontaires.
Coût par 10 000 ligands
Pour un nombre non nul de tâches validées : coût normalisé pour 10 000 = coût total mesuré × 10 000 / nombre de tâches validées. Précisez s’il s’agit de ligands uniques ou de répliques et incluez le coût facturé des échecs.
Indiquez le débit et le coût globaux avec le nombre de GPU et la définition d’une tâche. Expliquez toute ventilation par GPU ; ne combinez pas le prix de l’instance entière avec un dénominateur limité à un GPU.
Mémoire GPU épuisée
Réduisez les tâches simultanées ou choisissez une capacité adaptée. Ne réduisez pas silencieusement l’effort de recherche pour faire tenir le calcul.
Toutes les tâches échouent rapidement
Vérifiez les grilles et les options propres au moteur. Relancez un ligand avec des journaux détaillés et comparez le résultat à une référence validée, avec des réglages équivalents.
Scores ou poses inattendus
Vérifiez la préparation des entrées : protonation, tautomères et charges. Appliquez une préparation cohérente et testez-la sur un petit jeu de référence.
GPU peu utilisé
Mesurez la préparation, le docking et l’écriture avant d’ajouter des processus. Confirmez que le moteur s’exécute réellement et produit des résultats validés.
Conservez ensemble le manifeste des entrées, l’empreinte de l’image, la version du moteur, les arguments, les affectations GPU, les graines, les sorties, les durées et les contrôles. Cette liste n’est pas une configuration exécutable.
Les modèles personnalisés réutilisent une configuration testée. Vérifiez séparément la compatibilité et la capacité disponible. Sauvegardez les données hors de l’instance et consultez les conditions actuelles de redémarrage et de conservation avant l’arrêt.
Choisissez une charge de travail d’IA, de calcul ou de stockage à tester sur Hivenet, ou échangez avec notre équipe sur sa mise en production.