IT MANAGEMENT OF FME, 21ST JULY 2010 FLUENT AND ABAQUS COURSE FOR HPC TABLE OF CONTENTS THE HPC FACILITY USING PUTTY AND WINSCP TO ACCESS THE SERVER SENDING FILES TO THE SERVER RUNNING JOBS MONITORING JOBS COPY RESULTS BACK FROM THE SERVER HPC @ CICT Sunfire 8 CPUs x 6 Nodes - Quad-Core AMD Opteron(tm) Processor 2376 HE (2.3 GHz) Interconnected using Infiniband and Ethernet Each Node has 8 GB of memory Storage capacity - 100 GB at the moment QUEUE SYSTEM Using Torque - torque-server-2.3.6-1cri.slc4 and torque-mom-2.3.6-1cri.slc4 Scheduler - maui-server-3.2.6p21snap.1224706197.2.slc4 Current MPI does not utilise Infiniband. This soon will be fixed. TABLE OF CONTENTS THE HPC FACILITY USING PUTTY AND WINSCP TO ACCESS THE SERVER SENDING FILES TO THE SERVER RUNNING JOBS MONITORING JOBS COPY RESULTS BACK FROM THE SERVER ACCESSING THE SYSTEM Using putty.exe http://fkm.utm.my/ftp/pub/Windows/putty/putty.exe Using winscp.exe http://fkm.utm.my/ftp/pub/Windows/winscp/winscp.exe LOGIN INTO THE SYSTEM VIA PUTTY AND WINSCP Server : fkm.utm.my Port : 2323 It will connect to ce.utmgrid.utm.my via MyREN VIA PUTTY VIA PUTTY press YES VIA PUTTY VIA WINSCP Click NEW VIA WINSCP VIA WINSCP 1. click YES 2. click Continue 3. enter Your Password VIA WINSCP TABLE OF CONTENTS THE HPC FACILITY USING PUTTY AND WINSCP TO ACCESS THE SERVER SENDING FILES TO THE SERVER RUNNING JOBS MONITORING JOBS COPY RESULTS BACK FROM THE SERVER SENDING FILES TO THE SERVER 1. Search files to be transferred at the left panel. 2. Create a new directory on the right panel. 3. Select files on the left panel. 4. Copy from left to right. TABLE OF CONTENTS THE HPC FACILITY USING PUTTY AND WINSCP TO ACCESS THE SERVER SENDING FILES TO THE SERVER RUNNING JOBS MONITORING JOBS COPY RESULTS BACK FROM THE SERVER CONFIGURATION We need to configure the necessary files before we could run our model. There are several files needed to be prepared before we could run the job. Using putty.exe .... FLUENT Type ‘pico model_journal’ Enter file/read-case your_input_file.cas solve/init/initialize-flow solve/iterate 400 file/binary-files n file/confirm-overwrite n file/write-data your_output_file.dat exit y Press Control–O to save Press Enter Press Control-X to exit FLUENT prepare the pbs-script, type ‘pico pbs-script’ Enter the following #!/bin/sh #PBS -q utm #PBS -N istas.model3d #PBS -l nodes=1:ppn=8 #PBS -M istaz@mail.fkm.utm.my #PBS -m abe nCPU=8 version=3d journal=model_journal cd $PBS_O_WORKDIR /opt/exp_soft/share/istas/ansys_inc/v121/fluent/bin/fluent $version -t$nCPU -g -i $journal mpi=openmpi -cnf=$PBS_NODEFILE Press Ctrl-O to save Press Enter Press Ctrl-X to exit FLUENT Finally we want to submit the job, just type ‘qsub pbs-script’ type ‘qstat’ to see the status of your job. an email will be sent to you to let you know the job has started. another email will be sent to let you know the job has ended. You could open WINSCP again to copy the output back to your PC. ABAQUS Prepare a pbs-script, type ‘pico pbs-script’ #!/bin/bash #PBS -q utm #PBS -l nodes=1:ppn=8 #PBS -l walltime=1000:00:00 #PBS -N myjobname.date.runNumberX # Go to the directory from which you submitted the job cd $PBS_O_WORKDIR cpus=$(wc -l $PBS_NODEFILE | awk '{print $1}') mp_host_list="[" for n in $(sort -u $PBS_NODEFILE) do mp_host_list="${mp_host_list}['$n',$(grep -c $n $PBS_NODEFILE)]," done mp_host_list=$(echo ${mp_host_list} | sed -e "s/,$/]/") echo "mp_host_list=${mp_host_list}" > abaqus_v6.env echo "abaquslm_license_file=\"27000@ce.utmgrid.utm.my\"" >> abaqus_v6.env echo "mp_rsh_command = 'ssh -x -n -l %U %H %C'" >> abaqus_v6.env # Run the job /opt/exp_soft/share/apps/Abaqus/Commands/abaqus analysis mp_mode=MPI cpus=$cpus job=MYJOBNAME interactive ABAQUS to run the job, type ‘qsub pbs-script’ to view the status, type ‘qstat’ Job id ------------------------12374.ce 12375.ce 12376.ce 12379.ce 12388.ce Name ---------------STDIN STDIN STDIN STDIN ...14072010.1327 User Time Use --------------- -------euasia016 0 euasia006 0 euasia001 0 euasia001 0 istaz 00:00:26 S Q Q Q Q R Queue ----euasia euasia euasia euasia utm USEFUL PBS COMMANDS qsub: Once a PBS job script is created, it is submitted to PBS via the qsub command. In its simplest form, qsub takes a single parameter, the name of the script file that you wish to submit. qstat: The qstat command will allow you to view the contents of the PBS queue. node1:~/test> qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----147.node1 testjob psmith 0 R default CONT... qdel: The qdel command takes a single argument, a job number. You can use qdel to abort execution of your job: qdel 147 would cancel execution of the job shown in the qstat example above. qalter: The qalter command is helpful for altering the parameters of a job after it's submitted. qalter takes two arguments: the PBS directive that you wish to change (like -l), and the job number that you want to change. For example, if you forgot to set the walltime that your job requires, you can change it after it's been submitted: node1:~> qalter -l walltime=4:00:00 147 CONT... pbsnodes: The pbsnodes command, while a useful PBS administration command, can also be informative to the PBS user. pbsnodes -a will list all PBS nodes, their attributes, and job status. This is a useful way to get a list of valid machine properties for use in a #PBS -l directive. node1:~> pbsnodes -a node2 state = free np = 2 properties = gigabit,pcn,m2048,dual,p1800,athlon ntype = cluster