ThaiSC

การรันโปรแกรม Ansys

ขั้นตอนการรันโปรแกรม Ansys

ขั้นตอนการรันโปรแกรม Ansys จะมี 2 ขั้นตอนหลัก คือ

  1. การทำ passwordless ซึ่งเป็นขั้นตอนการตั้งค่า ซึ่งขั้นตอนนี้จะเป็นการตั้งค่า เพื่อให้โปรแกรม Ansys สามารถสื่อสารกันภายในระบบ TARA ได้  หากไม่ทำตามขั้นตอนนี้ จะพบ Error (Authentication failed)

  2. การ submit job เข้าระบบ TARA

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
				
			

1.4 ทำการ copy key ไปที่ TARA computing units โดยเปลี่ยนค่า [username] เป็น username ของท่านที่เข้าใช้ระบบ TARA

				
					$ ssh-copy-id -i .ssh/id_rsa.pub [username]@tara.nstda.or.th
				
			

จากนั้นระบุรหัสผ่านของระบบ TARA

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