Μετάβαση στο περιεχόμενο

Εγκατάσταση του λογισμικού ANSYS

Το ANSYS αποτελεί ένα από τα πλέον διαδεδομένα λογισμικά προσομοίωσης μηχανικής, το οποίο χρησιμοποιείται για την ανάλυση και την πρόβλεψη της συμπεριφοράς και της απόδοσης προϊόντων σε πραγματικές συνθήκες. Καλύπτει ένα ευρύ φάσμα εφαρμογών της φυσικής, όπως η ανάλυση κατασκευών, η μηχανική ρευστών (CFD), τα ηλεκτρονικά και τα οπτικά συστήματα. Μέσω της χρήσης εικονικών δοκιμών, το ANSYS δίνει τη δυνατότητα σε επιχειρήσεις και μηχανικούς να επιταχύνουν την καινοτομία, να μειώσουν το κόστος ανάπτυξης και να βελτιώσουν την αξιοπιστία των προϊόντων τους. Το λογισμικό βρίσκει εφαρμογή σε πολλούς κλάδους, όπως η αεροδιαστημική, η αυτοκινητοβιομηχανία και η υγειονομική περίθαλψη, αντικαθιστώντας σε μεγάλο βαθμό την ανάγκη για φυσικά πρωτότυπα.

Για περισσότερες πληροφορίες σχετικά με το λογισμικό, επισκεφθείτε την επίσημη ιστοσελίδα.

Σύνδεση στο Nefeli Cluster

Πριν από οποιαδήποτε ενέργεια, ο χρήστης πρέπει να έχει συνδεθεί επιτυχώς στο Nefeli cluster. Οι οδηγίες σύνδεσης παρέχονται στο ακόλουθο εγχειρίδιο.

Διαχείριση αδειών

Το πανεπιστήμιο διαθέτει συγκεκριμένο αριθμό αδειών για τη χρήση του Ansys, επισκόπηση των οποίων μπορεί να γίνει από ένα login node (username@nefeli-slurm-login-001 ~) μέσω της εντολής:

  module load ansys
  lmutil lmstat -c 1055@ansys.it.auth.gr -f anshpc

ANSYS FLUENT 2025R2

Παράδειγμα χρήσης

Στο $HOME μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας.

  mkdir FLUENT-2025R2-Nefeli
  cd FLUENT-2025R2-Nefeli

Για την επιτυχή μεταφορά τους στο login node του Nefeli cluster, χρησιμοποιήσουμε την εντολή gcloud compute scp όπως φαίνεται παρακάτω:

Transfer files to Nefeli login node

  gcloud beta compute scp --recurse <directory-name> nefeli-slurm-login-001:/home/<username>

Μέσα στο φάκελο τοποθετούμε τα αρχεία εισόδου μας, έστω elbow_journal.jou και elbow0.cas.gz.

Το script που θα χρησιμοποιήσουμε εμφανίζεται παρακάτω:

SLURM submission script
#!/bin/bash
#SBATCH --job-name=FLUENT-2025R2-Nefeli
#SBATCH --partition=highcpu
#SBATCH --ntasks-per-node=4
#SBATCH --nodes=1
#SBATCH --time=1:00:00

module load ansys/2025R2

fluent 3ddp -g -ssh -t$SLURM_NTASKS -i elbow_journal.jou

Αποθηκεύουμε τα περιεχόμενα σε ένα νέο αρχείο, έστω (FLUENT-2025R2-Nefeli.sh) και το υποβάλλουμε προς εκτέλεση με την εντολή:

  sbatch FLUENT-2025R2-Nefeli.sh

Παρακολουθούμε με squeue την εξέλιξη της εργασίας.

Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:

  tail -f *.out

Εργασίες σε Partition για jobs με χρήση GPU

Για την εκτέλεση εργασιών, έστω Fluent σε partitions για jobs με χρήση GPU, μπορούμε να χρησιμοποιήσουμε το αρχείο εισόδου pipe.cas.h5 και το παρακάτω journal file pipe_journal_gpu.jou:

Fluent GPU journal
parallel/gpgpu/select 0
parallel/gpgpu/show
rc pipe.cas.h5
it 150 
wd pipe.dat.h5 
exit yes

Επιπλέον, για να επιλέξουμε να εκτελεστεί η εργασία σε ένα GPU node, θα πρέπει να τροποποιήσουμε το script υποβολής FLUENT-2025R2-Nefeli-gpu.sh, όπως φαίνεται παρακάτω:

SLURM submission script
#!/bin/bash
#SBATCH --job-name=ANSYS-FLUENT-2025R2-GPU
#SBATCH --partition=a100
#SBATCH --ntasks-per-node=1
#SBATCH --nodes=1
#SBATCH --gpus=1
#SBATCH --time=01:00:00

module load ansys/2025R2  

# gpgpu should match the number of GPUs requested
time fluent 3ddp -g -gpu=0 -ssh -i pipe_journal_gpu.jou

ΠΡΟΣΟΧΗ

Στο παραπάνω παράδειγμα, το Fluent εκτιμά σωστά τον αριθμό των δεσμευμένων GPU και τις χρησιμοποιεί όλες. Αν διαπιστώσετε ότι αυτό δεν συμβαίνει στην εργασία σας, μπορείτε να αντικαταστήσετε το flag -gpu στην τελευταία εντολή με ένα από τα εξής:

  • -gpu=0,1,2,3, δίνοντας τα ID των GPU που θα χρησιμοποιηθούν. Η αρίθμηση αναμένεται να ξεκινά από το 0 και να αυξάνεται κατά 1, όμως καλό είναι να επιβεβαιώσουμε τα ID προσθέτοντας στο journal την γραμμή parallel/gpgpu/show.
  • -t4 -gpgpu=4-t$SLURM_GPUS -gpgpu=$SLURM_GPUS, χρησιμοποιώντας την αντίστοιχη παράμετρο slurm). Προσοχή, τα flag -t και -gpgpu χρειάζονται υποχρεωτικά τον αριθμό των GPU, αλλιώς θα χρησιμοποιηθεί μόνο μία.

Σε κάθε περίπτωση, προκειμένου να αποφευχθεί η σπατάλη πόρων, προτείνεται πριν στείλετε κάποιο μεγάλο job να στείλετε μια μικρή δοκιμαστική εργασία για να ελέγξετε την χρήση των GPU με την βοήθεια της εντολής nvidia-smi όπως περιγράφεται στο Ερώτημα 14 του FAQ.