Περιγραφή¶
ANSYS Fluent software is the most-powerful computational fluid dynamics (CFD) tool available, empowering you to go further and faster as you optimize your product's performance. Fluent includes well-validated physical modeling capabilities to deliver fast, accurate results across the widest range of CFD and multiphysics applications.
Διαχείριση αδειών
Το πανεπιστήμιο διαθέτει συγκεκριμένο αριθμό αδειών για τη χρήση του Ansys, επισκόπηση των οποίων μπορεί να γίνει από ένα login node (aristotle.it.auth.gr
) μέσω της εντολής:
# module load ansys
# $ANSYS_ROOT/../shared_files/licensing/linx64/lmutil lmstat -c 1055@ansys.it.auth.gr -f anshpc
Σε αρκετές περιπτώσεις και ιδιαίτερα όταν οι εργασίες που υποβάλλονται απαιτούν πολλούς πόρους (nodes και cores), καθώς ο scheduler (slurm) δεν λαμβάνει υπόψιν τις διαθέσιμες άδειες λογισμικού ενδέχεται μία εργασία να τερματίσει απροσδόκητα λόγω μην επαρκών αδειών anshpc
στο license server.
Μια λύση για τη παράκαμψη της συγκεκριμένης ιδιαιτερότητας είναι η χρήση της μεταβλητής #SBATCH --licenses=ansys@ansys.it.auth.gr:X
όπου μπορεί να οριστεί και ο απαιτούμενος αριθμός αδειών X
που επιθυμούμε για να την εργασία που θέλουμε να υποβάλουμε. Ο αριθμός αυτός υπολογίζεται εαν εκτιμήσουμε τον συνολικό αριθμό των πυρήνων (nodes*tasks_per_node
) που ζητάμε απο την εργασία και αφαιρέσουμε τους 4 πυρήνες για τους οποίους δεν χρεώνει ο license manager καμία άδεια.
Παράδειγμα
Για ένα job με τις παρακάτω ρυθμίσεις:
#SBATCH --ntasks-per-node=16
#SBATCH --nodes=2
2*16-4=28
,
τον οποιο και ορίζουμε με την παρακάτω μεταβλητή:
#SBATCH --licenses=ansys@ansys.it.auth.gr:28
ANSYS Fluent 2021R1¶
Παλαιότερες εκδόσεις
Για να χρησιμοποιήσετε κάποια παλιότερη έκδοση του ANSYS Fluent θα χρειαστεί να τροποποιήσετε
στα παρακάτω την module load
εντολή κατάλληλα (π.χ. module load ansys/2019R3
για την
έκδοση 2019R3
κοκ)
Παράδειγμα χρήσης¶
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας.
# mkdir FLUENT-2021R1-case
# cd FLUENT-2021R1-case
Μέσα στο φάκελο τοποθετούμε τα αρχεία εισόδου elbow_journal.in και elbow0.cas.gz.
Το script που θα χρησιμοποιήσουμε εμφανίζεται παρακάτω:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=FLUENT-2021R1-case
#SBATCH --partition=batch
#SBATCH --ntasks-per-node=20
#SBATCH --nodes=1
#SBATCH --licenses=ansys@ansys.it.auth.gr:16
#SBATCH --time=1:00:00
module load ansys/2021R1
fluent 3ddp -g -ssh -t$SLURM_NTASKS -i elbow_journal.in
Αποθηκεύουμε τα περιεχόμενα σε ένα νέο αρχείο (έστω FLUENT-2021R1-case.sh
) και το υποβάλλουμε προς εκτέλεση με την εντολή:
# sbatch FLUENT-2021R1-case.sh
Παρακολουθούμε με squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f *.out
Εργασίες Fluent σε περισσότερα από ένα nodes¶
Για την εκτέλεση εργασιών Fluent
σε περισσότερα του ενός nodes, θα χρειαστεί να εφαρμόσουμε ορισμένες τροποποιήσεις στο script υποβολής, δημιουργώντας και ένα hostfile
όπου ορίζονται τα hostnames
των nodes όπου θα τρέξει το λογισμικό. Αποθηκεύουμε τα περιεχόμενα σε ένα νέο αρχείο (έστω FLUENT-2021R1-distributed-case.sh
).
SLURM submission script
#!/bin/bash
#SBATCH --job-name=FLUENT-2021R1-case
#SBATCH --ntasks-per-node=20
#SBATCH --nodes=2
#SBATCH --licenses=ansys@ansys.it.auth.gr:36
#SBATCH --time=30:00
module load ansys/2021R1
#CREATE HOSTFILE
srun hostname > ${SLURM_JOBID}.hostfile
#RUN FLUENT
fluent 3ddp -g -ssh -t $SLURM_NTASKS -cnf=${SLURM_JOBID}.hostfile -i elbow_journal.in
#AS SOON AS RUN IS COMPLETE, DELETE HOSTFILE
rm -f ${SLURM_JOBID}.hostfile
Εργασίες Fluent σε GPU node¶
Για την εκτέλεση εργασιών Fluent
σε GPU
, θα χρειαστεί να εφαρμόσουμε ορισμένες τροποποιήσεις στο joural αρχείο, για την επιλογή της GPU
που θα χρησιμοποιηθεί. Για το συγκεκριμένο παράδειγμα μπορούμε να χρησιμοποιήσουμε το παρακάτω journal file:
Fluent GPU journal
parallel/gpgpu/select 0
parallel/gpgpu/show
rc elbow0.cas.gz
solve/set/amg-options/amg-gpgpu-options/epsilon
yes
0.1
"FGMRES"
20
4
1
1
"JACOBI"
it 150
wd elbow150.dat
exit
yes
Επιπλέον, για να επιλέξουμε να εκτελεστεί η εργασία σε ένα GPU node
, θα πρέπει να τροποποιήσουμε το script υποβολής, όπως φαίνεται παρακάτω:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=FLUENT-2021R1-case
#SBATCH --partition=gpu
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --time=1:00:00
module load ansys/2021R1
time fluent 3ddp -g -gpgpu=1 -i elbow_journal_gpu.in
Γραφικό Περιβάλλον¶
Για να χρησιμοποιήσουμε το γραφικό περιβάλλον του Ansys
στην συστοιχία μπορούμε να επισκεφτούμε με έναν browser την σελίδα: https://hpc.auth.gr και να ακολουθήσουμε τα παρακάτω βήματα:
-
Από το menu επιλέγουμε
Interactive Apps
->ANSYS Workbench
-
Στην συνέχεια επιλέγουμε στην φόρμα την έκδοση του
Ansys
, το χρονικό διάστημα (σε ώρες) και τον αριθμό τωνCPU cores
που θέλουμε να χρησιμοποιήσουμε: -
Eφόσον η εργασία ξεκινήσει, μπορούμε να επιλέξουμε
Launch ANSYS Workbench
. -
Αφού ανοίξουμε το
Workbench
, μπορούμε να επιλέξουμε τοFluent
από τοToolbox
menu με drag and drop στοProject Schematic
. -
Με double clik στην επιλογή
setup
θα ξεκινήσει τοFluent Launcher
. Σε περίπτωση που επιλέξουμεParallel
processing, ο αριθμός τωνSolver Processes
θα πρέπει να συμφωνεί με τον αριθμό των αριθμό τωνCPU cores
που έχουμε καθορίσει στο βήμα 2.