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
#!/bin/sh
#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 azo0012@auburn.edu
#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
mpdallexit
Note:
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