Parallel Programming in Fortran 95 using OpenMP - People
Parallel Programming in Fortran 95 using OpenMP - People
Parallel Programming in Fortran 95 using OpenMP - People
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ii<br />
CONTENTS<br />
3.1.4 FIRSTPRIVATE(list) .......................... 40<br />
3.1.5 LASTPRIVATE(list) .......................... 41<br />
3.1.6 COPYIN(list) .............................. 42<br />
3.1.7 COPYPRIVATE(list) .......................... 43<br />
3.1.8 REDUCTION(operator:list) ..................... 43<br />
3.2 Otherclauses .................................. 46<br />
3.2.1 IF(scalar logical expression) .................. 46<br />
3.2.2 NUM THREADS(scalar <strong>in</strong>teger expression) ............. 47<br />
3.2.3 NOWAIT .................................. 47<br />
3.2.4 SCHEDULE(type, chunk) ....................... 48<br />
3.2.5 ORDERED ................................. 52<br />
4 The <strong>OpenMP</strong> run-time library 55<br />
4.1 Executionenvironmentrout<strong>in</strong>es........................ 55<br />
4.1.1 OMP set num threads .......................... 55<br />
4.1.2 OMP get num threads .......................... 56<br />
4.1.3 OMP get max threads .......................... 56<br />
4.1.4 OMP get thread num .......................... 56<br />
4.1.5 OMP get num procs ........................... 57<br />
4.1.6 OMP <strong>in</strong> parallel ............................ 57<br />
4.1.7 OMP set dynamic ............................ 57<br />
4.1.8 OMP get dynamic ............................ 58<br />
4.1.9 OMP set nested ............................. 58<br />
4.1.10 OMP get nested ............................. 58<br />
4.2 Lockrout<strong>in</strong>es .................................. 59<br />
4.2.1 OMP <strong>in</strong>it lock and OMP <strong>in</strong>it nest lock ............... 60<br />
4.2.2 OMP set lock and OMP set nest lock ................ 60<br />
4.2.3 OMP unset lock and OMP unset nest lock ............. 61<br />
4.2.4 OMP test lock and OMP test nest lock ............... 61<br />
4.2.5 OMP destroy lock and OMP destroy nest lock ........... 62<br />
4.2.6 Examples ................................ 62<br />
4.3 Tim<strong>in</strong>g rout<strong>in</strong>es ................................. 65<br />
4.3.1 OMP get wtime ............................. 65<br />
4.3.2 OMP get wtick ............................. 66<br />
4.4 The <strong>Fortran</strong> 90 module omp lib ........................ 66<br />
5 The environment variables 69<br />
5.1 OMP NUM THREADS ................................ 70<br />
5.2 OMP SCHEDULE .................................. 70<br />
5.3 OMP DYNAMIC ................................... 71<br />
5.4 OMP NESTED ................................... 71