Skip to main content Skip to navigation

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