forked from OSchip/llvm-project
115 lines
4.8 KiB
Plaintext
115 lines
4.8 KiB
Plaintext
# Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
|
|
# OpenMP 4.5 Specifications
|
|
|
|
2 omp-directive -> sentinel directive-name [clause [,] clause...]
|
|
2.1.1 sentinel -> !$omp | c$omp | *$omp
|
|
2.1.2 sentinel -> !$omp
|
|
# directive-name(constructs)
|
|
2.5 parallel -> PARALLEL
|
|
2.7.1 do -> DO
|
|
2.7.2 sections -> SECTIONS
|
|
2.7.3 workshare -> WORKSHARE
|
|
2.7.4 single-construct -> SINGLE
|
|
2.8.1 simd-construct -> SIMD
|
|
2.8.2 declare-simd -> DECLARE SIMD
|
|
2.8.3 do-simd-construct -> DO SIMD
|
|
2.9.1 task-construct -> TASK
|
|
2.9.2 taskloop -> TASKLOOP
|
|
2.9.3 taskloop-simd -> TASKLOOP SIMD
|
|
2.9.4 taskyield -> TASKYIELD
|
|
2.10.1 target-data -> TARGET DATA
|
|
2.10.2 target-enter-data -> TARGET ENTER DATA
|
|
2.10.3 target-exit-data -> TARGET EXIT DATA
|
|
2.10.4 target -> TARGET
|
|
2.10.5 target-update -> TARGET UPDATE
|
|
2.10.6 declare-target -> DECLARE TARGET
|
|
2.10.7 teams -> TEAMS
|
|
2.10.8 distribute -> DISTRIBUTE
|
|
2.10.9 distribute-simd -> DISTRIBUTE SIMD
|
|
2.10.10 distribute-parellel-do -> DISTRIBUTE PARALLEL DO
|
|
2.10.11 distribute-parallel-do-simd ->DISTRIBUTE PARALLEL DO SIMD
|
|
2.11.1 parallel-do -> PARALLEL DO
|
|
2.11.2 parallel-sections -> PARALLEL SECTIONS
|
|
2.11.3 parallel-workshare -> PARALLEL WORKSHARE
|
|
2.11.4 parallel-do-simd -> PARALLEL DO SIMD
|
|
2.11.5 target-parallel -> TARGET PARALLEL
|
|
2.11.6 target-parallel-do -> TARGET PARALLEL DO
|
|
2.11.7 target-parallel-do-simd -> TARGET PARALLEL DO SIMD
|
|
2.11.8 target-simd -> TARGET SIMD
|
|
2.11.9 target-teams -> TARGET TEAMS
|
|
2.11.10 teams-distribute -> TEAMS DISTRIBUTE
|
|
2.11.11 teams distribute-simd -> TEAMS DISTRIBUTE SIME
|
|
2.11.12 target-teams-distribute -> TARGET TEAMS DISTRIBUTE
|
|
2.11.13 target-teams-distribute-simd -> TARGET TEAMS DISTRIBUTE SIMD
|
|
2.11.14 teams-distribute-parallel-do -> TEAMS DISTRIBUTE PARALLEL DO
|
|
2.11.15 target-teams-distribute-parallel-do ->
|
|
TARGET TEAMS DISTRIBUTE PARALLEL DO
|
|
2.11.16 teams-distribute-parallel-do-simd ->
|
|
TEAMS DISTRIBUTE PARALLEL DO
|
|
2.11.17 target-teams-distribute-parallel-do-simd ->
|
|
TARGET TEAMS DISTRIBUTE PARALLEL DO SIMD
|
|
2.13.1 master -> MASTER
|
|
2.13.2 critical -> CRITICAL
|
|
2.13.3 barrier -> BARRIER
|
|
2.13.4 taskwait -> TASKWAIT
|
|
2.13.5 taskgroup -> TASKGROUP
|
|
2.13.6 atomic -> ATOMIC
|
|
2.13.7 flush -> FLUSH
|
|
2.13.8 ordered -> ORDERED
|
|
2.14.1 cancel -> CANCEL
|
|
2.14.2 cancellation-point -> CANCELLATION POINT
|
|
2.15.2 threadprivate -> THREADPRIVATE
|
|
2.16 declare-reduction -> DECLARE REDUCTION
|
|
|
|
# Clauses
|
|
2.5 proc_bind -> PROC_BIND ( MASTER | CLOSE | SPREAD )
|
|
2.5 num_threads -> NUM_THREADS(scalar-int-expr)
|
|
2.7.1 schedule -> SCHEDULE ([sched-modifier] [, sched-modifier]:]
|
|
kind[, chunk_size])
|
|
2.7.1 kind -> STATIC | DYNAMIC | GUIDED | AUTO | RUNTIME
|
|
2.7.1 sched-modifier -> MONOTONIC | NONMONOTONIC | SIMD
|
|
2.7.1 chunk_size -> scalar-int-expr
|
|
2.7.1 collapse -> COLLAPSE(scalar-constant)
|
|
2.7.1 ordered -> ORDERED [ (scalar-constant) ]
|
|
2.7.1 nowait -> NOWAIT
|
|
2.8.1 aligned -> ALIGNED ( variable-name-list [ : scalar-constant])
|
|
2.8.1 safelen -> SAFELEN ( scalar-constant )
|
|
2.8.1 simdlen -> SIMDLEN ( scalar-contant )
|
|
2.8.2 uniform -> UNIFORM (dummy-arg-name-list)
|
|
2.8.2 inbranch -> INBRANCH
|
|
2.8.2 notinbranch -> NOTINBRANCH
|
|
2.13.9 depend -> DEPEND (((IN | OUT | INOUT) : variable-name-list) |
|
|
SOURCE |
|
|
SINK : vec)
|
|
vec -> iterator [ +/- scalar-int-expr:scalar-int-expr],..., iterator[...]
|
|
2.9.2 num_tasks -> NUM_TASKS (scalar-int-expr)
|
|
2.9.2 grainsize -> GRAINSIZE (scalar-int-expr)
|
|
2.9.2 nogroup -> NOGROUP
|
|
2.9.2 untied -> UNTIED
|
|
2.9.2 priority -> PRIORITY (scalar-int-expr)
|
|
2.9.2 mergeable -> MERGEABLE
|
|
2.9.2 final -> FINAL (scalar-int-expr)
|
|
2.10.1 use_deice_ptr -> USE_DEVICE_PTR (variable-name-list)
|
|
2.10.1 device -> DEVICE (scalar-integer-expr)
|
|
2.10.5 to -> TO (variable-name-list)
|
|
2.10.5 from -> FROM (variable-name-list)
|
|
2.10.6 link -> LINK (variable-name-list)
|
|
2.10.7 num_teams -> NUM_TEAMS (scalar-integer-expr)
|
|
2.10.7 thread_limit -> THREAD_LIMIT (scalar-integer-expr)
|
|
2.10.8 dist_schedule -> DIST_SCHEDULE (STATIC [ , chunk_size])
|
|
2.12 if -> IF ([ directive-name-modifier ':' ] scalar-logical-expr)
|
|
2.15.3.1 default -> DEFAULT (PRIVATE | FIRSTPRIVATE | SHARED | NONE)
|
|
2.15.3.2 shared -> SHARED (variable-name-list)
|
|
2.15.3.3 private -> PRIVATE (variable-name-list)
|
|
2.15.3.4 firstprivate -> FIRSTPRIVATE (variable-name-list)
|
|
2.15.3.5 lastprivate -> LASTPRIVATE (variable-name-list)
|
|
2.15.3.6 reduction -> REDUCTION(reduction-identifier: variable-name-list)
|
|
2.15.3.7 linear -> LINEAR(linear-list [:linear-step])
|
|
linear-list -> list | modifier(list)
|
|
modifier -> REF | VAL | UVAL
|
|
2.15.4.1 copyin -> COPYIN (variable-name-list)
|
|
2.15.4.2 copyprivate -> COPYPRIVATE (variable-name-list)
|
|
2.15.5.1 map -> MAP ([[ALWAYS[,]] (TO | FROM | TOFROM | ALLOC | RELEASE |
|
|
DELETE) : ] variable-name-list)
|
|
2.15.5.2 defaultmap -> DEFAULTMAP(TOFROM:SCALAR)
|