OpenMP: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 37: | Line 37: | ||
===Sample script to run a shared memory job using OpenMP=== | ===Sample script to run a shared memory job using OpenMP=== | ||
Sample script to run a program that uses 4 OpenMP threads: | Sample script (sub.sh) to run a program that uses 4 OpenMP threads: | ||
<pre class="gscript"> | <pre class="gscript"> | ||
#!/bin/bash | #!/bin/bash | ||
Line 43: | Line 43: | ||
export OMP_NUM_THREADS=4 | export OMP_NUM_THREADS=4 | ||
time ./myprog | time ./myprog | ||
</pre> | |||
===Sample job submission command on zcluster=== | |||
To submit a shared memory job that uses 4 OpenMP threads to the rcc-30d queue: | |||
<pre class="gcommand"> | |||
qsub -q rcc-30d -pe thread 4 sub.sh | |||
</pre> | </pre> |
Revision as of 16:11, 11 February 2013
Compiling OpenMP code on zcluster
The compilers installed on zcluster support shared memory applications using OpenMP. Here are the compiler options to include when using OpenMP:
Compiler | Commands | Option |
---|---|---|
PGI | pgcc, pgCC, pgf90, etc. | -mp |
Intel | icc, ifort | -openmp |
GNU | gcc, gfortran, g++, gcc44, etc. | -fopenmp |
Defining number of OpenMP threads
The number of OpenMP threads can be specified using the environment variable OMP_NUM_THREADS. For example, to define 4 threads:
For bash/sh:
export OMP_NUM_THREADS=4
For csh/tcsh:
setenv OMP_NUM_THREADS 4
Sample script (sub.sh) to run a program that uses 4 OpenMP threads:
#!/bin/bash cd working_directory export OMP_NUM_THREADS=4 time ./myprog
Sample job submission command on zcluster
To submit a shared memory job that uses 4 OpenMP threads to the rcc-30d queue:
qsub -q rcc-30d -pe thread 4 sub.sh