การใช้งานโปรแกรม Ansys
ขั้นตอนการรันโปรแกรม Ansys จะมี 2 ขั้นตอนหลัก คือ
1. การทำ passwordless
ทำครั้งแรกครั้งเดียว หากไม่ทำจะไม่สามารถรันงานได้
การรันโปรแกรม Ansys บนระบบ TARA ครั้งแรก จะต้องทำ passwordless สำหรับการเข้าใช้งานเครื่อง computing units (ตัวอย่างเช่น compute nodes, memory nodes) บนระบบ TARA โดยสามารถทำตามขั้นตอนด้านล่าง ดังนี้
1.1 ที่เครื่อง TARA frontend node ทำการสร้าง key สำหรับ login เข้าใช้ TARA computing units โดยใช้คำสั่ง
$ ssh-keygen -t rsa -b 4096 -C "@tara.nstda.or.th"
1.2 ทำตามขั้นตอนที่แสดงบนหน้าจอ โดยสามารถระบุรายละเอียดที่ต้องการหรือไม่ระบุ เพื่อใช้ค่าเริ่มต้น จากนั้น กด ENTER เพื่อไปยังขั้นตอนต่อไป
Enter file in which to save the key (/home/hpcuser/.ssh/id_rsa): <ไม่ต้องระบุข้อมูล> [ENTER] Enter passphrase (empty for no passphrase): <ไม่ต้องระบุข้อมูล> [ENTER] Enter same passphrase again: <ไม่ต้องระบุข้อมูล> [ENTER] Your identification has been saved in /home/hpcuser/.ssh/id_rsa. Your public key has been saved in /home/hpcuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:yilC3rKweLNBiupcOgavyewERZK17PntdFc1MXIPI0Y @tara.nstda.or.th The key's randomart image is: +---[RSA 4096]----+ |.oo .E * | |.+ . . + * | | + o .| | o . . . | |. = S . | |+= o o o . | |=o=.+ * . . | |B**= + . . | |XX+o . | +----[SHA256]-----+
1.3 ตรวจสอบว่า key (id_rsa.pub) มีการสร้างหรือไม่ โดยใช้คำสั่ง
$ ls -l .ssh/ total 8 -rw-------1 test test 3243 May 21 17:39 id_rsa -rw-r--r--1 test test 743 May 21 17:39 id_rsa.pub
2. การ submit job เข้าระบบ TARA
2.1 ทำการสร้างและเข้าไปจัดเตรียม script ไฟล์สำหรับเตรียมรันงานเข้าระบบ TARA โดยใช้คำสั่ง
$ vi ansys.sh
ระบุรายละเอียดตามตัวอย่างด้านล่าง โดยสามารถปรับเปลี่ยนได้ตามการใช้งาน (ดูรายละเอียดเพิ่มเติมได้ที่ การสั่งรัน Job ใน SLURM โดยใช้ script )
#!/bin/bash #SBATCH -p compute -A pre5003 -t 5-00:00:00 #SBATCH -N 2 --ntasks-per-node=40 #SBATCH -L ansys_hpc:5 module purge module load ANSYS export MPI_TMPDIR="/tmp/$SLURM_JOB_USER/$SLURM_JOB_ID" alias HOSTSFILE=hostlist-job$SLURM_JOB_ID if [ "$SLURM_PROCID" == "0" ]; then srun hostname -s > $HOSTSFILE fluent -r20.1.0 3ddp -t$SLURM_NTASKS -cnf=$HOSTSFILE -ssh -nm -gu -driver null -i journal.jou rm -f $HOSTSFILE fi exit 0
ตัวอย่างด้านบนเป็นการรันงาน Ansys fluent ตามที่กำหนดไว้ใน journal.jou
โดยใช้ compute node 2 nodes ( -p compute -N 2
) โดยแต่ละ Node ใช้ 40 cores (--ntasks-per-node=40
) ซึ่งเป็นการใช้ทรพยากรทั้งหมด 80 cores และเรียกใช้ license Ansys HPC จำนวน 5 licenses ( -L ansys_hpc:5
)
2.2 ตรวจสอบ path ของ input files ว่าเป็นไปตามที่กำหนดไว้ใน journal.jou
หรือไม่
2.3 เมื่อเตรียม script (ansys.sh
) สำหรับรันงานและตรวจสอบ input files เสร็จเรียบร้อย ทำการ submit job เข้าระบบ โดยใช้คำสั่ง
$ sbatch ansys.sh
How to run Ansys
ขั้นตอนการรันโปรแกรม Ansys จะมี 2 ขั้นตอนหลัก คือ
1. Setting passwordless
To run ANSYS on TARA, you first have to set passwordless login to computing units (e.g. compute nodes, memory nodes) by following below instruction.
At TARA frontend, create Key for logging-in to TARA computing unit using
ssh-keygen -t rsa -b 4096 -C "@tara.nstda.or.th"
Specify details shown in the screen or left them blank and then press ENTER
Enter file in which to save the key (/home/best/.ssh/id_rsa): <ไม่ต้องระบุข้อมูล> [ENTER] Enter passphrase (empty for no passphrase): <ไม่ต้องระบุข้อมูล> [ENTER] Enter same passphrase again: <ไม่ต้องระบุข้อมูล> [ENTER] Your identification has been saved in /home/best/.ssh/id_rsa. Your public key has been saved in /home/best/.ssh/id_rsa.pub. The key fingerprint is: SHA256:yilC3rKweLNBiupcOgavyewERZK17PntdFc1MXIPI0Y @tara.nstda.or.th The key's randomart image is: +---[RSA 4096]----+ |.oo .E * | |.+ . . + * | | + o .| | o . . . | |. = S . | |+= o o o . | |=o=.+ * . . | |B**= + . . | |XX+o . | +----[SHA256]-----+
Check if the key (id_rsa.pub) is created using ls -l .ssh/
ls -l .ssh/ total 8 -rw------- 1 test test 3243 May 21 17:39 id_rsa -rw-r--r-- 1 test test 743 May 21 17:39 id_rsa.pub
2. Submitting job
2.1 preparing script to run the job using the following command
$ vi ansys.sh
Specify below information and change the parameters according to requirements or usage (for more details, please see Running Jobs by SLURM Script)
#!/bin/bash #SBATCH -p compute -A pre5003 -t 5-00:00:00 #SBATCH -N 2 --ntasks-per-node=40 #SBATCH -L ansys_hpc:5 module purge module load ANSYS export MPI_TMPDIR="/tmp/$SLURM_JOB_USER/$SLURM_JOB_ID" alias HOSTSFILE=hostlist-job$SLURM_JOB_ID if [ "$SLURM_PROCID" == "0" ]; then srun hostname -s > $HOSTSFILE fluent -r20.1.0 3ddp -t$SLURM_NTASKS -cnf=$HOSTSFILE -ssh -nm -gu -driver null -i journal.jou rm -f $HOSTSFILE fi exit 0
The above example script instructs to run Ansys fluent using journal.jou
with 2 compute nodes (-p compute -N 2
) , 40 cores by nodes (–ntasks-per-node=40
). The total computational resource is 80 CPU cores. In addition, It also call license Ansys HPC 5 licenses (-L ansys_hpc:5
)
2.2 checking path of all input files if they are set according to journal.jou
or Ansys documentation.
2.3 submitting job using the following command
$ sbatch ansys.sh