Saswata Hier-Majumder

Assistant Professor



Magma nanotube.

Congratulations Dr. Drombosky
April, 2014
Tyler Drombosky successfully defended his thesis on April 4th, 2014. In his doctoral dissertation, Tyler developed a novel technique for modeling microstructure in deforming, partially molten rocks at the base of the Earth's tectonic plates. Tyler will move on to work at Luminal.

Links to old news from our group.

Subsurface ocean in Triton.

cmbbutton cmbbutton microbutton bembutton chembutton

Running your code on the geophysics cluster
Hope this will get you started running your code on stokeslet. Log in from a remote server using ssh. I like -C -X options a lot, since it allows me to use Emacs in the graphic mode. Use the command
>> ssh -C -X

The following set of instructions are for compiling your codes using openmp directives. Use ifort with the -openmp option to compile your code. Typically, the first few lines in my Makefile look like

OBJS= ... a bunch of .o files
MODULES = ...a bunch of .mod files
PROG = main.f90
MODOBJ= ... a bunch of .o files from modules
EXEC = myfile.exe
FC = ifort
FLAG = -O3 -openmp -g -debug inline_debug_info -Bdynamic -auto -o
FLAG2= -c -g -openmp -debug inline_debug_info -Bdynamic -auto
      $(FC) $(FLAG) $(EXEC) $(OBJS) $(MODOBJ)

A typical example of my Petsc (3.0+) makefile looks like:
include ${PETSC_DIR}/conf/base
myprog.exe: myprog.o chkopts
${FLINKER} -o myprog.exe myprog.o ${PETSC_FORTRAN_LIB} ${PETSC_LIB}
rm myprog.o

Compile your code, submit the job to PBS with qsub
>> make clean
>> make
>> qsub

A typical example of my PBS shell script will look like:
#PBS -N myjobname
#PBS -m be
#PBS -o myoutput.txt
#PBS -e myoutput.error
#PBS -l select=1:ncpus=8
setenv NPROCS `cat $PBS_NODEFILE | wc -l`
cd /path ...absolute path to the executable
echo "Start run in host $HOST using $NPROCS processors"
echo "path is $PWD"
echo "****************************************************"
mpirun -np $NPROCS -machinefile $PBS_NODEFILE myfile.exe -options
echo "****************************************************"
echo "end run in host $HOST using $NPROCS processors"

The #PBS symbol invokes the PBS pro environment. The script starts a new job named myjobname. Instead of producing outputs to the standard output, pbs stores them in an ASCII file myoutput.txt ( -o myoutput.txt). For example, everything that you would normally see on the screen for an executable running on the prompt, is stored here. This does not interfere with generation of output data to specific files. The -m be options tells PBS to send you an email (specified by -M) at the beginning and end of a job.

The -l option tells PBS to select a node and use 8 processors in that node. The pbs variable ncpus has the same value as the omp variable $OMP_NUM_THREADS. Make sure to include the correct path to the directory where the executables are stored. If you want to submit multiple jobs you can repeat the last part to move to a different directory and run the executable.

Good luck and watch out for them heisenbugs!!