|
Main /
ExampleOpen-mpScriptAndUsageA SAMPLE MAKEFILE FOR COMPILING WITH OPENMP (by Neeraj Agrawal) CC = icpc $INTEL = -Xlinker -rpath -Xlinker /opt/intel_cc_80/lib all: TDGL
TDGL: main.o _setup.o _epsin.o _datainput.o $(CC) -openmp -i-static -o TDGL main.o _setup.o _epsin.o _datainput.o
main.o: main.cc $(CC) -openmp -c main.cc _setup.o: _setup.cc _datainput.cc $(CC) -openmp -c _setup.cc _epsin.o: _epsin.cc _datainput.cc $(CC) -openmp -c _epsin.cc _datainput.o: _datainput.cc $(CC) -openmp -c _datainput.cc A SAMPLE PBS FILE FOR SUBMITTING OPENMP JOBS
export OMP_NUM_THREADS=2 cd $PBS_O_WORKDIR ~/beta/bin/TDGL > output.log WRITING OPENMP PROGRAMS Include omp.h in the program. Sample subroutine: void _setup::setHx(){ double h; double value; int i,j,k; h=step_size; #pragma omp parallel private(i,j,k) { #pragma omp for for (k=0;k<N_tot;k++){ i = k/N; j = k - i*N; Hx[k]=(getH(i,j+1)-getH(i,j-1))/(2*h); } } } |