Exécution d’Ansys Electronic Desktop 2022 R1 au moyen du programmateur de tâches LSF (ligne de commande, sans interface graphique).
Vous retrouverez de plus amples informations à propos du programmateur de tâches LSF (Load Share Facility) ici.
Vous pouvez afficher les nœuds de grappe de calcul de CAO de CMC en tapant lshosts à l’invite de commande, comme présenté à la figure 1. Vous apercevrez quatre nœuds de connexion (uwlogin*), deux nœuds de gestion (uwlsfm*; 8 cœurs et 63 Go chacun) et huit nœuds de calcul dans la liste (uwmhpc*; 32 cœurs et des centaines de Go).
Figure 1 : Nœuds dans la grappe de calcul de CAO
Lorsque vous exécutez une simulation sur la grappe, vous soumettez votre demande de simulation dans une file d’attente LSF. Cette étape est commune à tous les logiciels CAO de la grappe de CMC (Ansys, COMSOL, Xilinx, etc.). Le programmateur de tâches tentera d’affecter le matériel (cœurs de processeur et mémoire vive) souhaité pour l’exécution de la simulation, limité à 32 cœurs. Cette limite a été établie par le personnel informatique de CMC afin de prévenir les abus de privilèges pour la grappe.
Figure 2 : Diagramme de bloc d’une opération de la grappe
Utilisez la commande bqueues pour connaître les noms des files d’attente. La lettre « b » de la commande bqueues indique que ces files d’attente exécutent les simulations par lot (ou en mode par lot). Toute commande préfixée de la lettre « b » indique également que LSF sera en mesure de reconnaître que la commande lui est destinée.
Figure 3 : Files d’attente dans la grappe de calcul de CAO
Sommaire : Il est possible d’exécuter le logiciel Ansys Electronics Desktop (EDT) en créant un script contenant toutes les commandes à transmettre à Ansys, puis de soumettre ce script au programmateur de tâches LSF.
Voici les étapes qui ont été testées dans la grappe afin d’en présenter le fonctionnement.
Pour ces instructions, un projet préparé fourni par le personnel d’Ansys a été utilisé (filtre passe-bande nommé bp_filter.aedt). Vous y retrouverez une liste d’exemples inclus avec votre installation d’Ansys EDT.
- Connectez-vous au cluster en utilisant l’une des instances de VCAD Cloud appelée CAD Compute Cluster.
- Saisissez module load ansys dans votre fenêtre de terminal. Ceci liera la version par défaut d’Ansys au planificateur de tâches LSF. Vous pouvez choisir une autre version si vous le souhaitez.
- Tapez module list pour confirmer que le logiciel a été lié à LSF.
- Utilisez la commande mpitest pour vérifier le fonctionnement du logiciel MPI (Message Passing Interface). Si vous souhaitez en savoir plus sur le rôle de MPI dans la simulation, vous trouverez ces informations dans les fichiers d’aide d’Ansys.
Figure 4 : Sommaire des commandes de configuration pour exécuter Ansys 2022 R1
- Utilisez l’utilitaire setsshkey de CMC sous /home/scripts pour générer un code de déverrouillage SSH.
Cette étape devra être réalisée une seule fois, lorsque vous configurez votre espace de travail dans la grappe. À des fins de simplicité, n’utilisez pas de mot de passe et conservez les résultats à l’emplacement par défaut. Il s’agit normalement de votre répertoire personnel dans un nœud de connexion à la grappe.
Figure 5 : Génération d’un code passe-partout pour chaque nœud au moyen d’un script
- Créez un fichier de configuration pour entrer une soumission LSF par lot (bsub) et les commandes Ansys par lot.
Consultez l’annexe pour un exemple (my_ansys_hfss.sh). - Téléversez vos fichiers de projet dans votre répertoire de travail. Les instructions sont fournies pour l’utilisation de MobaXterm pour un transfert de fichier sécurisé (sftp) sur les pages de la grappe.
- Téléversez votre fichier de configuration (par exemple « my_ansys_hfss.sh ») dans le même répertoire.
Assurez-vous que le corps de votre fichier de configuration ne contient pas des caractères d’éditeur Windows superflus (par exemple, un retour de chariot). - Utilisez la commande bsub < my_ansys_hfss.sh à l’invite pour lancer la simulation.
- Une fois les simulations terminées, téléchargez vos résultats sur votre ordinateur local pour les consulter.
Au cours des exécutions de simulation, utilisez des commandes (par exemple bjobs -l et bhosts) pour le suivi de la progression de votre simulation. Par exemple :
~$ bjobs -l
… ou
~$ bhosts
Annexe A
Il s’agit d’un exemple de script qui utilise Ansys 2022 R2 pour les simulations par lots.
Tout texte après un simple # est visible par le planificateur de tâches LSF et sera lu comme une commande possible par LSF. Tout texte après ## est traité comme un commentaire à la fois par LSF et par le logiciel Ansys.
## Il s’agit d’un commentaire pour LSF et Ansys.
Si vous utilisez cet exemple comme modèle, insérez le nom de l’utilisateur du cluster CMC qui vous a été attribué à la place de *nom_utilisateur* ci-dessous. Ce nom est généralement un numéro à 5 chiffres.
——————————————————————————————
#!/usr/bin/env sh
## Sets the Linux shell to Bash
## Commands to be read by LSF start with #BSUB
## — Name of the job —
#BSUB -J ansys_HFSS_example
## — specify queue from the bqueues list —
#BSUB -q adept
## — specify the number of processors to a maximum of 32 —
#BSUB -n 32
## — Specify the output and error files written by LSF. %J is the job ID —
## — -o and -e mean append, -oo and-eo mean overwrite —
#BSUB -oo BPFilter_%J.out
#BSUB -eo BPFilter_%J.err
## — example of an Ansys command line call —
/CMC/tools/ansys/ansys.2022r2/AnsysEM22.2/v222/Linux64/ansysedt -distributed -machinelist numcores=32 -auto NumDistributedVariations=1 -monitor -ng -batchoptions registry.txt -batchsolve /home/*user_name*/bp_filter.aedt
——————————————————————————————
Le fichier registry.txt inclus dans l’appel de ligne de commande ci-dessus contient une référence directe à la fonction de licence anshpc appelée « pool ». L’utilisation d’un fichier de registre est décrite dans les fichiers d’aide d’Ansys.
Remarque : ce fichier contient également une variable de répertoire « /scratch ». A chaque itération d’une solution, Ansys crée des fichiers temporaires dans lesquels il stocke des données après avoir terminé une série de calculs. Ces données deviennent le point de départ de la série de calculs suivante, et ainsi de suite, jusqu’à ce qu’une solution soit trouvée. Ces fichiers sont écrasés par des données fraîches à chaque fois, et ils peuvent être assez volumineux, c’est pourquoi un disque scratch est fourni sur le cluster pour cette activité.
Voici une copie du contenu du fichier de registre de l’exemple.
——————————————————————————————
$begin ‘Config’
‘HPCLicenseType’=‘pool’
‘TempDirectory’=’/scratch/*user_name*@cmc’
## — include other desired registry entries here —
$end ‘Config’
——————————————————————————————