Task Farm (Argus)
CSC
Address:
argus.csc.warwick.ac.uk
Shell
bash shell
Set up environment
You need to source the appropriate configuration file for the compiler you wish to use.
For example, for intel fortran compiler of bash users, you just add "source /usr/local/etc/ifort-8.1.034.sh" to your .bashrc file.
If you want another compiler, you can find appropriate configuration file by the command "locate". ex) locate ifort
Compiling option
The easiest way is to use makefile. After writing up a makefile, you just type "make" to compile your code.
Example of makefile
#
# A simple make file that links ifort compilers against the MATH KERNEL LIBRARY
#
.SUFFIXES = .f .o
# Object & Source files
OBJS = \
main.o setup.o mesh.o indices.o iniup.o readup.o \
writeup.o getup.o bcond.o uhcalc.o dpcalc.o \
upcalc.o sgs.o filter.o nutcheck.o strain.o \
rhs1.o rhs2.o rhs3.o rhsdp.o getuh1.o \
getuh2.o getuh3.o tdmai.o ctdma1j.o ctdma3i.o \
divcheck.o cfl.o iniwave.o metricpoisson.o \
getdp.o takedp.o tdmap.o chkmf.o \
profile.o sgstress.o insfield.o energy.o wallss.o \
writeavg.o openmpcut.o \
identi.o omega.o fftsg.o fftsg2d.o \
SRCS = $(OBJS:.o=.f)
# result file
TARGET = main.e
#
# ifort
FC = /opt/local/intel/intel-fc-8/8.1.034/bin/ifort
FFLAGS = -warn all -i8 -r8 -O3 -automatic -ip -ipo
# MATH KERNEL LIBRARY
LOPTS = -L/opt/intel/mkl/lib/64/
# ===========================================
$(TARGET): $(OBJS)
$(FC) -ipo -o $(TARGET) $(LOPTS) $(OBJS) -lmkl_lapack -lsvml
.f.o:
$(FC) $(FFLAGS) -c $<
In short
pgf77 -r8 main.f fourier.f --> a.out
- source /opt/local/etc/pgi-6.1.sh
ifort -r8 -O4 main.f fourier.f --> a.out
- source /opt/local/etc/ifort-9.0.036.sh
Job submission
You should submit using PBS by pbsexec or PBS by hand.
Example of pbsexec
pbsexec --serial --walltime=120:00:00 --mem=2gb main.e
And then, your job has been submitted by the name of myscript.pbs automatically.
If you want to prevent auto submission, you shoud add "--nosub" option or edit your own pbs file.
Example of pbs file by hand (*.pbs)
pbsexec --serial --walltime=120:00:00 --mem=2gb main.e
#!/bin/bash
#PBS -l nodes=1:ppn=1,walltime=120:00:00
#Prog name
PROG="/users/esspbs/syc/UTP/207/main.e"
PROGARGS=""
#cd to working directory
cd /users/esspbs/syc/UTP/207
$PROG $PROGARGS
exit 0
--------------------------------------------------
qsub: submit your job ex) qsub *.pbs
qstat: show status of your job
If you want to see your jobs only, type "qstat -u username".
"qstat -q" is useful to see the status of all jobs in argus.
qdel: delete your job ex) qdel jobid
ulimit -s unlimited