Research Article
SPOT: A DSL for Extending Fortran Programs with Metaprogramming
Table 3
Examples of calling OpenMP functions of SPOT.
| Type | Example | Transformation effect |
| Pair directives | OmpUseParallel(startStmt, endStmt, Private(var1, var2), Shared(var3),…) | !$OMP PARALLEL PRIVATE(var1, var2) SHARED(var3) startStatement other sequential code endStatement !$OMP END PARALLEL |
| Single directives | OmpUseBarrierBefore(targetStmt) | !$OMP BARRIER targetStatement other equential code |
| Runtime library calls | OmpGetNumThreads(var) | var = omp_get_num_threads( ) |
|
|