You have to have your parallel c++ code to do the computation

When you have your parallel c++ code you can compile it using

mpicxx -llapackpp -lblas -llapack  -I/usr/local/include/lapackpp/ lapack_code.cpp -o out_comp2

Then you can submit the job using following script

#My program's name
#PBS -N testing_lapackpp

#Request 0 hours, 10 minutes, 0 seconds.
#PBS -l nodes=3:ppn=2,walltime=00:10:00

# The output of stdout is sent to outputFile
#PBS -o outputFile
# The output of stderr is sent to errorFile
#PBS -e errorFile

#following 2 lines ensures you'll be notified by email when job is done
#PBS -m e
#PBS -d /home/your_test_directory/

#print host name to see which node is computing
/bin/hostname > out
#which mpiexec >> out
#initital timestamp
date >> out

#generate node file
`sort -u $PBS_NODEFILE > mpd_nodes`
#assign variable nhosts to number of hosts
nhosts=`cat mpd_nodes | wc -l`

#generate processor file and count it and assign to proc
`sort $PBS_NODEFILE > conf_file`
proc=`cat conf_file | wc -l`

#start mpd on number of hosts(=nhosts) given by file mpd_nodes
mpdboot -n $nhosts -v -f mpd_nodes

#start mpiexec on nhosts with np=proc ./source_file >> outputfile
mpiexec -n $nhosts -np $proc ./out_comp2 >> out

#stop mpd


LAPACKPP header file is located at /usr/local/include/lacpackpp

ATLAS header file is located at /usr/local/atas/include

ATLAS lib file is located at /usr/local/atlas/lib

Your default lib directory is /usr/lib64

Last Updated: Feb 09, 2011