offtarget 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. offload/__init__.py +10 -0
  2. offload/__main__.py +5 -0
  3. offload/_bundle.py +74 -0
  4. offload/_root/catalog/acc/claims.yaml +197 -0
  5. offload/_root/catalog/acc/clauses.yaml +391 -0
  6. offload/_root/catalog/acc/no_oracle.yaml +89 -0
  7. offload/_root/catalog/acc/out_of_scope.yaml +17 -0
  8. offload/_root/catalog/acc/rules.yaml +433 -0
  9. offload/_root/catalog/acc/semantic_atoms.yaml +27 -0
  10. offload/_root/catalog/acc/skeleton.yaml +1567 -0
  11. offload/_root/catalog/acc/spec_overrides.yaml +72 -0
  12. offload/_root/catalog/later_forms.yaml +76 -0
  13. offload/_root/catalog/machines.yaml +218 -0
  14. offload/_root/catalog/omp/claims.yaml +2047 -0
  15. offload/_root/catalog/omp/clauses.yaml +914 -0
  16. offload/_root/catalog/omp/derivations.yaml +177 -0
  17. offload/_root/catalog/omp/memory_modes.yaml +40 -0
  18. offload/_root/catalog/omp/no_oracle.yaml +373 -0
  19. offload/_root/catalog/omp/omp50_delta.yaml +377 -0
  20. offload/_root/catalog/omp/out_of_scope.yaml +64 -0
  21. offload/_root/catalog/omp/port_equivalence.yaml +352 -0
  22. offload/_root/catalog/omp/rules.yaml +3131 -0
  23. offload/_root/catalog/omp/rules_coverage.yaml +9939 -0
  24. offload/_root/catalog/omp/semantic_atoms.yaml +34 -0
  25. offload/_root/catalog/omp/skeleton.yaml +9181 -0
  26. offload/_root/catalog/omp/spec_overrides.yaml +932 -0
  27. offload/_root/catalog/toolchains.yaml +472 -0
  28. offload/_root/catalog/vendor_claims_generic.yaml +40925 -0
  29. offload/_root/data/canuse/b.json +1 -0
  30. offload/_root/data/canuse/c.json +1 -0
  31. offload/_root/data/canuse/columns.json +1 -0
  32. offload/_root/data/canuse/d.json +1 -0
  33. offload/_root/data/canuse/f.json +1 -0
  34. offload/_root/data/canuse/index.json +1 -0
  35. offload/_root/data/canuse/p.json +1 -0
  36. offload/_root/data/compilers/afar.json +1 -0
  37. offload/_root/data/compilers/cce19.json +1 -0
  38. offload/_root/data/compilers/cce20.json +1 -0
  39. offload/_root/data/compilers/cce21.json +1 -0
  40. offload/_root/data/compilers/cce21_4.json +1 -0
  41. offload/_root/data/compilers/gcc.json +1 -0
  42. offload/_root/data/compilers/gcc_sm80.json +1 -0
  43. offload/_root/data/compilers/nvhpc.json +1 -0
  44. offload/_root/data/compilers/nvhpc269.json +1 -0
  45. offload/_root/data/findings/AUTHORING.md +107 -0
  46. offload/_root/data/findings/README.md +33 -0
  47. offload/_root/data/findings/afar-c-error-directive-in-target-link.c +37 -0
  48. offload/_root/data/findings/afar-c-lastprivate-distribute-parallel-for-small-type.c +56 -0
  49. offload/_root/data/findings/afar-c-teams-distribute-reduction-first-team.c +59 -0
  50. offload/_root/data/findings/afar-c-update-iterator-copy-mode.c +45 -0
  51. offload/_root/data/findings/afar-c-xnack1-target-is-present.c +31 -0
  52. offload/_root/data/findings/afar-cce19-character-defaultmap.f90 +27 -0
  53. offload/_root/data/findings/afar-cce19-task-in-target-ice.f90 +23 -0
  54. offload/_root/data/findings/afar-clang-requires-device-safesync-hang.c +24 -0
  55. offload/_root/data/findings/afar-flang-firstprivate-map-two-targets.f90 +34 -0
  56. offload/_root/data/findings/afar-flang-loop-bind-teams-reduction.f90 +27 -0
  57. offload/_root/data/findings/afar-flang-task-reduction-max.f90 +31 -0
  58. offload/_root/data/findings/afar-flang-thread-limit-target-parallel-do.f90 +22 -0
  59. offload/_root/data/findings/afar-linear-ref-omp50.f90 +29 -0
  60. offload/_root/data/findings/afar-loop-bind-thread-in-teams.f90 +44 -0
  61. offload/_root/data/findings/afar-nontemporal-assumed-shape-ice.f90 +38 -0
  62. offload/_root/data/findings/afar-udr-derived-type-link.f90 +41 -0
  63. offload/_root/data/findings/afar-xnack1-atomic-min-nested-parallel.f90 +53 -0
  64. offload/_root/data/findings/afar-xnack1-present-not-enforced.f90 +36 -0
  65. offload/_root/data/findings/afar-xnack1-target-is-present.f90 +47 -0
  66. offload/_root/data/findings/apps/afar-cce-teams-private-array-nested-parallel-wrong.f90 +100 -0
  67. offload/_root/data/findings/apps/cce20-device-link-infer-address-spaces-crash.f90 +159 -0
  68. offload/_root/data/findings/apps/cce21-device-link-agpr-copy-mfma-assert.f90 +343 -0
  69. offload/_root/data/findings/apps/cce21-private-array-loaded-subscript-wrong.f90 +113 -0
  70. offload/_root/data/findings/apps/controls/bubble-simple-rddot.f90 +284 -0
  71. offload/_root/data/findings/apps/controls/bubble-two-substeps.f90 +287 -0
  72. offload/_root/data/findings/apps/controls/cbc-inline.f90 +97 -0
  73. offload/_root/data/findings/apps/controls/cbc-integers.f90 +91 -0
  74. offload/_root/data/findings/apps/controls/cbc-only-density.f90 +97 -0
  75. offload/_root/data/findings/apps/controls/cbc-only-velocity.f90 +97 -0
  76. offload/_root/data/findings/apps/controls/gcc-acc-c-tile-control.c +26 -0
  77. offload/_root/data/findings/apps/controls/gcc-acc-tile-control.f90 +29 -0
  78. offload/_root/data/findings/apps/controls/private-array-subscript-probes.f90 +45 -0
  79. offload/_root/data/findings/apps/controls/teams-private-array-read-par.f90 +31 -0
  80. offload/_root/data/findings/apps/controls/teams-private-array-seq.f90 +30 -0
  81. offload/_root/data/findings/apps/controls/teams-private-array-shared.f90 +34 -0
  82. offload/_root/data/findings/apps/controls/teams-private-array-split.f90 +36 -0
  83. offload/_root/data/findings/apps/controls/teams-private-array-write-par.f90 +31 -0
  84. offload/_root/data/findings/apps/gcc-acc-c-tile-partial-tiles-wrong.c +60 -0
  85. offload/_root/data/findings/apps/gcc-acc-tile-partial-tiles-wrong.f90 +64 -0
  86. offload/_root/data/findings/catalog/afar-c-complex-reduction-link.c +66 -0
  87. offload/_root/data/findings/catalog/afar-c-critical-hint-link.c +68 -0
  88. offload/_root/data/findings/catalog/afar-c-ordered-doacross-link.c +62 -0
  89. offload/_root/data/findings/catalog/afar-c-reduction-task-link.c +81 -0
  90. offload/_root/data/findings/catalog/afar-flang-absent-optional-target-crash.f90 +76 -0
  91. offload/_root/data/findings/catalog/afar-flang-critical-target-parallel-wrong.f90 +74 -0
  92. offload/_root/data/findings/catalog/afar-flang-dist-schedule-chunk.f90 +80 -0
  93. offload/_root/data/findings/catalog/afar-flang-linear-parallel-ice.f90 +68 -0
  94. offload/_root/data/findings/catalog/afar-flang-named-critical-link.f90 +67 -0
  95. offload/_root/data/findings/catalog/afar-flang-ordered-wrong.f90 +78 -0
  96. offload/_root/data/findings/catalog/afar-flang-reduction-minus-rejected.f90 +77 -0
  97. offload/_root/data/findings/catalog/afar-flang-reduction-task-ice.f90 +68 -0
  98. offload/_root/data/findings/catalog/afar-flang-sections-in-target-ice.f90 +67 -0
  99. offload/_root/data/findings/catalog/afar-flang-workdistribute-ice.f90 +71 -0
  100. offload/_root/data/findings/catalog/c-allocate-const-mem-firstprivate-wrong.c +79 -0
  101. offload/_root/data/findings/catalog/cce-acc-allocate-in-compute-crash.f90 +65 -0
  102. offload/_root/data/findings/catalog/cce-acc-character-dummy-routine-ice.f90 +81 -0
  103. offload/_root/data/findings/catalog/cce-acc-loop-seq-in-routine-wrong.f90 +81 -0
  104. offload/_root/data/findings/catalog/cce-acc-stop-in-compute-crash.f90 +62 -0
  105. offload/_root/data/findings/catalog/cce-allocators-stack-ice.f90 +81 -0
  106. offload/_root/data/findings/catalog/cce-atomic-default-mem-order-acquire-release-rejected.f90 +61 -0
  107. offload/_root/data/findings/catalog/cce-c-allocate-align-link.c +83 -0
  108. offload/_root/data/findings/catalog/cce-c-allocate-allocator-modifier-rejected.c +77 -0
  109. offload/_root/data/findings/catalog/cce-c-device-type-directive-name-ice.c +70 -0
  110. offload/_root/data/findings/catalog/cce-c-dist-schedule-chunk.c +81 -0
  111. offload/_root/data/findings/catalog/cce-c-f-pointer-device-link.f90 +70 -0
  112. offload/_root/data/findings/catalog/cce-c-lastprivate-parallel-in-seq-loop-wrong.c +64 -0
  113. offload/_root/data/findings/catalog/cce-c-long-double-ice.c +61 -0
  114. offload/_root/data/findings/catalog/cce-c-map-iterator-ice.c +92 -0
  115. offload/_root/data/findings/catalog/cce-c-motion-iterator-rejected.c +68 -0
  116. offload/_root/data/findings/catalog/cce-c-ordered-doacross-link.c +64 -0
  117. offload/_root/data/findings/catalog/cce-c-ordered-link.c +77 -0
  118. offload/_root/data/findings/catalog/cce-c-recursive-function-ice.c +62 -0
  119. offload/_root/data/findings/catalog/cce-c-reduction-inscan-ice.c +67 -0
  120. offload/_root/data/findings/catalog/cce-c-reduction-task-link.c +73 -0
  121. offload/_root/data/findings/catalog/cce-c-sections-in-target-wrong.c +70 -0
  122. offload/_root/data/findings/catalog/cce-c-single-masked-task-link.c +66 -0
  123. offload/_root/data/findings/catalog/cce-c-task-in-target-link.c +75 -0
  124. offload/_root/data/findings/catalog/cce-c-uses-allocators-traits-rejected.c +71 -0
  125. offload/_root/data/findings/catalog/cce-flang-allocate-const-mem-ice.f90 +67 -0
  126. offload/_root/data/findings/catalog/cce-flang-allocate-in-target-crash.f90 +68 -0
  127. offload/_root/data/findings/catalog/cce-flang-lastprivate-parallel-in-seq-loop-wrong.f90 +83 -0
  128. offload/_root/data/findings/catalog/cce-flang-stop-in-target-crash.f90 +64 -0
  129. offload/_root/data/findings/catalog/cce-iterator-link.f90 +67 -0
  130. offload/_root/data/findings/catalog/cce-linear-lastprivate-ice.f90 +69 -0
  131. offload/_root/data/findings/catalog/cce-nohost-link.f90 +90 -0
  132. offload/_root/data/findings/catalog/cce-reduction-inscan-ice.f90 +66 -0
  133. offload/_root/data/findings/catalog/cce-reduction-task-link.f90 +76 -0
  134. offload/_root/data/findings/catalog/cce19-reduction-task-addrspacecast-ice.f90 +77 -0
  135. offload/_root/data/findings/catalog/cce20-c-defaultmap-private-storage-rejected.c +85 -0
  136. offload/_root/data/findings/catalog/cce20-map-self-rejected.f90 +64 -0
  137. offload/_root/data/findings/catalog/cce21-c-declare-target-local-rejected.c +73 -0
  138. offload/_root/data/findings/catalog/cce21-c-target-loop-ice.c +77 -0
  139. offload/_root/data/findings/catalog/defaultmap-present-private-array-abort.f90 +73 -0
  140. offload/_root/data/findings/catalog/nvhpc-acc-associate-illegal-address.f90 +66 -0
  141. offload/_root/data/findings/catalog/nvhpc-c-function-pointer-kernel-missing.c +68 -0
  142. offload/_root/data/findings/catalog/nvhpc-c-long-double-kernel-missing.c +64 -0
  143. offload/_root/data/findings/catalog/nvhpc-c-static-local-kernel-missing.c +73 -0
  144. offload/_root/data/findings/catalog/nvhpc-c-vla-kernel-missing.c +63 -0
  145. offload/_root/data/findings/catalog/nvhpc-flang-type-bound-kernel-missing.f90 +86 -0
  146. offload/_root/data/findings/cce-acc-init-set-runtime-assert.f90 +35 -0
  147. offload/_root/data/findings/cce-acc-reduction-200-int8-scalars-wrong.f90 +1278 -0
  148. offload/_root/data/findings/cce-acc-routine-bind-module-ice.f90 +35 -0
  149. offload/_root/data/findings/cce-acc-self-condition-ignored.f90 +17 -0
  150. offload/_root/data/findings/cce-c-dist-schedule-segv.c +34 -0
  151. offload/_root/data/findings/cce-c-map-delete-refcount.c +47 -0
  152. offload/_root/data/findings/cce-c-map-present-assert.c +45 -0
  153. offload/_root/data/findings/cce-c-openmp45-device-link.c +34 -0
  154. offload/_root/data/findings/cce-c-parallel-for-in-target.c +73 -0
  155. offload/_root/data/findings/cce-defaultmap-tofrom-explicit-map.f90 +92 -0
  156. offload/_root/data/findings/cce-mapper-next-map-copy-back.f90 +48 -0
  157. offload/_root/data/findings/cce-trim-merge-output-one-character.f90 +40 -0
  158. offload/_root/data/findings/cce-uses-allocators-traits-omp50.f90 +28 -0
  159. offload/_root/data/findings/cce19-acc-if-false-link.f90 +17 -0
  160. offload/_root/data/findings/cce19-c-reduction-63-scalars-one-wrong.c +235 -0
  161. offload/_root/data/findings/cce19-target-parallel-guarded-loop.f90 +35 -0
  162. offload/_root/data/findings/cce19-target-parallel-single-ice.f90 +38 -0
  163. offload/_root/data/findings/cce21-alloc-2e32-sum-wrong.f90 +68 -0
  164. offload/_root/data/findings/cce21-defaultmap-aggregate-flag.f90 +52 -0
  165. offload/_root/data/findings/cce21-in-reduction-assumed-shape-write-lost.f90 +61 -0
  166. offload/_root/data/findings/cce21-in-reduction-taskwait-link.f90 +59 -0
  167. offload/_root/data/findings/cce21-linear-modifier-default-none.f90 +59 -0
  168. offload/_root/data/findings/clang-c-declare-target-to-omp52.c +50 -0
  169. offload/_root/data/findings/clang-c-linear-directive-name-hang.c +30 -0
  170. offload/_root/data/findings/clang-c-map-iterator-omp51.c +51 -0
  171. offload/_root/data/findings/clang-c-shared-declare-target-combined.c +58 -0
  172. offload/_root/data/findings/dataenv/cce-value-dummy-target-write-visible.f90 +74 -0
  173. offload/_root/data/findings/defaultmap-none-loop-variable.f90 +69 -0
  174. offload/_root/data/findings/fortran-loop-bind-thread-in-parallel.f90 +53 -0
  175. offload/_root/data/findings/fortran-schedule-static-in-target.f90 +55 -0
  176. offload/_root/data/findings/fresh/cce-common-block-name-in-map-rejected.f90 +47 -0
  177. offload/_root/data/findings/fresh/cce-if-stop-in-target-ice-one-condition.f90 +38 -0
  178. offload/_root/data/findings/fresh/cce-if-stop-in-target-ice.f90 +43 -0
  179. offload/_root/data/findings/fresh/cce-list-directed-print-in-target-copy-crash.f90 +40 -0
  180. offload/_root/data/findings/fresh/cce19-acc-automatic-array-copyout-copy-crash.f90 +56 -0
  181. offload/_root/data/findings/fresh/cce21-combined-if-runtime-expr-loop-skipped.f90 +57 -0
  182. offload/_root/data/findings/fresh/nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.f90 +67 -0
  183. offload/_root/data/findings/fresh/nvhpc-teams-loop-module-allocatable-assign-fort2-crash.f90 +73 -0
  184. offload/_root/data/findings/fuzz/1131-afar.f90 +48 -0
  185. offload/_root/data/findings/fuzz/1391-cce20.f90 +40 -0
  186. offload/_root/data/findings/fuzz/14-cce20.f90 +36 -0
  187. offload/_root/data/findings/fuzz/1505-cce20.f90 +88 -0
  188. offload/_root/data/findings/fuzz/1540-afar.f90 +44 -0
  189. offload/_root/data/findings/fuzz/158-afar.f90 +63 -0
  190. offload/_root/data/findings/fuzz/16-cce20.f90 +39 -0
  191. offload/_root/data/findings/fuzz/1644-cce21.f90 +31 -0
  192. offload/_root/data/findings/fuzz/165-cce19.f90 +52 -0
  193. offload/_root/data/findings/fuzz/1749-cce20.f90 +34 -0
  194. offload/_root/data/findings/fuzz/1936-afar.f90 +61 -0
  195. offload/_root/data/findings/fuzz/1978-cce19.f90 +41 -0
  196. offload/_root/data/findings/fuzz/2014-cce19.f90 +46 -0
  197. offload/_root/data/findings/fuzz/2224-cce19.f90 +30 -0
  198. offload/_root/data/findings/fuzz/2334-cce19.f90 +57 -0
  199. offload/_root/data/findings/fuzz/536-cce19.f90 +38 -0
  200. offload/_root/data/findings/fuzz/591-cce19.f90 +54 -0
  201. offload/_root/data/findings/fuzz/650-afar.f90 +58 -0
  202. offload/_root/data/findings/fuzz/698-afar.f90 +68 -0
  203. offload/_root/data/findings/fuzz/700-afar.f90 +46 -0
  204. offload/_root/data/findings/fuzz/775-cce21.f90 +33 -0
  205. offload/_root/data/findings/fuzz/87-afar.f90 +47 -0
  206. offload/_root/data/findings/fuzz/916-afar.f90 +67 -0
  207. offload/_root/data/findings/fuzz/958-cce20.f90 +44 -0
  208. offload/_root/data/findings/fuzz/98-cce19.f90 +40 -0
  209. offload/_root/data/findings/fuzz/README.md +236 -0
  210. offload/_root/data/findings/fuzz/b1-121-afar.f90 +47 -0
  211. offload/_root/data/findings/fuzz/b1-183-afar.f90 +55 -0
  212. offload/_root/data/findings/fuzz/b1-22-cce20.f90 +38 -0
  213. offload/_root/data/findings/fuzz/b1-231-afar.f90 +56 -0
  214. offload/_root/data/findings/fuzz/b1-268-afar.f90 +46 -0
  215. offload/_root/data/findings/fuzz/b2-183-afar.f90 +57 -0
  216. offload/_root/data/findings/fuzz/b2-209-cce19.f90 +51 -0
  217. offload/_root/data/findings/fuzz/b2-213-afar.f90 +63 -0
  218. offload/_root/data/findings/fuzz/b2-52-afar.f90 +56 -0
  219. offload/_root/data/findings/fuzz/b2-68-afar.f90 +54 -0
  220. offload/_root/data/findings/fuzz/b2-85-cce20.f90 +55 -0
  221. offload/_root/data/findings/fuzz/b3-188-cce19.f90 +90 -0
  222. offload/_root/data/findings/fuzz/b3-190-cce21.f90 +88 -0
  223. offload/_root/data/findings/fuzz/b3-197-cce19.f90 +77 -0
  224. offload/_root/data/findings/fuzz/b3-250-cce20.f90 +89 -0
  225. offload/_root/data/findings/fuzz/b3-278-cce19.f90 +70 -0
  226. offload/_root/data/findings/fuzz/b3-45-cce21.f90 +83 -0
  227. offload/_root/data/findings/fuzz/b3-54-afar.f90 +67 -0
  228. offload/_root/data/findings/fuzz/b3-61-cce20.f90 +100 -0
  229. offload/_root/data/findings/fuzz/b3-9-afar.f90 +100 -0
  230. offload/_root/data/findings/fuzz/b3-9-cce21.f90 +103 -0
  231. offload/_root/data/findings/fuzz/b3-94-afar.f90 +80 -0
  232. offload/_root/data/findings/fuzz/b4-39-afar.f90 +141 -0
  233. offload/_root/data/findings/fuzz/b4-86-cce19.f90 +71 -0
  234. offload/_root/data/findings/fuzz/controls/gcc-complex-pointer-store-control.f90 +28 -0
  235. offload/_root/data/findings/fuzz/controls/gcc-declare-reduction-module-control.f90 +29 -0
  236. offload/_root/data/findings/fuzz/controls/gcc-target-simd-map-nontemporal-control.f90 +21 -0
  237. offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-mapped-control.f90 +22 -0
  238. offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-unreferenced-control.f90 +22 -0
  239. offload/_root/data/findings/fuzz/controls/nvhpc-default-none-removed-control.f90 +18 -0
  240. offload/_root/data/findings/fuzz/controls/nvhpc-default-shared-control.f90 +18 -0
  241. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-firstprivate-removed-control.f90 +15 -0
  242. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-reduction-mapped-control.f90 +17 -0
  243. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-removed-control.f90 +17 -0
  244. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-tofrom-lastprivate-control.f90 +15 -0
  245. offload/_root/data/findings/fuzz/controls/nvhpc-depend-explicit-map-control.f90 +22 -0
  246. offload/_root/data/findings/fuzz/controls/nvhpc-depend-removed-control.f90 +22 -0
  247. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-end-distribute-control.f90 +16 -0
  248. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-num-threads-removed-control.f90 +26 -0
  249. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-removed-control.f90 +22 -0
  250. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-simd-no-end-directive-control.f90 +15 -0
  251. offload/_root/data/findings/fuzz/controls/nvhpc-explicit-length-character-dummy-control.f90 +18 -0
  252. offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-array-value-control.f90 +23 -0
  253. offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-distribute-control.f90 +20 -0
  254. offload/_root/data/findings/fuzz/controls/nvhpc-map-always-first-control.f90 +15 -0
  255. offload/_root/data/findings/fuzz/controls/nvhpc-map-always-removed-control.f90 +15 -0
  256. offload/_root/data/findings/fuzz/controls/nvhpc-num-threads-removed-control.f90 +12 -0
  257. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-firstprivate-dropped-control.f90 +15 -0
  258. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-single-nowait-control.f90 +13 -0
  259. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-split-control.f90 +15 -0
  260. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-collapse-split-control.f90 +21 -0
  261. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-end-directive-control.f90 +14 -0
  262. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-no-collapse-control.f90 +19 -0
  263. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-split-no-end-directive-control.f90 +15 -0
  264. offload/_root/data/findings/fuzz/gcc-declare-reduction-module-not-found.f90 +66 -0
  265. offload/_root/data/findings/fuzz/gcc-strided-target-update-rejected.f90 +58 -0
  266. offload/_root/data/findings/fuzz/gcc-target-simd-map-nontemporal-rejected.f90 +54 -0
  267. offload/_root/data/findings/fuzz/nvhpc-allocatable-component-implicit-map-illegal-address.f90 +84 -0
  268. offload/_root/data/findings/fuzz/nvhpc-assumed-length-character-dummy-map-ice.f90 +69 -0
  269. offload/_root/data/findings/fuzz/nvhpc-default-none-reduction-lastprivate-fort1-crash.f90 +70 -0
  270. offload/_root/data/findings/fuzz/nvhpc-defaultmap-firstprivate-lastprivate-ice.f90 +71 -0
  271. offload/_root/data/findings/fuzz/nvhpc-defaultmap-to-scalar-reduction-lost.f90 +82 -0
  272. offload/_root/data/findings/fuzz/nvhpc-depend-implicit-map-illegal-address.f90 +81 -0
  273. offload/_root/data/findings/fuzz/nvhpc-distribute-parallel-num-threads-writes-lost.f90 +79 -0
  274. offload/_root/data/findings/fuzz/nvhpc-end-distribute-simd-rejected.f90 +70 -0
  275. offload/_root/data/findings/fuzz/nvhpc-loop-character-achar-unsupported.f90 +75 -0
  276. offload/_root/data/findings/fuzz/nvhpc-map-always-after-map-to-not-copied-back.f90 +70 -0
  277. offload/_root/data/findings/fuzz/nvhpc-num-threads-reduction-identity-lost.f90 +54 -0
  278. offload/_root/data/findings/fuzz/nvhpc-target-parallel-firstprivate-translate-failure.f90 +66 -0
  279. offload/_root/data/findings/fuzz/nvhpc-target-parallel-single-hang.f90 +68 -0
  280. offload/_root/data/findings/fuzz/nvhpc-target-simd-collapse-translate-failure.f90 +73 -0
  281. offload/_root/data/findings/fuzz/nvhpc-target-simd-no-end-directive-rejected.f90 +68 -0
  282. offload/_root/data/findings/fuzz/par-s1-2082-gcc_g90.f90 +71 -0
  283. offload/_root/data/findings/fuzz/s1-2370-cce21.f90 +67 -0
  284. offload/_root/data/findings/fuzz/s1-2592-cce21.f90 +56 -0
  285. offload/_root/data/findings/fuzz/s1-3463-cce21.f90 +92 -0
  286. offload/_root/data/findings/fuzz/s1-4339-afar.f90 +79 -0
  287. offload/_root/data/findings/fuzz/s1-6085-cce21.f90 +96 -0
  288. offload/_root/data/findings/fuzz/s1-6760-cce20.f90 +65 -0
  289. offload/_root/data/findings/fuzz/s1-6888-cce21.f90 +76 -0
  290. offload/_root/data/findings/fuzz/s1-7882-cce20.f90 +63 -0
  291. offload/_root/data/findings/fuzz/s1-8634-cce21.f90 +45 -0
  292. offload/_root/data/findings/fuzz/s1-91-cce21.f90 +92 -0
  293. offload/_root/data/findings/fuzz/s1-9443-afar.f90 +59 -0
  294. offload/_root/data/findings/fuzz/s1-9914-cce19.f90 +78 -0
  295. offload/_root/data/findings/gcc/controls/gcc-acc-c-detach-control.c +34 -0
  296. offload/_root/data/findings/gcc/controls/gcc-acc-detach-control.f90 +26 -0
  297. offload/_root/data/findings/gcc/controls/gcc-defaultmap-to-pointer-control.f90 +31 -0
  298. offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.c +26 -0
  299. offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.f90 +21 -0
  300. offload/_root/data/findings/gcc/gcc-acc-bind-device-type-rejected.f90 +71 -0
  301. offload/_root/data/findings/gcc/gcc-acc-c-bind-device-type-rejected.c +76 -0
  302. offload/_root/data/findings/gcc/gcc-acc-c-detach-delete-attach-underflow.c +74 -0
  303. offload/_root/data/findings/gcc/gcc-acc-c-gang-dim-rejected.c +79 -0
  304. offload/_root/data/findings/gcc/gcc-acc-c-link-in-routine-rejected.c +82 -0
  305. offload/_root/data/findings/gcc/gcc-acc-detach-delete-attach-underflow.f90 +66 -0
  306. offload/_root/data/findings/gcc/gcc-acc-gang-dim-collapse-force-rejected.f90 +69 -0
  307. offload/_root/data/findings/gcc/gcc-acc-init-set-shutdown-rejected.f90 +70 -0
  308. offload/_root/data/findings/gcc/gcc-acc-link-in-routine-rejected.f90 +82 -0
  309. offload/_root/data/findings/gcc/gcc-acc-use-device-allocatable-rejected.f90 +88 -0
  310. offload/_root/data/findings/gcc/gcc-c-motion-mapper-rejected.c +110 -0
  311. offload/_root/data/findings/gcc/gcc-c-omp60-undocumented-rejected.c +76 -0
  312. offload/_root/data/findings/gcc/gcc-c-omp60-unimplemented-rejected.c +119 -0
  313. offload/_root/data/findings/gcc/gcc-c-target-in-task-mandatory-device-not-found.c +87 -0
  314. offload/_root/data/findings/gcc/gcc-c-uses-allocators-traits-unimplemented.c +85 -0
  315. offload/_root/data/findings/gcc/gcc-declare-mapper-rejected.f90 +85 -0
  316. offload/_root/data/findings/gcc/gcc-defaultmap-to-pointer-copy-back.f90 +66 -0
  317. offload/_root/data/findings/gcc/gcc-loop-bind-default-none-rejected.f90 +93 -0
  318. offload/_root/data/findings/gcc/gcc-omp60-undocumented-rejected.f90 +72 -0
  319. offload/_root/data/findings/gcc/gcc-omp60-unimplemented-rejected.f90 +112 -0
  320. offload/_root/data/findings/gcc/gcc-target-in-task-mandatory-device-not-found.f90 +83 -0
  321. offload/_root/data/findings/gcc/gcc-uses-allocators-traits-unimplemented.f90 +78 -0
  322. offload/_root/data/findings/harvest/afar-flang-strided-target-update.f90 +96 -0
  323. offload/_root/data/findings/harvest/cce-acc-declare-create-module-allocatable-xnack1-fault.f90 +58 -0
  324. offload/_root/data/findings/harvest/cce-c-implicit-struct-map-partly-present.c +100 -0
  325. offload/_root/data/findings/harvest/cce-c-strided-target-update.c +74 -0
  326. offload/_root/data/findings/harvest/cce-ftn-target-parallel-thread-query-ice.f90 +67 -0
  327. offload/_root/data/findings/harvest/cce-named-constant-array-declare-target-routine-rejected.f90 +69 -0
  328. offload/_root/data/findings/harvest/cce-use-device-ptr-c-ptr-not-converted.f90 +64 -0
  329. offload/_root/data/findings/harvest/cce21-declare-target-link-module-variable-write-lost.f90 +63 -0
  330. offload/_root/data/findings/harvest/cce21-internal-procedure-calls-internal-in-target-fault.f90 +71 -0
  331. offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-target-only-control.c +22 -0
  332. offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-whole-control.c +23 -0
  333. offload/_root/data/findings/harvest/controls/gcc-acc-declare-create-allocatable-control.f90 +34 -0
  334. offload/_root/data/findings/harvest/controls/gcc-c-same-item-two-maps-control.c +17 -0
  335. offload/_root/data/findings/harvest/controls/gcc-c-target-data-struct-pointer-section-control.c +27 -0
  336. offload/_root/data/findings/harvest/controls/gcc-c-target-data-two-maps-control.c +20 -0
  337. offload/_root/data/findings/harvest/controls/gcc-same-item-two-maps-control.f90 +16 -0
  338. offload/_root/data/findings/harvest/controls/gcc-teams-simd-matmul-allocatable-control.f90 +27 -0
  339. offload/_root/data/findings/harvest/gcc-acc-declare-create-allocatable-not-mapped.f90 +66 -0
  340. offload/_root/data/findings/harvest/gcc-c-same-item-two-maps-rejected.c +45 -0
  341. offload/_root/data/findings/harvest/gcc-c-strided-section-rejected.c +70 -0
  342. offload/_root/data/findings/harvest/gcc-c-target-data-struct-pointer-section-ice.c +78 -0
  343. offload/_root/data/findings/harvest/gcc-c-target-data-two-maps-ice.c +49 -0
  344. offload/_root/data/findings/harvest/gcc-same-item-two-maps-rejected.f90 +46 -0
  345. offload/_root/data/findings/harvest/gcc-teams-simd-matmul-allocatable-ice.f90 +53 -0
  346. offload/_root/data/findings/harvest/nvhpc-c-target-data-if-false-use-device-ptr-garbage.c +49 -0
  347. offload/_root/data/findings/harvest/nvhpc-named-constant-array-declare-target-routine-rejected.f90 +65 -0
  348. offload/_root/data/findings/harvest/nvhpc-use-device-ptr-c-ptr-not-found.f90 +60 -0
  349. offload/_root/data/findings/harvest/nvhpc2511-target-nowait-in-parallel-for-ice.c +59 -0
  350. offload/_root/data/findings/hecbench/controls/f16-ctl-float-array.c +28 -0
  351. offload/_root/data/findings/hecbench/controls/pc-ctl-builtin-popcount.c +37 -0
  352. offload/_root/data/findings/hecbench/controls/pc-ctl-shift-sum.c +43 -0
  353. offload/_root/data/findings/hecbench/gcc-c-float16-array-in-target-lto-ice.c +65 -0
  354. offload/_root/data/findings/hecbench/gcc-c-swar-popcount-assembler-error.c +80 -0
  355. offload/_root/data/findings/index.yaml +2453 -0
  356. offload/_root/data/findings/malloc/afar-device-malloc-in-kernel-corrupts-records.c +371 -0
  357. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-direct.c +52 -0
  358. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-fence.c +57 -0
  359. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-flush.c +57 -0
  360. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-stack.c +52 -0
  361. offload/_root/data/findings/multithread-allocatable-section-maps.f90 +91 -0
  362. offload/_root/data/findings/nested/afar-cce-c-call-result-member-in-target-rejected.c +69 -0
  363. offload/_root/data/findings/nested/afar-cce-c-update-struct-and-member-rejected.c +92 -0
  364. offload/_root/data/findings/nested/afar-flang-pointer-root-allocatable-component-enter-data-fault.f90 +121 -0
  365. offload/_root/data/findings/nested/cce-c-struct-and-nested-pointee-sections-ice.c +79 -0
  366. offload/_root/data/findings/nested/cce-fortran-nested-allocatable-component-copy-fault.f90 +64 -0
  367. offload/_root/data/findings/nested/cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.f90 +93 -0
  368. offload/_root/data/findings/nested/cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.f90 +80 -0
  369. offload/_root/data/findings/nested/controls/c3-ctl-nested-data.c +27 -0
  370. offload/_root/data/findings/nested/controls/c5-acc-serial-struct-and-array.c +26 -0
  371. offload/_root/data/findings/nested/controls/e2-ctl-two-directives.c +42 -0
  372. offload/_root/data/findings/nested/controls/e3-ctl-attach-clause.c +42 -0
  373. offload/_root/data/findings/nested/controls/f3-pointer-array-only.c +33 -0
  374. offload/_root/data/findings/nested/controls/f5-ctl-copyout-exit.c +33 -0
  375. offload/_root/data/findings/nested/controls/f6-ctl-pointer-to-struct-array.c +28 -0
  376. offload/_root/data/findings/nested/controls/g2-ctl-allocatable.f90 +34 -0
  377. offload/_root/data/findings/nested/controls/g2-ctl-entered-to.f90 +34 -0
  378. offload/_root/data/findings/nested/controls/g3-ctl-from-struct-no-element.c +27 -0
  379. offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-to.c +27 -0
  380. offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-tofrom.c +27 -0
  381. offload/_root/data/findings/nested/controls/g5-ctl-element-pointers-only.f90 +36 -0
  382. offload/_root/data/findings/nested/controls/g5-ctl-root-pointer-only.f90 +36 -0
  383. offload/_root/data/findings/nested/controls/gp2-ctl-no-mapper-explicit-maps.c +24 -0
  384. offload/_root/data/findings/nested/controls/gt2-ctl-no-always.c +26 -0
  385. offload/_root/data/findings/nested/controls/gt3-ctl-always-on-structure-only.c +26 -0
  386. offload/_root/data/findings/nested/controls/j1-embedded-struct-pointer-to-struct.c +24 -0
  387. offload/_root/data/findings/nested/controls/j2-ctl-pointer-instead-of-embedded.c +24 -0
  388. offload/_root/data/findings/nested/controls/j6-ctl-struct-and-one-pointee-level.c +23 -0
  389. offload/_root/data/findings/nested/controls/j7-ctl-struct-and-embedded-pointee.c +24 -0
  390. offload/_root/data/findings/nested/controls/m2-ctl-variable-root.f90 +32 -0
  391. offload/_root/data/findings/nested/controls/m3-ctl-fixed-array-component.f90 +32 -0
  392. offload/_root/data/findings/nested/controls/m5-ctl-no-enter-data.f90 +33 -0
  393. offload/_root/data/findings/nested/controls/n8-ctl-fixed-array-in-component.f90 +33 -0
  394. offload/_root/data/findings/nested/controls/n9-ctl-allocatable-in-the-variable.f90 +33 -0
  395. offload/_root/data/findings/nested/controls/ns4-ctl-two-directives-struct-then-pointee.c +27 -0
  396. offload/_root/data/findings/nested/controls/ns8-ctl-enter-together-exit-split.c +26 -0
  397. offload/_root/data/findings/nested/controls/nu3-ctl-update-pointee-only.c +28 -0
  398. offload/_root/data/findings/nested/controls/p2-ctl-pointer-variable.c +27 -0
  399. offload/_root/data/findings/nested/controls/p3-ctl-direct-member.c +26 -0
  400. offload/_root/data/findings/nested/controls/q2-ctl-fixed-array.f90 +37 -0
  401. offload/_root/data/findings/nested/controls/q3-ctl-allocatable-component-of-the-variable.f90 +38 -0
  402. offload/_root/data/findings/nested/controls/ta2-ctl-no-allocatable-component.f90 +42 -0
  403. offload/_root/data/findings/nested/controls/ta3-ctl-allocatable-scalar-in-the-variable.f90 +38 -0
  404. offload/_root/data/findings/nested/controls/ta4-ctl-pointer-component-only.f90 +42 -0
  405. offload/_root/data/findings/nested/controls/u3-ctl-update-member-only.c +24 -0
  406. offload/_root/data/findings/nested/controls/u4-ctl-two-updates.c +25 -0
  407. offload/_root/data/findings/nested/controls/u5-ctl-same-list-in-map.c +25 -0
  408. offload/_root/data/findings/nested/controls/ua2-ctl-variable-root.f90 +37 -0
  409. offload/_root/data/findings/nested/controls/ua4-ctl-to-in-place-of-alloc-and-update.f90 +37 -0
  410. offload/_root/data/findings/nested/controls/v2-ctl-parent-first.c +25 -0
  411. offload/_root/data/findings/nested/controls/v4-ctl-embedded-member.c +24 -0
  412. offload/_root/data/findings/nested/gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.c +83 -0
  413. offload/_root/data/findings/nested/gcc-acc-c-parent-and-shared-pointee-one-directive.c +88 -0
  414. offload/_root/data/findings/nested/gcc-acc-c-struct-and-member-array-one-directive.c +84 -0
  415. offload/_root/data/findings/nested/gcc-c-always-on-pointer-member-section-ice.c +75 -0
  416. offload/_root/data/findings/nested/gcc-c-declare-mapper-pointer-member-section-gpu-fault.c +93 -0
  417. offload/_root/data/findings/nested/gcc-c-from-struct-and-pointee-section-rejected.c +83 -0
  418. offload/_root/data/findings/nested/gcc-fortran-pointer-component-alloc-bounds-lost.f90 +62 -0
  419. offload/_root/data/findings/nested/gcc-fortran-root-and-element-pointer-components-ice.f90 +77 -0
  420. offload/_root/data/findings/nested/nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.c +55 -0
  421. offload/_root/data/findings/nested/nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.c +86 -0
  422. offload/_root/data/findings/nvhpc-acc-atomic-update-sum-fort2-crash.f90 +53 -0
  423. offload/_root/data/findings/nvhpc-c-acc-atomic-update-sum-ice.c +43 -0
  424. offload/_root/data/findings/nvhpc-c-dist-schedule-chunk-compile-hang.c +41 -0
  425. offload/_root/data/findings/nvhpc-c-map-present-ignored.c +42 -0
  426. offload/_root/data/findings/nvhpc-c-ordered-in-target-nvcpfe-crash.c +92 -0
  427. offload/_root/data/findings/nvhpc-c-parallel-for-firstprivate-in-target.c +62 -0
  428. offload/_root/data/findings/nvhpc-c-parallel-if-in-target-nvvm-ice.c +56 -0
  429. offload/_root/data/findings/nvhpc-defaultmap-firstprivate-explicit-map.f90 +45 -0
  430. offload/_root/data/findings/nvhpc-defaultmap-from-allocatable-indexing.f90 +60 -0
  431. offload/_root/data/findings/nvhpc-depend-inoutset-ignored.f90 +64 -0
  432. offload/_root/data/findings/nvhpc-dist-schedule-chunk-illegal-address.f90 +52 -0
  433. offload/_root/data/findings/nvhpc-managed-acc-shutdown-host-access.f90 +42 -0
  434. offload/_root/data/findings/nvhpc-parallel-if-in-target-nvvm-ice.f90 +60 -0
  435. offload/_root/data/findings/oop/afar-final-dealloc-device-link.f90 +85 -0
  436. offload/_root/data/findings/oop/afar-pdt-length-parameter-not-implemented.f90 +65 -0
  437. offload/_root/data/findings/oop/cce-class-is-device-link.f90 +86 -0
  438. offload/_root/data/findings/oop/cce-copy-alloc-component-section-fault.f90 +73 -0
  439. offload/_root/data/findings/oop/cce-copy-parent-to-component-tofrom-lost.f90 +65 -0
  440. offload/_root/data/findings/oop/cce-copy-second-member-section-lost.f90 +65 -0
  441. offload/_root/data/findings/oop/cce-element-component-map-lost.f90 +64 -0
  442. offload/_root/data/findings/oop/cce-final-dealloc-device-abort.f90 +85 -0
  443. offload/_root/data/findings/oop/cce-pdt-default-mapper-rejected.f90 +71 -0
  444. offload/_root/data/findings/oop/cce-polymorphic-dispatch-device-link.f90 +100 -0
  445. offload/_root/data/findings/oop/cce-section-of-element-component-overlap.f90 +76 -0
  446. offload/_root/data/findings/oop/cce-select-type-guard-not-taken.f90 +91 -0
  447. offload/_root/data/findings/oop/cce-udr-derived-type-unsupported.f90 +69 -0
  448. offload/_root/data/findings/oop/cce21-element-component-map-lost.f90 +62 -0
  449. offload/_root/data/findings/oop/controls/alloccomp-comp-only.f90 +44 -0
  450. offload/_root/data/findings/oop/controls/alloccomp-whole-explicit-component.f90 +50 -0
  451. offload/_root/data/findings/oop/controls/alloccomp-whole.f90 +49 -0
  452. offload/_root/data/findings/oop/controls/elemsec-element.f90 +47 -0
  453. offload/_root/data/findings/oop/controls/final-local.f90 +64 -0
  454. offload/_root/data/findings/oop/controls/host-class-star-select-type.f90 +58 -0
  455. offload/_root/data/findings/oop/controls/host-firstprivate-defined-assignment.f90 +54 -0
  456. offload/_root/data/findings/oop/controls/host-lastprivate-defined-assignment.f90 +58 -0
  457. offload/_root/data/findings/oop/controls/host-private-finalization.f90 +51 -0
  458. offload/_root/data/findings/oop/controls/host-select-type.f90 +65 -0
  459. offload/_root/data/findings/oop/controls/parent-and-comp-component-only.f90 +45 -0
  460. offload/_root/data/findings/oop/controls/pdt-kind.f90 +46 -0
  461. offload/_root/data/findings/oop/controls/pdt-len-host.f90 +43 -0
  462. offload/_root/data/findings/oop/controls/pdt-len-unparameterized.f90 +46 -0
  463. offload/_root/data/findings/oop/controls/poly-dispatch-static.f90 +75 -0
  464. offload/_root/data/findings/oop/controls/section-alloc-whole-component.f90 +49 -0
  465. offload/_root/data/findings/oop/controls/section-element-whole-array.f90 +50 -0
  466. offload/_root/data/findings/oop/controls/section-element-whole-component.f90 +50 -0
  467. offload/_root/data/findings/oop/controls/section-fixed.f90 +43 -0
  468. offload/_root/data/findings/oop/controls/tbp-override.f90 +64 -0
  469. offload/_root/data/findings/oop/gcc-acc-parent-and-member-data-rejected.f90 +63 -0
  470. offload/_root/data/findings/oop/gcc-pdt-length-parameter-abort.f90 +68 -0
  471. offload/_root/data/findings/oop/gcc-polymorphic-dispatch-abort.f90 +97 -0
  472. offload/_root/data/findings/oop/gcc-vtab-not-marked-for-offload.f90 +94 -0
  473. offload/_root/data/findings/oop/nvhpc-copy-alloc-component-illegal-address.f90 +76 -0
  474. offload/_root/data/findings/oop/nvhpc-copy-pdt-length-parameter-illegal-address.f90 +69 -0
  475. offload/_root/data/findings/oop/nvhpc-named-mapper-rejected.f90 +65 -0
  476. offload/_root/data/findings/oop/nvhpc-polymorphic-dispatch-translate-failure.f90 +90 -0
  477. offload/_root/data/findings/oop/nvhpc-polymorphism-runtime-unsupported.f90 +94 -0
  478. offload/_root/data/findings/oop/nvhpc-type-bound-call-rejected.f90 +89 -0
  479. offload/_root/data/findings/oop/nvhpc-udr-derived-type-rejected.f90 +67 -0
  480. offload/_root/data/findings/reviews/afar-c-error-directive-in-target-link.json +217 -0
  481. offload/_root/data/findings/reviews/afar-c-lastprivate-distribute-parallel-for-small-type.json +113 -0
  482. offload/_root/data/findings/reviews/afar-c-teams-distribute-reduction-first-team.json +130 -0
  483. offload/_root/data/findings/reviews/afar-c-update-iterator-copy-mode.json +113 -0
  484. offload/_root/data/findings/reviews/afar-cce19-character-defaultmap.json +292 -0
  485. offload/_root/data/findings/reviews/afar-clang-requires-device-safesync-hang.json +191 -0
  486. offload/_root/data/findings/reviews/afar-flang-firstprivate-map-two-targets.json +130 -0
  487. offload/_root/data/findings/reviews/afar-flang-loop-bind-teams-reduction.json +126 -0
  488. offload/_root/data/findings/reviews/afar-flang-task-reduction-max.json +113 -0
  489. offload/_root/data/findings/reviews/afar-flang-thread-limit-target-parallel-do.json +113 -0
  490. offload/_root/data/findings/reviews/afar-loop-bind-thread-in-teams.json +191 -0
  491. offload/_root/data/findings/reviews/afar-nontemporal-assumed-shape-ice.json +113 -0
  492. offload/_root/data/findings/reviews/afar-udr-derived-type-link.json +113 -0
  493. offload/_root/data/findings/reviews/afar-xnack1-atomic-min-nested-parallel.json +113 -0
  494. offload/_root/data/findings/reviews/afar-xnack1-target-is-present.json +113 -0
  495. offload/_root/data/findings/reviews/apps--afar-cce-teams-private-array-nested-parallel-wrong.json +113 -0
  496. offload/_root/data/findings/reviews/apps--cce20-device-link-infer-address-spaces-crash.json +113 -0
  497. offload/_root/data/findings/reviews/apps--cce21-device-link-agpr-copy-mfma-assert.json +113 -0
  498. offload/_root/data/findings/reviews/apps--cce21-private-array-loaded-subscript-wrong.json +113 -0
  499. offload/_root/data/findings/reviews/apps--gcc-acc-c-tile-partial-tiles-wrong.json +113 -0
  500. offload/_root/data/findings/reviews/catalog--afar-c-ordered-doacross-link.json +113 -0
  501. offload/_root/data/findings/reviews/catalog--afar-c-reduction-task-link.json +113 -0
  502. offload/_root/data/findings/reviews/catalog--afar-flang-absent-optional-target-crash.json +113 -0
  503. offload/_root/data/findings/reviews/catalog--afar-flang-critical-target-parallel-wrong.json +113 -0
  504. offload/_root/data/findings/reviews/catalog--afar-flang-dist-schedule-chunk.json +113 -0
  505. offload/_root/data/findings/reviews/catalog--afar-flang-linear-parallel-ice.json +113 -0
  506. offload/_root/data/findings/reviews/catalog--afar-flang-named-critical-link.json +126 -0
  507. offload/_root/data/findings/reviews/catalog--afar-flang-ordered-wrong.json +113 -0
  508. offload/_root/data/findings/reviews/catalog--afar-flang-reduction-minus-rejected.json +113 -0
  509. offload/_root/data/findings/reviews/catalog--afar-flang-sections-in-target-ice.json +113 -0
  510. offload/_root/data/findings/reviews/catalog--afar-flang-workdistribute-ice.json +113 -0
  511. offload/_root/data/findings/reviews/catalog--c-allocate-const-mem-firstprivate-wrong.json +113 -0
  512. offload/_root/data/findings/reviews/catalog--cce-acc-character-dummy-routine-ice.json +113 -0
  513. offload/_root/data/findings/reviews/catalog--cce-acc-loop-seq-in-routine-wrong.json +113 -0
  514. offload/_root/data/findings/reviews/catalog--cce-allocators-stack-ice.json +113 -0
  515. offload/_root/data/findings/reviews/catalog--cce-c-allocate-align-link.json +113 -0
  516. offload/_root/data/findings/reviews/catalog--cce-c-allocate-allocator-modifier-rejected.json +113 -0
  517. offload/_root/data/findings/reviews/catalog--cce-c-dist-schedule-chunk.json +113 -0
  518. offload/_root/data/findings/reviews/catalog--cce-c-f-pointer-device-link.json +130 -0
  519. offload/_root/data/findings/reviews/catalog--cce-c-long-double-ice.json +217 -0
  520. offload/_root/data/findings/reviews/catalog--cce-c-map-iterator-ice.json +217 -0
  521. offload/_root/data/findings/reviews/catalog--cce-c-recursive-function-ice.json +113 -0
  522. offload/_root/data/findings/reviews/catalog--cce-c-sections-in-target-wrong.json +113 -0
  523. offload/_root/data/findings/reviews/catalog--cce-flang-allocate-in-target-crash.json +113 -0
  524. offload/_root/data/findings/reviews/catalog--cce-flang-lastprivate-parallel-in-seq-loop-wrong.json +113 -0
  525. offload/_root/data/findings/reviews/catalog--cce-flang-stop-in-target-crash.json +113 -0
  526. offload/_root/data/findings/reviews/catalog--cce-iterator-link.json +113 -0
  527. offload/_root/data/findings/reviews/catalog--cce-linear-lastprivate-ice.json +113 -0
  528. offload/_root/data/findings/reviews/catalog--cce-reduction-inscan-ice.json +113 -0
  529. offload/_root/data/findings/reviews/catalog--cce-reduction-task-link.json +113 -0
  530. offload/_root/data/findings/reviews/catalog--cce19-reduction-task-addrspacecast-ice.json +113 -0
  531. offload/_root/data/findings/reviews/catalog--cce20-c-defaultmap-private-storage-rejected.json +217 -0
  532. offload/_root/data/findings/reviews/catalog--cce20-map-self-rejected.json +204 -0
  533. offload/_root/data/findings/reviews/catalog--cce21-c-target-loop-ice.json +126 -0
  534. offload/_root/data/findings/reviews/catalog--defaultmap-present-private-array-abort.json +236 -0
  535. offload/_root/data/findings/reviews/catalog--nvhpc-acc-associate-illegal-address.json +113 -0
  536. offload/_root/data/findings/reviews/catalog--nvhpc-c-function-pointer-kernel-missing.json +268 -0
  537. offload/_root/data/findings/reviews/cce-acc-init-set-runtime-assert.json +113 -0
  538. offload/_root/data/findings/reviews/cce-acc-reduction-200-int8-scalars-wrong.json +113 -0
  539. offload/_root/data/findings/reviews/cce-acc-routine-bind-module-ice.json +113 -0
  540. offload/_root/data/findings/reviews/cce-c-dist-schedule-segv.json +113 -0
  541. offload/_root/data/findings/reviews/cce-c-map-delete-refcount.json +149 -0
  542. offload/_root/data/findings/reviews/cce-c-map-present-assert.json +126 -0
  543. offload/_root/data/findings/reviews/cce-c-openmp45-device-link.json +113 -0
  544. offload/_root/data/findings/reviews/cce-c-parallel-for-in-target.json +141 -0
  545. offload/_root/data/findings/reviews/cce-mapper-next-map-copy-back.json +208 -0
  546. offload/_root/data/findings/reviews/cce-uses-allocators-traits-omp50.json +191 -0
  547. offload/_root/data/findings/reviews/cce19-c-reduction-63-scalars-one-wrong.json +113 -0
  548. offload/_root/data/findings/reviews/cce19-target-parallel-guarded-loop.json +113 -0
  549. offload/_root/data/findings/reviews/cce19-target-parallel-single-ice.json +113 -0
  550. offload/_root/data/findings/reviews/cce21-alloc-2e32-sum-wrong.json +113 -0
  551. offload/_root/data/findings/reviews/cce21-defaultmap-aggregate-flag.json +210 -0
  552. offload/_root/data/findings/reviews/cce21-in-reduction-assumed-shape-write-lost.json +113 -0
  553. offload/_root/data/findings/reviews/cce21-in-reduction-taskwait-link.json +113 -0
  554. offload/_root/data/findings/reviews/clang-c-declare-target-to-omp52.json +113 -0
  555. offload/_root/data/findings/reviews/clang-c-linear-directive-name-hang.json +113 -0
  556. offload/_root/data/findings/reviews/clang-c-shared-declare-target-combined.json +132 -0
  557. offload/_root/data/findings/reviews/dataenv--cce-value-dummy-target-write-visible.json +113 -0
  558. offload/_root/data/findings/reviews/defaultmap-none-loop-variable.json +113 -0
  559. offload/_root/data/findings/reviews/fortran-schedule-static-in-target.json +113 -0
  560. offload/_root/data/findings/reviews/fresh--cce-common-block-name-in-map-rejected.json +113 -0
  561. offload/_root/data/findings/reviews/fresh--cce-list-directed-print-in-target-copy-crash.json +217 -0
  562. offload/_root/data/findings/reviews/fresh--cce19-acc-automatic-array-copyout-copy-crash.json +113 -0
  563. offload/_root/data/findings/reviews/fresh--cce21-combined-if-runtime-expr-loop-skipped.json +113 -0
  564. offload/_root/data/findings/reviews/fresh--nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.json +113 -0
  565. offload/_root/data/findings/reviews/fresh--nvhpc-teams-loop-module-allocatable-assign-fort2-crash.json +113 -0
  566. offload/_root/data/findings/reviews/fuzz--1505-cce20.json +113 -0
  567. offload/_root/data/findings/reviews/fuzz--1540-afar.json +113 -0
  568. offload/_root/data/findings/reviews/fuzz--1978-cce19.json +130 -0
  569. offload/_root/data/findings/reviews/fuzz--2334-cce19.json +113 -0
  570. offload/_root/data/findings/reviews/fuzz--591-cce19.json +147 -0
  571. offload/_root/data/findings/reviews/fuzz--650-afar.json +113 -0
  572. offload/_root/data/findings/reviews/fuzz--916-afar.json +130 -0
  573. offload/_root/data/findings/reviews/fuzz--98-cce19.json +113 -0
  574. offload/_root/data/findings/reviews/fuzz--b1-121-afar.json +160 -0
  575. offload/_root/data/findings/reviews/fuzz--b2-209-cce19.json +141 -0
  576. offload/_root/data/findings/reviews/fuzz--b2-68-afar.json +113 -0
  577. offload/_root/data/findings/reviews/fuzz--b2-85-cce20.json +217 -0
  578. offload/_root/data/findings/reviews/fuzz--b3-188-cce19.json +113 -0
  579. offload/_root/data/findings/reviews/fuzz--b3-278-cce19.json +212 -0
  580. offload/_root/data/findings/reviews/fuzz--b3-54-afar.json +113 -0
  581. offload/_root/data/findings/reviews/fuzz--b3-61-cce20.json +191 -0
  582. offload/_root/data/findings/reviews/fuzz--b4-86-cce19.json +113 -0
  583. offload/_root/data/findings/reviews/fuzz--gcc-declare-reduction-module-not-found.json +113 -0
  584. offload/_root/data/findings/reviews/fuzz--gcc-target-simd-map-nontemporal-rejected.json +113 -0
  585. offload/_root/data/findings/reviews/fuzz--nvhpc-allocatable-component-implicit-map-illegal-address.json +141 -0
  586. offload/_root/data/findings/reviews/fuzz--nvhpc-assumed-length-character-dummy-map-ice.json +113 -0
  587. offload/_root/data/findings/reviews/fuzz--nvhpc-default-none-reduction-lastprivate-fort1-crash.json +113 -0
  588. offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-firstprivate-lastprivate-ice.json +113 -0
  589. offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-to-scalar-reduction-lost.json +113 -0
  590. offload/_root/data/findings/reviews/fuzz--nvhpc-depend-implicit-map-illegal-address.json +113 -0
  591. offload/_root/data/findings/reviews/fuzz--nvhpc-distribute-parallel-num-threads-writes-lost.json +113 -0
  592. offload/_root/data/findings/reviews/fuzz--nvhpc-end-distribute-simd-rejected.json +113 -0
  593. offload/_root/data/findings/reviews/fuzz--nvhpc-loop-character-achar-unsupported.json +113 -0
  594. offload/_root/data/findings/reviews/fuzz--nvhpc-map-always-after-map-to-not-copied-back.json +113 -0
  595. offload/_root/data/findings/reviews/fuzz--nvhpc-num-threads-reduction-identity-lost.json +113 -0
  596. offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-firstprivate-translate-failure.json +191 -0
  597. offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-single-hang.json +113 -0
  598. offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-collapse-translate-failure.json +113 -0
  599. offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-no-end-directive-rejected.json +113 -0
  600. offload/_root/data/findings/reviews/fuzz--par-s1-2082-gcc_g90.json +126 -0
  601. offload/_root/data/findings/reviews/fuzz--s1-2370-cce21.json +113 -0
  602. offload/_root/data/findings/reviews/fuzz--s1-2592-cce21.json +113 -0
  603. offload/_root/data/findings/reviews/fuzz--s1-3463-cce21.json +113 -0
  604. offload/_root/data/findings/reviews/fuzz--s1-6760-cce20.json +130 -0
  605. offload/_root/data/findings/reviews/fuzz--s1-6888-cce21.json +113 -0
  606. offload/_root/data/findings/reviews/fuzz--s1-7882-cce20.json +113 -0
  607. offload/_root/data/findings/reviews/fuzz--s1-8634-cce21.json +113 -0
  608. offload/_root/data/findings/reviews/fuzz--s1-91-cce21.json +113 -0
  609. offload/_root/data/findings/reviews/fuzz--s1-9443-afar.json +113 -0
  610. offload/_root/data/findings/reviews/fuzz--s1-9914-cce19.json +141 -0
  611. offload/_root/data/findings/reviews/gcc--gcc-acc-bind-device-type-rejected.json +113 -0
  612. offload/_root/data/findings/reviews/gcc--gcc-acc-detach-delete-attach-underflow.json +314 -0
  613. offload/_root/data/findings/reviews/gcc--gcc-acc-gang-dim-collapse-force-rejected.json +113 -0
  614. offload/_root/data/findings/reviews/gcc--gcc-acc-init-set-shutdown-rejected.json +113 -0
  615. offload/_root/data/findings/reviews/gcc--gcc-acc-link-in-routine-rejected.json +113 -0
  616. offload/_root/data/findings/reviews/gcc--gcc-acc-use-device-allocatable-rejected.json +113 -0
  617. offload/_root/data/findings/reviews/gcc--gcc-c-motion-mapper-rejected.json +113 -0
  618. offload/_root/data/findings/reviews/gcc--gcc-c-omp60-undocumented-rejected.json +217 -0
  619. offload/_root/data/findings/reviews/gcc--gcc-c-omp60-unimplemented-rejected.json +236 -0
  620. offload/_root/data/findings/reviews/gcc--gcc-c-target-in-task-mandatory-device-not-found.json +236 -0
  621. offload/_root/data/findings/reviews/gcc--gcc-c-uses-allocators-traits-unimplemented.json +113 -0
  622. offload/_root/data/findings/reviews/gcc--gcc-declare-mapper-rejected.json +113 -0
  623. offload/_root/data/findings/reviews/gcc--gcc-defaultmap-to-pointer-copy-back.json +217 -0
  624. offload/_root/data/findings/reviews/gcc--gcc-loop-bind-default-none-rejected.json +113 -0
  625. offload/_root/data/findings/reviews/harvest--afar-flang-strided-target-update.json +141 -0
  626. offload/_root/data/findings/reviews/harvest--cce-acc-declare-create-module-allocatable-xnack1-fault.json +113 -0
  627. offload/_root/data/findings/reviews/harvest--cce-c-implicit-struct-map-partly-present.json +217 -0
  628. offload/_root/data/findings/reviews/harvest--cce-c-strided-target-update.json +141 -0
  629. offload/_root/data/findings/reviews/harvest--cce-ftn-target-parallel-thread-query-ice.json +130 -0
  630. offload/_root/data/findings/reviews/harvest--cce-named-constant-array-declare-target-routine-rejected.json +113 -0
  631. offload/_root/data/findings/reviews/harvest--cce-use-device-ptr-c-ptr-not-converted.json +113 -0
  632. offload/_root/data/findings/reviews/harvest--cce21-declare-target-link-module-variable-write-lost.json +113 -0
  633. offload/_root/data/findings/reviews/harvest--cce21-internal-procedure-calls-internal-in-target-fault.json +158 -0
  634. offload/_root/data/findings/reviews/harvest--gcc-acc-declare-create-allocatable-not-mapped.json +204 -0
  635. offload/_root/data/findings/reviews/harvest--gcc-c-same-item-two-maps-rejected.json +143 -0
  636. offload/_root/data/findings/reviews/harvest--gcc-c-strided-section-rejected.json +164 -0
  637. offload/_root/data/findings/reviews/harvest--gcc-c-target-data-struct-pointer-section-ice.json +113 -0
  638. offload/_root/data/findings/reviews/harvest--gcc-c-target-data-two-maps-ice.json +113 -0
  639. offload/_root/data/findings/reviews/harvest--gcc-teams-simd-matmul-allocatable-ice.json +113 -0
  640. offload/_root/data/findings/reviews/harvest--nvhpc-c-target-data-if-false-use-device-ptr-garbage.json +113 -0
  641. offload/_root/data/findings/reviews/harvest--nvhpc-named-constant-array-declare-target-routine-rejected.json +126 -0
  642. offload/_root/data/findings/reviews/harvest--nvhpc-use-device-ptr-c-ptr-not-found.json +113 -0
  643. offload/_root/data/findings/reviews/harvest--nvhpc2511-target-nowait-in-parallel-for-ice.json +130 -0
  644. offload/_root/data/findings/reviews/hecbench--gcc-c-float16-array-in-target-lto-ice.json +217 -0
  645. offload/_root/data/findings/reviews/hecbench--gcc-c-swar-popcount-assembler-error.json +126 -0
  646. offload/_root/data/findings/reviews/malloc--afar-device-malloc-in-kernel-corrupts-records.json +270 -0
  647. offload/_root/data/findings/reviews/multithread-allocatable-section-maps.json +191 -0
  648. offload/_root/data/findings/reviews/nested--afar-cce-c-call-result-member-in-target-rejected.json +113 -0
  649. offload/_root/data/findings/reviews/nested--afar-cce-c-update-struct-and-member-rejected.json +126 -0
  650. offload/_root/data/findings/reviews/nested--afar-flang-pointer-root-allocatable-component-enter-data-fault.json +191 -0
  651. offload/_root/data/findings/reviews/nested--cce-c-struct-and-nested-pointee-sections-ice.json +113 -0
  652. offload/_root/data/findings/reviews/nested--cce-fortran-nested-allocatable-component-copy-fault.json +214 -0
  653. offload/_root/data/findings/reviews/nested--cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.json +191 -0
  654. offload/_root/data/findings/reviews/nested--cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.json +297 -0
  655. offload/_root/data/findings/reviews/nested--gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.json +204 -0
  656. offload/_root/data/findings/reviews/nested--gcc-acc-c-parent-and-shared-pointee-one-directive.json +130 -0
  657. offload/_root/data/findings/reviews/nested--gcc-acc-c-struct-and-member-array-one-directive.json +141 -0
  658. offload/_root/data/findings/reviews/nested--gcc-c-always-on-pointer-member-section-ice.json +113 -0
  659. offload/_root/data/findings/reviews/nested--gcc-c-declare-mapper-pointer-member-section-gpu-fault.json +113 -0
  660. offload/_root/data/findings/reviews/nested--gcc-c-from-struct-and-pointee-section-rejected.json +113 -0
  661. offload/_root/data/findings/reviews/nested--gcc-fortran-pointer-component-alloc-bounds-lost.json +217 -0
  662. offload/_root/data/findings/reviews/nested--gcc-fortran-root-and-element-pointer-components-ice.json +217 -0
  663. offload/_root/data/findings/reviews/nested--nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.json +204 -0
  664. offload/_root/data/findings/reviews/nested--nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.json +191 -0
  665. offload/_root/data/findings/reviews/nvhpc-c-acc-atomic-update-sum-ice.json +277 -0
  666. offload/_root/data/findings/reviews/nvhpc-c-dist-schedule-chunk-compile-hang.json +113 -0
  667. offload/_root/data/findings/reviews/nvhpc-c-map-present-ignored.json +113 -0
  668. offload/_root/data/findings/reviews/nvhpc-c-ordered-in-target-nvcpfe-crash.json +113 -0
  669. offload/_root/data/findings/reviews/nvhpc-c-parallel-for-firstprivate-in-target.json +113 -0
  670. offload/_root/data/findings/reviews/nvhpc-defaultmap-firstprivate-explicit-map.json +113 -0
  671. offload/_root/data/findings/reviews/nvhpc-defaultmap-from-allocatable-indexing.json +132 -0
  672. offload/_root/data/findings/reviews/nvhpc-depend-inoutset-ignored.json +113 -0
  673. offload/_root/data/findings/reviews/nvhpc-dist-schedule-chunk-illegal-address.json +113 -0
  674. offload/_root/data/findings/reviews/nvhpc-managed-acc-shutdown-host-access.json +113 -0
  675. offload/_root/data/findings/reviews/nvhpc-parallel-if-in-target-nvvm-ice.json +113 -0
  676. offload/_root/data/findings/reviews/oop--afar-final-dealloc-device-link.json +132 -0
  677. offload/_root/data/findings/reviews/oop--afar-pdt-length-parameter-not-implemented.json +113 -0
  678. offload/_root/data/findings/reviews/oop--cce-class-is-device-link.json +130 -0
  679. offload/_root/data/findings/reviews/oop--cce-copy-alloc-component-section-fault.json +217 -0
  680. offload/_root/data/findings/reviews/oop--cce-copy-parent-to-component-tofrom-lost.json +217 -0
  681. offload/_root/data/findings/reviews/oop--cce-copy-second-member-section-lost.json +113 -0
  682. offload/_root/data/findings/reviews/oop--cce-element-component-map-lost.json +113 -0
  683. offload/_root/data/findings/reviews/oop--cce-final-dealloc-device-abort.json +208 -0
  684. offload/_root/data/findings/reviews/oop--cce-pdt-default-mapper-rejected.json +191 -0
  685. offload/_root/data/findings/reviews/oop--cce-polymorphic-dispatch-device-link.json +247 -0
  686. offload/_root/data/findings/reviews/oop--cce-section-of-element-component-overlap.json +113 -0
  687. offload/_root/data/findings/reviews/oop--cce-select-type-guard-not-taken.json +191 -0
  688. offload/_root/data/findings/reviews/oop--cce-udr-derived-type-unsupported.json +132 -0
  689. offload/_root/data/findings/reviews/oop--gcc-acc-parent-and-member-data-rejected.json +141 -0
  690. offload/_root/data/findings/reviews/oop--gcc-pdt-length-parameter-abort.json +141 -0
  691. offload/_root/data/findings/reviews/oop--gcc-polymorphic-dispatch-abort.json +217 -0
  692. offload/_root/data/findings/reviews/oop--gcc-vtab-not-marked-for-offload.json +113 -0
  693. offload/_root/data/findings/reviews/oop--nvhpc-copy-alloc-component-illegal-address.json +113 -0
  694. offload/_root/data/findings/reviews/oop--nvhpc-copy-pdt-length-parameter-illegal-address.json +236 -0
  695. offload/_root/data/findings/reviews/oop--nvhpc-named-mapper-rejected.json +113 -0
  696. offload/_root/data/findings/reviews/oop--nvhpc-polymorphic-dispatch-translate-failure.json +223 -0
  697. offload/_root/data/findings/reviews/oop--nvhpc-polymorphism-runtime-unsupported.json +126 -0
  698. offload/_root/data/findings/reviews/oop--nvhpc-type-bound-call-rejected.json +113 -0
  699. offload/_root/data/findings/reviews/oop--nvhpc-udr-derived-type-rejected.json +113 -0
  700. offload/_root/data/findings/reviews/stress--afar-c-lastprivate-combined-target-not-mapped.json +113 -0
  701. offload/_root/data/findings/reviews/stress--afar-target-scalar-implicit-firstprivate.json +175 -0
  702. offload/_root/data/findings/reviews/stress--cce-acc-declare-create-scalar-serial-firstprivate.json +113 -0
  703. offload/_root/data/findings/reviews/stress--cce-c-distribute-lastprivate-lost.json +113 -0
  704. offload/_root/data/findings/reviews/stress--cce-c-flto-offload-dropped.json +204 -0
  705. offload/_root/data/findings/reviews/stress--cce-ftn-cif-record-split-abort.json +113 -0
  706. offload/_root/data/findings/reviews/stress--cce-lastprivate-num-threads-collapse-simd.json +113 -0
  707. offload/_root/data/findings/reviews/stress--cce-teams-reduction-many-teams-wrap.json +113 -0
  708. offload/_root/data/findings/reviews/stress--cce21-declare-target-scalar-map-write-lost.json +113 -0
  709. offload/_root/data/findings/reviews/stress--gcc-declare-target-allocatable-component-ice.json +191 -0
  710. offload/_root/data/findings/reviews/stress--nvhpc-acc-derived-type-component-not-copied.json +126 -0
  711. offload/_root/data/findings/reviews/stress--nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.json +113 -0
  712. offload/_root/data/findings/reviews/stress--nvhpc-declare-target-scalar-write-lost.json +113 -0
  713. offload/_root/data/findings/reviews/stress--nvhpc-lastprivate-combined-target-not-mapped.json +113 -0
  714. offload/_root/data/findings/reviews/stress--nvhpc-target-scalar-implicit-firstprivate.json +130 -0
  715. offload/_root/data/findings/reviews/target-update-sections-in-parallel.json +113 -0
  716. offload/_root/data/findings/stress/afar-c-lastprivate-combined-target-not-mapped.c +72 -0
  717. offload/_root/data/findings/stress/afar-target-scalar-implicit-firstprivate.f90 +47 -0
  718. offload/_root/data/findings/stress/cce-acc-declare-create-scalar-serial-firstprivate.f90 +43 -0
  719. offload/_root/data/findings/stress/cce-c-distribute-lastprivate-lost.c +52 -0
  720. offload/_root/data/findings/stress/cce-c-flto-offload-dropped.c +73 -0
  721. offload/_root/data/findings/stress/cce-ftn-cif-record-split-abort.f90 +109 -0
  722. offload/_root/data/findings/stress/cce-lastprivate-num-threads-collapse-simd.f90 +66 -0
  723. offload/_root/data/findings/stress/cce-teams-reduction-many-teams-wrap.f90 +55 -0
  724. offload/_root/data/findings/stress/cce21-declare-target-scalar-map-write-lost.f90 +58 -0
  725. offload/_root/data/findings/stress/controls/gcc-declare-target-allocatable-component-control.f90 +29 -0
  726. offload/_root/data/findings/stress/gcc-declare-target-allocatable-component-ice.f90 +61 -0
  727. offload/_root/data/findings/stress/nvhpc-acc-derived-type-component-not-copied.f90 +33 -0
  728. offload/_root/data/findings/stress/nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.c +62 -0
  729. offload/_root/data/findings/stress/nvhpc-declare-target-scalar-write-lost.f90 +43 -0
  730. offload/_root/data/findings/stress/nvhpc-lastprivate-combined-target-not-mapped.f90 +60 -0
  731. offload/_root/data/findings/stress/nvhpc-target-scalar-implicit-firstprivate.f90 +41 -0
  732. offload/_root/data/findings/target-update-sections-in-parallel.f90 +53 -0
  733. offload/_root/data/issues.json +1 -0
  734. offload/_root/data/search.json +1 -0
  735. offload/_root/data/vendor/checks/build.py +288 -0
  736. offload/_version.py +24 -0
  737. offload/canuse.py +88 -0
  738. offload/cli.py +52 -0
  739. offload/data.py +85 -0
  740. offload/engine/__init__.py +0 -0
  741. offload/engine/acc_c_gen.py +415 -0
  742. offload/engine/acc_gen.py +1104 -0
  743. offload/engine/acc_rules.py +656 -0
  744. offload/engine/apps.py +804 -0
  745. offload/engine/baseline.py +324 -0
  746. offload/engine/c_gen.py +883 -0
  747. offload/engine/c_program.py +913 -0
  748. offload/engine/c_rules.py +503 -0
  749. offload/engine/campaign.py +1180 -0
  750. offload/engine/campaigns/__init__.py +2 -0
  751. offload/engine/campaigns/hecbench.py +153 -0
  752. offload/engine/campaigns/nested.py +76 -0
  753. offload/engine/campaigns/oop.py +61 -0
  754. offload/engine/canary.py +275 -0
  755. offload/engine/catalog.py +860 -0
  756. offload/engine/citations.py +532 -0
  757. offload/engine/clang_oracle.py +208 -0
  758. offload/engine/combos.py +234 -0
  759. offload/engine/confirm/__init__.py +2 -0
  760. offload/engine/confirm/backlog.py +159 -0
  761. offload/engine/confirm/claims.py +423 -0
  762. offload/engine/confirm/collectors.py +665 -0
  763. offload/engine/confirm/decisions.py +202 -0
  764. offload/engine/confirm/draft.py +195 -0
  765. offload/engine/confirm/engine.py +157 -0
  766. offload/engine/confirm/execute.py +382 -0
  767. offload/engine/confirm/facts.py +467 -0
  768. offload/engine/confirm/findings.py +617 -0
  769. offload/engine/confirm/forms.py +145 -0
  770. offload/engine/confirm/ingest.py +372 -0
  771. offload/engine/confirm/jobs.py +215 -0
  772. offload/engine/confirm/legality.py +323 -0
  773. offload/engine/confirm/machines.py +254 -0
  774. offload/engine/confirm/minimize.py +268 -0
  775. offload/engine/confirm/model.py +249 -0
  776. offload/engine/confirm/ports.py +107 -0
  777. offload/engine/confirm/programs.py +222 -0
  778. offload/engine/confirm/registry.py +151 -0
  779. offload/engine/confirm/regress.py +278 -0
  780. offload/engine/confirm/rules.py +565 -0
  781. offload/engine/confirm/store.py +63 -0
  782. offload/engine/confirm/triage.py +838 -0
  783. offload/engine/confirm/validate.py +607 -0
  784. offload/engine/confirm/witness.py +355 -0
  785. offload/engine/corpus_check.py +388 -0
  786. offload/engine/coverage.py +318 -0
  787. offload/engine/dataenv_gen.py +1318 -0
  788. offload/engine/dataenv_rules.py +278 -0
  789. offload/engine/devtemps.py +146 -0
  790. offload/engine/expected.py +2559 -0
  791. offload/engine/f2c.py +1783 -0
  792. offload/engine/finding_claims.py +330 -0
  793. offload/engine/finding_header.py +229 -0
  794. offload/engine/finding_rows.py +382 -0
  795. offload/engine/flang_oracle.py +299 -0
  796. offload/engine/fsource.py +620 -0
  797. offload/engine/fuzz.py +2455 -0
  798. offload/engine/fuzz_base.py +2016 -0
  799. offload/engine/fuzz_campaign.py +592 -0
  800. offload/engine/fuzz_exec.py +798 -0
  801. offload/engine/fuzz_min.py +1049 -0
  802. offload/engine/fuzz_profile.py +340 -0
  803. offload/engine/fuzz_report.py +1270 -0
  804. offload/engine/fuzz_steer.py +181 -0
  805. offload/engine/gate.py +1013 -0
  806. offload/engine/gate_report.py +711 -0
  807. offload/engine/gate_run.py +118 -0
  808. offload/engine/gate_stored.py +466 -0
  809. offload/engine/gen.py +1114 -0
  810. offload/engine/gen_templates.py +2583 -0
  811. offload/engine/grammar.py +695 -0
  812. offload/engine/harness.py +1472 -0
  813. offload/engine/harvest/__init__.py +3 -0
  814. offload/engine/harvest/c_runtime.py +465 -0
  815. offload/engine/harvest/checks.py +534 -0
  816. offload/engine/harvest/convert.py +784 -0
  817. offload/engine/harvest/f_runtime.py +668 -0
  818. offload/engine/harvest/filters.py +338 -0
  819. offload/engine/harvest/history.py +122 -0
  820. offload/engine/harvest/inventory.py +399 -0
  821. offload/engine/harvest2/__init__.py +5 -0
  822. offload/engine/harvest2/aomp.py +119 -0
  823. offload/engine/harvest2/examples.py +116 -0
  824. offload/engine/harvest2/gomp.py +679 -0
  825. offload/engine/harvest2/hand.py +150 -0
  826. offload/engine/harvest2/split.py +78 -0
  827. offload/engine/harvest_known/__init__.py +2 -0
  828. offload/engine/harvest_known/apps.py +65 -0
  829. offload/engine/harvest_known/cases.py +128 -0
  830. offload/engine/harvest_known/centres.py +184 -0
  831. offload/engine/harvest_known/forum.py +180 -0
  832. offload/engine/harvest_known/relnotes.py +42 -0
  833. offload/engine/harvest_known/textscan.py +107 -0
  834. offload/engine/hdrwrap.py +42 -0
  835. offload/engine/hecbench.py +568 -0
  836. offload/engine/hecbench_report.py +265 -0
  837. offload/engine/hecbench_run.py +483 -0
  838. offload/engine/idioms.py +1427 -0
  839. offload/engine/kbody_cites.py +81 -0
  840. offload/engine/kbody_emit.py +949 -0
  841. offload/engine/kbody_gen.py +795 -0
  842. offload/engine/legality_review.py +236 -0
  843. offload/engine/localcfg.py +58 -0
  844. offload/engine/malloc_dd.py +267 -0
  845. offload/engine/mutate.py +1933 -0
  846. offload/engine/nested_cites.py +196 -0
  847. offload/engine/nested_emit.py +789 -0
  848. offload/engine/nested_gen.py +1721 -0
  849. offload/engine/offload_scope.py +197 -0
  850. offload/engine/ompvv.py +624 -0
  851. offload/engine/oop_gen.py +2249 -0
  852. offload/engine/prerun.py +1435 -0
  853. offload/engine/program_source.py +739 -0
  854. offload/engine/provenance.py +103 -0
  855. offload/engine/reduce.py +2098 -0
  856. offload/engine/report.py +3374 -0
  857. offload/engine/root.py +33 -0
  858. offload/engine/rules.py +4256 -0
  859. offload/engine/run_matrix.py +325 -0
  860. offload/engine/site/__init__.py +1 -0
  861. offload/engine/site/columns.py +53 -0
  862. offload/engine/site/data.py +648 -0
  863. offload/engine/site/header.py +228 -0
  864. offload/engine/site/inputs.py +115 -0
  865. offload/engine/site/matrix.py +434 -0
  866. offload/engine/site/scrub.py +294 -0
  867. offload/engine/skeleton.py +121 -0
  868. offload/engine/spec_text.py +242 -0
  869. offload/engine/stress.py +4122 -0
  870. offload/engine/stress_c.py +1000 -0
  871. offload/engine/stress_exec.py +805 -0
  872. offload/engine/stress_min.py +248 -0
  873. offload/engine/stress_report.py +552 -0
  874. offload/engine/textclean.py +97 -0
  875. offload/engine/toolchains.py +1070 -0
  876. offload/engine/transforms.py +511 -0
  877. offload/engine/usage.py +1252 -0
  878. offload/engine/widen.py +673 -0
  879. offload/engine/widen_progs.py +2396 -0
  880. offload/issues.py +146 -0
  881. offtarget-0.1.0.dist-info/METADATA +86 -0
  882. offtarget-0.1.0.dist-info/RECORD +886 -0
  883. offtarget-0.1.0.dist-info/WHEEL +4 -0
  884. offtarget-0.1.0.dist-info/entry_points.txt +2 -0
  885. offtarget-0.1.0.dist-info/licenses/LICENSE +21 -0
  886. offtarget-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +20 -0
@@ -0,0 +1,2047 @@
1
+ # Vendor claims for the first slice (OpenMP, free-form Fortran, target offload).
2
+ #
3
+ # Read by offload/engine/report.py (load_claims, compare_claims). Every entry is
4
+ # `status: provisional`: the mapping from a vendor's prose to catalog atoms is
5
+ # this project's reading and awaits the maintainer's review.
6
+ #
7
+ # Fields
8
+ # source short id of the document (see the sources list below)
9
+ # url where the claim is published (the citation)
10
+ # toolchain afar | cce19 (the compiler the claim is compared with)
11
+ # atom / atoms catalog atoms the claim covers (or `pattern`, an fnmatch glob)
12
+ # claim supported | unsupported | partial
13
+ # form optional: compile_error (an unsupported feature is a compile
14
+ # error, so anything but rejection contradicts it) or accepted
15
+ # (a partial feature is accepted, so rejection contradicts it)
16
+ # general true for a release-level statement ("full OpenMP 4.5"); it
17
+ # applies to an atom only when no specific claim for the same
18
+ # toolchain covers that atom
19
+ # versions optional: catalog versions (52, 60) the claim is compared at.
20
+ # Release-level 4.5/5.0 claims are compared with the 5.2
21
+ # programs only; 6.0 spellings are outside such claims.
22
+ # quote the vendor's words (verbatim, or "feature | status" for a
23
+ # status-table row)
24
+ # language language the vendor's statement is about
25
+ # version_note which compiler or release the document describes
26
+ #
27
+ # Sources
28
+ # hpe-cce-intro-openmp HPE intro_openmp(7). The quoted sentences are
29
+ # also in the man page shipped with CCE 19.0.0
30
+ # (/opt/cray/pe/cce/19.0.0/man/man7/intro_openmp.7,
31
+ # checked 2026-10-18); the web page describes the
32
+ # current release.
33
+ # rocm-openmp-support AMD "ROCm OpenMP support": "fully supports the
34
+ # OpenMP 4.5 standard and a subset of OpenMP 5.0,
35
+ # 5.1, and 5.2 standards" (release-level, ROCm 7.x
36
+ # LLVM; no per-feature list).
37
+ # rocm-clang-openmp-status AMD-hosted Clang 20.0.0git OpenMPSupport table:
38
+ # C/C++ only, older than AFAR's 24.0.0git; a
39
+ # purported column for amdflang.
40
+ # afar-flang-openmp-status flang/docs/OpenMPSupport.md at the exact AFAR
41
+ # 24.3.0 source commit of ROCm/llvm-project
42
+ # (copied to data/index/claims/amdflang_afar_openmp_status.csv).
43
+ # Status good -> supported, part / progress ->
44
+ # partial, none -> unsupported. Quotes use the CSV
45
+ # transcription's status codes; the rendered page
46
+ # words them differently (good is shown as done,
47
+ # none as unclaimed).
48
+ # afar-flang-lowering-todo flang/test/Lower/OpenMP/Todo tests at the same
49
+ # commit: the lowering stops with "not yet
50
+ # implemented" (the doc calls these authoritative).
51
+ # Listed in data/index/claims/amdflang_afar_lowering_todo_tests.txt.
52
+
53
+ claims:
54
+
55
+ # --- HPE CCE (cce19) ----------------------------------------------------------------
56
+
57
+ - source: hpe-cce-intro-openmp
58
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
59
+ general: true
60
+ versions: [52]
61
+ claim: supported
62
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
63
+ note: "Atoms that exist in OpenMP 4.5 (full 5.0 includes them)."
64
+ language: Fortran and C/C++
65
+ version_note: &hpe_note "intro_openmp(7); same text in the CCE 19.0.0 man page"
66
+ status: provisional
67
+ atoms: &omp45
68
+ - omp.directive.target
69
+ - omp.directive.target_data
70
+ - omp.directive.target_enter_data
71
+ - omp.directive.target_exit_data
72
+ - omp.directive.target_update
73
+ - omp.directive.teams
74
+ - omp.directive.distribute
75
+ - omp.directive.distribute_simd
76
+ - omp.directive.distribute_parallel_do
77
+ - omp.directive.distribute_parallel_do_simd
78
+ - omp.directive.declare_target
79
+ - omp.directive.parallel_do
80
+ - omp.directive.parallel_do_simd
81
+ - omp.directive.target_parallel
82
+ - omp.directive.target_parallel_do
83
+ - omp.directive.target_parallel_do_simd
84
+ - omp.directive.target_simd
85
+ - omp.directive.target_teams
86
+ - omp.directive.target_teams_distribute
87
+ - omp.directive.target_teams_distribute_simd
88
+ - omp.directive.target_teams_distribute_parallel_do
89
+ - omp.directive.target_teams_distribute_parallel_do_simd
90
+ - omp.directive.teams_distribute
91
+ - omp.directive.teams_distribute_simd
92
+ - omp.directive.teams_distribute_parallel_do
93
+ - omp.directive.teams_distribute_parallel_do_simd
94
+ - omp.clause.map
95
+ - omp.clause.map.to
96
+ - omp.clause.map.from
97
+ - omp.clause.map.tofrom
98
+ - omp.clause.map.alloc
99
+ - omp.clause.map.release
100
+ - omp.clause.map.delete
101
+ - omp.clause.map.always
102
+ - omp.clause.defaultmap
103
+ - omp.clause.defaultmap.tofrom
104
+ - omp.clause.defaultmap.scalar
105
+ - omp.clause.is_device_ptr
106
+ - omp.clause.use_device_ptr
107
+ - omp.clause.device
108
+ - omp.clause.if
109
+ - omp.clause.if.directive_name
110
+ - omp.clause.depend
111
+ - omp.clause.depend.in
112
+ - omp.clause.depend.out
113
+ - omp.clause.depend.inout
114
+ - omp.clause.nowait
115
+ - omp.clause.private
116
+ - omp.clause.firstprivate
117
+ - omp.clause.lastprivate
118
+ - omp.clause.shared
119
+ - omp.clause.default
120
+ - omp.clause.default.shared
121
+ - omp.clause.default.none
122
+ - omp.clause.reduction
123
+ - omp.clause.reduction.plus
124
+ - omp.clause.reduction.times
125
+ - omp.clause.reduction.minus
126
+ - omp.clause.reduction.max
127
+ - omp.clause.reduction.min
128
+ - omp.clause.reduction.iand
129
+ - omp.clause.reduction.ior
130
+ - omp.clause.reduction.ieor
131
+ - omp.clause.reduction.and
132
+ - omp.clause.reduction.or
133
+ - omp.clause.reduction.eqv
134
+ - omp.clause.reduction.neqv
135
+ - omp.clause.collapse
136
+ - omp.clause.dist_schedule
137
+ - omp.clause.dist_schedule.static
138
+ - omp.clause.dist_schedule.chunk_size
139
+ - omp.clause.schedule
140
+ - omp.clause.schedule.static
141
+ - omp.clause.schedule.dynamic
142
+ - omp.clause.schedule.guided
143
+ - omp.clause.schedule.auto
144
+ - omp.clause.schedule.runtime
145
+ - omp.clause.schedule.chunk_size
146
+ - omp.clause.schedule.monotonic
147
+ - omp.clause.schedule.nonmonotonic
148
+ - omp.clause.schedule.simd
149
+ - omp.clause.ordered
150
+ - omp.clause.ordered.n
151
+ - omp.clause.linear
152
+ - omp.clause.linear.val
153
+ - omp.clause.linear.ref
154
+ - omp.clause.linear.uval
155
+ - omp.clause.linear.step_simple_modifier
156
+ - omp.clause.aligned
157
+ - omp.clause.aligned.alignment
158
+ - omp.clause.safelen
159
+ - omp.clause.simdlen
160
+ - omp.clause.num_teams
161
+ - omp.clause.thread_limit
162
+ - omp.clause.num_threads
163
+ - omp.clause.proc_bind
164
+ - omp.clause.proc_bind.master
165
+ - omp.clause.proc_bind.close
166
+ - omp.clause.proc_bind.spread
167
+ - omp.clause.copyin
168
+ - omp.clause.to
169
+ - omp.clause.from
170
+ - omp.clause.link
171
+
172
+ - source: hpe-cce-intro-openmp
173
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
174
+ general: true
175
+ versions: [52]
176
+ claim: supported
177
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
178
+ note: "Atoms new in OpenMP 5.0 (OpenMP 5.0 Appendix B, 4.5 to 5.0 differences)."
179
+ language: Fortran and C/C++
180
+ version_note: *hpe_note
181
+ status: provisional
182
+ atoms: &omp50
183
+ - omp.directive.requires
184
+ - omp.directive.loop
185
+ - omp.directive.parallel_loop
186
+ - omp.directive.target_parallel_loop
187
+ - omp.directive.target_teams_loop
188
+ - omp.directive.teams_loop
189
+ - omp.clause.unified_shared_memory
190
+ - omp.clause.unified_address
191
+ - omp.clause.atomic_default_mem_order
192
+ - omp.clause.atomic_default_mem_order.seq_cst
193
+ - omp.clause.atomic_default_mem_order.acq_rel
194
+ - omp.clause.atomic_default_mem_order.relaxed
195
+ - omp.clause.bind
196
+ - omp.clause.bind.teams
197
+ - omp.clause.bind.parallel
198
+ - omp.clause.bind.thread
199
+ - omp.clause.order
200
+ - omp.clause.order.concurrent
201
+ - omp.clause.map.mapper
202
+ - omp.clause.use_device_addr
203
+ - omp.clause.device_type
204
+ - omp.clause.device_type.any
205
+ - omp.clause.device_type.host
206
+ - omp.clause.device_type.nohost
207
+ - omp.clause.depend.mutexinoutset
208
+ - omp.clause.depend.depobj
209
+ - omp.clause.depend.iterator
210
+ - omp.clause.in_reduction
211
+ - omp.clause.in_reduction.plus
212
+ - omp.clause.in_reduction.times
213
+ - omp.clause.in_reduction.minus
214
+ - omp.clause.in_reduction.max
215
+ - omp.clause.in_reduction.min
216
+ - omp.clause.in_reduction.iand
217
+ - omp.clause.in_reduction.ior
218
+ - omp.clause.in_reduction.ieor
219
+ - omp.clause.in_reduction.and
220
+ - omp.clause.in_reduction.or
221
+ - omp.clause.in_reduction.eqv
222
+ - omp.clause.in_reduction.neqv
223
+ - omp.clause.reduction.task
224
+ - omp.clause.reduction.inscan
225
+ - omp.clause.reduction.default
226
+ - omp.clause.lastprivate.conditional
227
+ - omp.clause.allocate
228
+ - omp.clause.allocate.allocator_simple_modifier
229
+ - omp.clause.uses_allocators
230
+ - omp.clause.defaultmap.alloc
231
+ - omp.clause.defaultmap.to
232
+ - omp.clause.defaultmap.from
233
+ - omp.clause.defaultmap.firstprivate
234
+ - omp.clause.defaultmap.none
235
+ - omp.clause.defaultmap.default
236
+ - omp.clause.defaultmap.aggregate
237
+ - omp.clause.defaultmap.pointer
238
+ - omp.clause.defaultmap.allocatable
239
+ - omp.clause.device.ancestor
240
+ - omp.clause.device.device_num
241
+ - omp.clause.nontemporal
242
+
243
+ - source: hpe-cce-intro-openmp
244
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
245
+ claim: unsupported
246
+ form: compile_error
247
+ quote: "The requires directive clauses dynamic_allocators and reverse_offload currently result in compile time errors."
248
+ language: Fortran and C/C++
249
+ version_note: *hpe_note
250
+ status: provisional
251
+ atoms:
252
+ - omp.clause.reverse_offload
253
+ - omp.clause.reverse_offload.required
254
+ - omp.clause.dynamic_allocators
255
+ - omp.clause.dynamic_allocators.required
256
+
257
+ - source: hpe-cce-intro-openmp
258
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
259
+ claim: unsupported
260
+ quote: "The device clause is not supported. The other mechanisms for selecting a default device are supported: OMP_DEFAULT_DEVICE and omp_set_default_device."
261
+ language: Fortran and C/C++
262
+ version_note: *hpe_note
263
+ status: provisional
264
+ atoms:
265
+ - omp.clause.device
266
+ - omp.clause.device.device_num
267
+ - omp.clause.device.ancestor
268
+
269
+ - source: hpe-cce-intro-openmp
270
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
271
+ claim: partial
272
+ form: accepted
273
+ quote: "Several hints are parsed and accepted, but no action is taken: simd nontemporal, atomic hints, nonmonotonic loop scheduling, and the close modifier."
274
+ language: Fortran and C/C++
275
+ version_note: *hpe_note
276
+ status: provisional
277
+ atoms:
278
+ - omp.clause.nontemporal
279
+ - omp.clause.schedule.nonmonotonic
280
+ - omp.clause.map.close
281
+
282
+ - source: hpe-cce-intro-openmp
283
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
284
+ claim: partial
285
+ form: accepted
286
+ quote: "The mutexinoutset and inoutset dependence types are accepted but treated as inout dependence types"
287
+ language: Fortran and C/C++
288
+ version_note: *hpe_note
289
+ status: provisional
290
+ atoms:
291
+ - omp.clause.depend.mutexinoutset
292
+ - omp.clause.depend.inoutset
293
+
294
+ - source: hpe-cce-intro-openmp
295
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
296
+ claim: partial
297
+ form: accepted
298
+ quote: "The uses_allocators clause is accepted, but its usefulness is limited because CCE does not currently support the OpenMP memory allocation APIs in target regions for non-host devices"
299
+ language: Fortran and C/C++
300
+ version_note: *hpe_note
301
+ status: provisional
302
+ atoms:
303
+ - omp.clause.uses_allocators
304
+
305
+ - source: hpe-cce-intro-openmp
306
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
307
+ claim: partial
308
+ form: accepted
309
+ quote: "The order(concurrent) clause is accepted, but is not used for additional optimization."
310
+ language: Fortran and C/C++
311
+ version_note: *hpe_note
312
+ status: provisional
313
+ atoms:
314
+ - omp.clause.order
315
+ - omp.clause.order.concurrent
316
+
317
+ - source: hpe-cce-intro-openmp
318
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
319
+ claim: supported
320
+ quote: "The following OpenMP 5.1 features are supported: ... iterator modifier in depend, map, and motion clauses (Fortran only)"
321
+ spec_version: "5.1"
322
+ language: Fortran
323
+ version_note: *hpe_note
324
+ status: provisional
325
+ atoms:
326
+ - omp.clause.depend.iterator
327
+ - omp.clause.map.iterator
328
+ - omp.clause.to.iterator
329
+ - omp.clause.from.iterator
330
+
331
+ - source: hpe-cce-intro-openmp
332
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
333
+ claim: supported
334
+ quote: "The following OpenMP 5.1 features are supported: ... has_device_addr clause on target construct"
335
+ spec_version: "5.1"
336
+ language: Fortran and C/C++
337
+ version_note: *hpe_note
338
+ status: provisional
339
+ atoms:
340
+ - omp.clause.has_device_addr
341
+
342
+ - source: hpe-cce-intro-openmp
343
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
344
+ claim: supported
345
+ quote: "The following OpenMP 5.1 features are supported: ... indirect clause"
346
+ spec_version: "5.1"
347
+ language: Fortran and C/C++
348
+ version_note: *hpe_note
349
+ status: provisional
350
+ atoms:
351
+ - omp.clause.indirect
352
+
353
+ - source: hpe-cce-intro-openmp
354
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
355
+ claim: unsupported
356
+ quote: "indirect invoked-by-fptr argument is not supported."
357
+ language: Fortran and C/C++
358
+ version_note: *hpe_note
359
+ status: provisional
360
+ atoms:
361
+ - omp.clause.indirect.invoked_by_fptr
362
+
363
+ - source: hpe-cce-intro-openmp
364
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
365
+ claim: supported
366
+ quote: "The following OpenMP 5.1 features are supported: ... primary policy for the proc_bind clause"
367
+ spec_version: "5.1"
368
+ language: Fortran and C/C++
369
+ version_note: *hpe_note
370
+ status: provisional
371
+ atoms:
372
+ - omp.clause.proc_bind.primary
373
+
374
+ - source: hpe-cce-intro-openmp
375
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
376
+ claim: supported
377
+ quote: "The following OpenMP 5.1 features are supported: ... reproducible/unconstrainted modifiers for order clause"
378
+ spec_version: "5.1"
379
+ language: Fortran and C/C++
380
+ version_note: *hpe_note
381
+ status: provisional
382
+ atoms:
383
+ - omp.clause.order.reproducible
384
+ - omp.clause.order.unconstrained
385
+
386
+ - source: hpe-cce-intro-openmp
387
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
388
+ claim: unsupported
389
+ quote: "The following OpenMP 5.1 features are supported: ... present behavior for defaultmap (C/C++ only)"
390
+ spec_version: "5.1"
391
+ note: "Fortran is excluded by the vendor's '(C/C++ only)'; read as unsupported for Fortran (an inference)."
392
+ language: Fortran
393
+ version_note: *hpe_note
394
+ status: provisional
395
+ atoms:
396
+ - omp.clause.defaultmap.present
397
+
398
+ - source: hpe-cce-intro-openmp
399
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
400
+ claim: supported
401
+ quote: "Default and named mappers in Fortran are supported for top-level objects (scalars and arrays) on map clauses; only default mappers are supported for update directives"
402
+ note: "The generated to/from programs name mapper(default), the form said to be supported on update."
403
+ language: Fortran
404
+ version_note: *hpe_note
405
+ status: provisional
406
+ atoms:
407
+ - omp.clause.map.mapper
408
+ - omp.clause.to.mapper
409
+ - omp.clause.from.mapper
410
+
411
+ - source: hpe-cce-intro-openmp
412
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
413
+ claim: supported
414
+ quote: "omp scan is functionally supported, but loops will be limited to a single thread"
415
+ language: Fortran and C/C++
416
+ version_note: *hpe_note
417
+ status: provisional
418
+ atoms:
419
+ - omp.clause.reduction.inscan
420
+
421
+ - source: hpe-cce-intro-openmp
422
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
423
+ claim: supported
424
+ quote: "The conditional modifier for lastprivate is functionally supported on GPU, but runs with a single thread."
425
+ language: Fortran and C/C++
426
+ version_note: *hpe_note
427
+ status: provisional
428
+ atoms:
429
+ - omp.clause.lastprivate.conditional
430
+
431
+ - source: hpe-cce-intro-openmp
432
+ url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
433
+ claim: supported
434
+ quote: "Currently, CCE only supports omp requires unified_shared_memory for AMD MI250X, AMD MI300A, and NVIDIA GH200 GPUs. Recoverable page faults must be enabled at runtime for AMD GPUs to support unified memory (e.g., by setting the HSA_XNACK=1 environment variable), otherwise full unified memory support will not be available and the CCE OpenMP library will issue a fatal runtime error."
435
+ language: Fortran and C/C++
436
+ version_note: *hpe_note
437
+ status: provisional
438
+ atoms:
439
+ - omp.clause.unified_shared_memory
440
+
441
+ # --- AMD: ROCm release statement (afar) ---------------------------------------------
442
+
443
+ - source: rocm-openmp-support
444
+ url: https://rocm.docs.amd.com/projects/llvm-project/en/docs-7.1.0/conceptual/openmp.html
445
+ toolchain: afar
446
+ general: true
447
+ versions: [52]
448
+ claim: supported
449
+ quote: "The ROCm installation includes an LLVM-based implementation that fully supports the OpenMP 4.5 standard and a subset of OpenMP 5.0, 5.1, and 5.2 standards. Fortran, C/C++ compilers, and corresponding runtime libraries are included."
450
+ note: "Atoms that exist in OpenMP 4.5. The 5.x subset is not itemised, so no 5.x atom gets a claim from this page."
451
+ language: Fortran and C/C++
452
+ version_note: "Release-level claim for the ROCm 7.1/7.2 LLVM (same text at docs-7.2.4); not a statement about AFAR 24.3.0 (amdflang 24.0.0git)"
453
+ status: provisional
454
+ atoms: *omp45
455
+
456
+ # --- AMD: Clang 20.0.0git status table (afar, C/C++ only) --------------------------
457
+
458
+ - source: rocm-clang-openmp-status
459
+ url: &clang_url https://rocm.docs.amd.com/projects/llvm-project/en/docs-7.1.1/LLVM/clang/html/OpenMPSupport.html
460
+ toolchain: afar
461
+ claim: supported
462
+ quote: "device | clause: device_type | done"
463
+ language: C/C++
464
+ version_note: &clang_note "Clang 20.0.0git C/C++ table hosted by AMD; purported for amdflang, older than AFAR"
465
+ status: provisional
466
+ atoms: [omp.clause.device_type, omp.clause.device_type.any, omp.clause.device_type.host, omp.clause.device_type.nohost]
467
+
468
+ - source: rocm-clang-openmp-status
469
+ url: *clang_url
470
+ toolchain: afar
471
+ claim: supported
472
+ quote: "device | clause: extended device | done"
473
+ language: C/C++
474
+ version_note: *clang_note
475
+ status: provisional
476
+ atoms: [omp.clause.device.ancestor, omp.clause.device.device_num]
477
+
478
+ - source: rocm-clang-openmp-status
479
+ url: *clang_url
480
+ toolchain: afar
481
+ claim: supported
482
+ quote: "device | clause: uses_allocators clause | done"
483
+ language: C/C++
484
+ version_note: *clang_note
485
+ status: provisional
486
+ atoms: [omp.clause.uses_allocators]
487
+
488
+ - source: rocm-clang-openmp-status
489
+ url: *clang_url
490
+ toolchain: afar
491
+ claim: supported
492
+ quote: "device | support full 'defaultmap' functionality | done"
493
+ language: C/C++
494
+ version_note: *clang_note
495
+ status: provisional
496
+ atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.firstprivate, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer]
497
+
498
+ - source: rocm-clang-openmp-status
499
+ url: *clang_url
500
+ toolchain: afar
501
+ claim: supported
502
+ quote: "device | requires directive | done; device | clause: unified_shared_memory | done"
503
+ language: C/C++
504
+ version_note: *clang_note
505
+ status: provisional
506
+ atoms: [omp.directive.requires, omp.clause.unified_shared_memory]
507
+
508
+ - source: rocm-clang-openmp-status
509
+ url: *clang_url
510
+ toolchain: afar
511
+ claim: partial
512
+ quote: "device | clause: reverse_offload | partial; device | clause: dynamic_allocators | unclaimed parts"
513
+ language: C/C++
514
+ version_note: *clang_note
515
+ status: provisional
516
+ atoms: [omp.clause.reverse_offload, omp.clause.dynamic_allocators]
517
+
518
+ - source: rocm-clang-openmp-status
519
+ url: *clang_url
520
+ toolchain: afar
521
+ claim: supported
522
+ quote: "device | user-defined mappers | done"
523
+ language: C/C++
524
+ version_note: *clang_note
525
+ status: provisional
526
+ atoms: [omp.clause.map.mapper]
527
+
528
+ - source: rocm-clang-openmp-status
529
+ url: *clang_url
530
+ toolchain: afar
531
+ claim: supported
532
+ quote: "device | support close modifier on map clause | done"
533
+ language: C/C++
534
+ version_note: *clang_note
535
+ status: provisional
536
+ atoms: [omp.clause.map.close]
537
+
538
+ - source: rocm-clang-openmp-status
539
+ url: *clang_url
540
+ toolchain: afar
541
+ claim: supported
542
+ quote: "misc | iterator and multidependences | done; misc | depobj directive and depobj dependency kind | done; task | mutexinoutset dependence-type for tasks | done; task | inoutset in depend clause | done"
543
+ language: C/C++
544
+ version_note: *clang_note
545
+ status: provisional
546
+ atoms: [omp.clause.depend.iterator, omp.clause.depend.depobj, omp.clause.depend.mutexinoutset, omp.clause.depend.inoutset]
547
+
548
+ - source: rocm-clang-openmp-status
549
+ url: *clang_url
550
+ toolchain: afar
551
+ claim: supported
552
+ quote: "memory management | allocate directive and allocate clause | done; 'allocator' modifier for allocate clause | done; 'align' modifier for allocate clause | done"
553
+ language: C/C++
554
+ version_note: *clang_note
555
+ status: provisional
556
+ atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.allocate.allocator, omp.clause.allocate.align]
557
+
558
+ - source: rocm-clang-openmp-status
559
+ url: *clang_url
560
+ toolchain: afar
561
+ claim: supported
562
+ quote: "device | 'present' map type modifier | done; 'present' motion modifier | done; 'present' in defaultmap clause | done"
563
+ language: C/C++
564
+ version_note: *clang_note
565
+ status: provisional
566
+ atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present]
567
+
568
+ - source: rocm-clang-openmp-status
569
+ url: *clang_url
570
+ toolchain: afar
571
+ claim: partial
572
+ quote: "device | thread_limit clause on target construct | partial"
573
+ language: C/C++
574
+ version_note: *clang_note
575
+ status: provisional
576
+ atoms: [omp.clause.thread_limit]
577
+
578
+ - source: rocm-clang-openmp-status
579
+ url: *clang_url
580
+ toolchain: afar
581
+ claim: unsupported
582
+ quote: "device | has_device_addr clause on target construct | unclaimed"
583
+ language: C/C++
584
+ version_note: *clang_note
585
+ status: provisional
586
+ atoms: [omp.clause.has_device_addr]
587
+
588
+ - source: rocm-clang-openmp-status
589
+ url: *clang_url
590
+ toolchain: afar
591
+ claim: unsupported
592
+ quote: "device | iterators in map clause or motion clauses | unclaimed"
593
+ language: C/C++
594
+ version_note: *clang_note
595
+ status: provisional
596
+ atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
597
+
598
+ - source: rocm-clang-openmp-status
599
+ url: *clang_url
600
+ toolchain: afar
601
+ claim: unsupported
602
+ quote: "device | indirect clause on declare target directive | unclaimed"
603
+ language: C/C++
604
+ version_note: *clang_note
605
+ status: provisional
606
+ atoms: [omp.clause.indirect, omp.clause.indirect.invoked_by_fptr]
607
+
608
+ - source: rocm-clang-openmp-status
609
+ url: *clang_url
610
+ toolchain: afar
611
+ claim: partial
612
+ quote: "loop | 'reproducible'/'unconstrained' modifiers in 'order' clause | partial"
613
+ language: C/C++
614
+ version_note: *clang_note
615
+ status: provisional
616
+ atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
617
+
618
+ - source: rocm-clang-openmp-status
619
+ url: *clang_url
620
+ toolchain: afar
621
+ claim: partial
622
+ quote: "loop | #pragma omp loop (directive) | partial; loop | #pragma omp loop bind | worked on"
623
+ language: C/C++
624
+ version_note: *clang_note
625
+ status: provisional
626
+ atoms: [omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.clause.bind, omp.clause.bind.teams, omp.clause.bind.parallel, omp.clause.bind.thread]
627
+
628
+ - source: rocm-clang-openmp-status
629
+ url: *clang_url
630
+ toolchain: afar
631
+ claim: supported
632
+ quote: "loop | inclusive scan (matching C++17 PSTL) | done"
633
+ language: C/C++
634
+ version_note: *clang_note
635
+ status: provisional
636
+ atoms: [omp.clause.reduction.inscan]
637
+
638
+ # --- AMD: flang OpenMPSupport.md at the AFAR commit (afar, Fortran) ----------------
639
+
640
+ - source: afar-flang-openmp-status
641
+ url: &flang_url https://github.com/ROCm/llvm-project/blob/3ba19712e9fbf709f6c93d33394211ed4eeec8a7/flang/docs/OpenMPSupport.md
642
+ toolchain: afar
643
+ claim: supported
644
+ quote: "OpenMP 4.0 | target data construct | good; target construct | good; target update construct | good; declare target directive | good; teams construct | good; distribute construct | good; distribute parallel loop construct | good; target teams construct | good; teams distribute construct | good; target teams distribute construct | good; teams distribute parallel loop construct | good; target teams distribute parallel loop construct | good"
645
+ spec_version: "4.0"
646
+ language: Fortran
647
+ version_note: &flang_note "flang/docs/OpenMPSupport.md at the AFAR 24.3.0 source commit (data/index/claims/amdflang_afar_openmp_status.csv)"
648
+ status: provisional
649
+ atoms: [omp.directive.target_data, omp.directive.target, omp.directive.target_update, omp.directive.declare_target, omp.directive.teams, omp.directive.distribute, omp.directive.distribute_parallel_do, omp.directive.target_teams, omp.directive.teams_distribute, omp.directive.target_teams_distribute, omp.directive.teams_distribute_parallel_do, omp.directive.target_teams_distribute_parallel_do]
650
+
651
+ - source: afar-flang-openmp-status
652
+ url: *flang_url
653
+ toolchain: afar
654
+ claim: partial
655
+ quote: "OpenMP 4.0 | distribute simd construct | part; distribute parallel loop simd construct | part; parallel do simd construct | part; teams distribute simd construct | part; teams distribute parallel loop simd construct | part; target teams distribute parallel loop simd construct | part"
656
+ spec_version: "4.0"
657
+ language: Fortran
658
+ version_note: *flang_note
659
+ status: provisional
660
+ atoms: [omp.directive.distribute_simd, omp.directive.distribute_parallel_do_simd, omp.directive.parallel_do_simd, omp.directive.teams_distribute_simd, omp.directive.teams_distribute_parallel_do_simd, omp.directive.target_teams_distribute_parallel_do_simd]
661
+
662
+ - source: afar-flang-openmp-status
663
+ url: *flang_url
664
+ toolchain: afar
665
+ claim: supported
666
+ quote: "OpenMP 4.0 | depend clause | good; OpenMP 4.0 | proc_bind clause | good"
667
+ spec_version: "4.0"
668
+ language: Fortran
669
+ version_note: *flang_note
670
+ status: provisional
671
+ atoms: [omp.clause.depend, omp.clause.depend.in, omp.clause.depend.out, omp.clause.depend.inout, omp.clause.proc_bind, omp.clause.proc_bind.master, omp.clause.proc_bind.close, omp.clause.proc_bind.spread]
672
+
673
+ - source: afar-flang-openmp-status
674
+ url: *flang_url
675
+ toolchain: afar
676
+ claim: supported
677
+ quote: "OpenMP 4.5 | directive-name-modifier in if clause for combined constructs | good"
678
+ spec_version: "4.5"
679
+ language: Fortran
680
+ version_note: *flang_note
681
+ status: provisional
682
+ atoms: [omp.clause.if.directive_name]
683
+
684
+ - source: afar-flang-openmp-status
685
+ url: *flang_url
686
+ toolchain: afar
687
+ claim: supported
688
+ quote: "OpenMP 4.5 | private, firstprivate, and defaultmap on target | good"
689
+ spec_version: "4.5"
690
+ language: Fortran
691
+ version_note: *flang_note
692
+ status: provisional
693
+ atoms: [omp.clause.private, omp.clause.firstprivate, omp.clause.defaultmap, omp.clause.defaultmap.tofrom, omp.clause.defaultmap.scalar]
694
+
695
+ - source: afar-flang-openmp-status
696
+ url: *flang_url
697
+ toolchain: afar
698
+ claim: supported
699
+ quote: "OpenMP 4.5 | linear-modifier for linear clause | good; OpenMP 4.5 | linear clause on worksharing-loop construct | good"
700
+ spec_version: "4.5"
701
+ language: Fortran
702
+ version_note: *flang_note
703
+ status: provisional
704
+ atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval]
705
+
706
+ - source: afar-flang-openmp-status
707
+ url: *flang_url
708
+ toolchain: afar
709
+ claim: partial
710
+ quote: "OpenMP 4.5 | is_device_ptr and use_device_ptr clauses | part"
711
+ spec_version: "4.5"
712
+ language: Fortran
713
+ version_note: *flang_note
714
+ status: provisional
715
+ atoms: [omp.clause.is_device_ptr, omp.clause.use_device_ptr]
716
+
717
+ - source: afar-flang-openmp-status
718
+ url: *flang_url
719
+ toolchain: afar
720
+ claim: supported
721
+ quote: "OpenMP 4.5 | target enter data and target exit data constructs | good; simdlen clause on simd construct | good; nowait and depend clauses on target construct | good"
722
+ spec_version: "4.5"
723
+ language: Fortran
724
+ version_note: *flang_note
725
+ status: provisional
726
+ atoms: [omp.directive.target_enter_data, omp.directive.target_exit_data, omp.clause.simdlen, omp.clause.nowait]
727
+
728
+ - source: afar-flang-openmp-status
729
+ url: *flang_url
730
+ toolchain: afar
731
+ claim: partial
732
+ quote: "OpenMP 4.5 | target parallel, target parallel do, and target parallel do simd constructs | part"
733
+ spec_version: "4.5"
734
+ language: Fortran
735
+ version_note: *flang_note
736
+ status: provisional
737
+ atoms: [omp.directive.target_parallel, omp.directive.target_parallel_do, omp.directive.target_parallel_do_simd]
738
+
739
+ - source: afar-flang-openmp-status
740
+ url: *flang_url
741
+ toolchain: afar
742
+ claim: partial
743
+ quote: "OpenMP 5.0 | memory allocators | part; allocate directive and allocate clause | part; clause: uses_allocators | part; OpenMP 5.1 | align clause on allocate directive and allocator/align modifiers on allocate clause | part"
744
+ spec_version: "5.0"
745
+ language: Fortran
746
+ version_note: *flang_note
747
+ status: provisional
748
+ atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.allocate.allocator, omp.clause.allocate.align]
749
+
750
+ - source: afar-flang-openmp-status
751
+ url: *flang_url
752
+ toolchain: afar
753
+ claim: partial
754
+ quote: "OpenMP 5.0 | support full defaultmap functionality | part"
755
+ spec_version: "5.0"
756
+ language: Fortran
757
+ version_note: *flang_note
758
+ status: provisional
759
+ atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer, omp.clause.defaultmap.allocatable]
760
+
761
+ - source: afar-flang-openmp-status
762
+ url: *flang_url
763
+ toolchain: afar
764
+ claim: partial
765
+ quote: "OpenMP 5.0 | clause: in_reduction | part"
766
+ spec_version: "5.0"
767
+ language: Fortran
768
+ version_note: *flang_note
769
+ status: provisional
770
+ atoms: [omp.clause.in_reduction, omp.clause.in_reduction.plus, omp.clause.in_reduction.times, omp.clause.in_reduction.minus, omp.clause.in_reduction.max, omp.clause.in_reduction.min, omp.clause.in_reduction.iand, omp.clause.in_reduction.ior, omp.clause.in_reduction.ieor, omp.clause.in_reduction.and, omp.clause.in_reduction.or, omp.clause.in_reduction.eqv, omp.clause.in_reduction.neqv]
771
+
772
+ - source: afar-flang-openmp-status
773
+ url: *flang_url
774
+ toolchain: afar
775
+ claim: supported
776
+ quote: "OpenMP 5.0 | user-defined mappers | good; clause: use_device_addr for target data | good; iterator modifier for depend clause | good; mutexinoutset on depend clause | good"
777
+ spec_version: "5.0"
778
+ language: Fortran
779
+ version_note: *flang_note
780
+ status: provisional
781
+ atoms: [omp.clause.map.mapper, omp.clause.use_device_addr, omp.clause.depend.iterator, omp.clause.depend.mutexinoutset]
782
+
783
+ - source: afar-flang-openmp-status
784
+ url: *flang_url
785
+ toolchain: afar
786
+ claim: partial
787
+ quote: "OpenMP 5.0 | conditional modifier for lastprivate clause | progress; scan directive and inscan modifier for reduction | part; close modifier in map clause | part; if clause and nontemporal clause on simd | part"
788
+ spec_version: "5.0"
789
+ language: Fortran
790
+ version_note: *flang_note
791
+ status: provisional
792
+ atoms: [omp.clause.lastprivate.conditional, omp.clause.reduction.inscan, omp.clause.map.close, omp.clause.nontemporal]
793
+
794
+ - source: afar-flang-openmp-status
795
+ url: *flang_url
796
+ toolchain: afar
797
+ claim: partial
798
+ quote: "OpenMP 5.0 | requires directive | part; loop construct and order(concurrent) clause | part"
799
+ spec_version: "5.0"
800
+ language: Fortran
801
+ version_note: *flang_note
802
+ status: provisional
803
+ atoms: [omp.directive.requires, omp.clause.unified_shared_memory, omp.clause.unified_address, omp.clause.atomic_default_mem_order, omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.directive.target_loop, omp.clause.order, omp.clause.order.concurrent]
804
+
805
+ - source: afar-flang-openmp-status
806
+ url: *flang_url
807
+ toolchain: afar
808
+ claim: unsupported
809
+ quote: "OpenMP 5.0 | reverse offload | none"
810
+ spec_version: "5.0"
811
+ language: Fortran
812
+ version_note: *flang_note
813
+ status: provisional
814
+ atoms: [omp.clause.reverse_offload, omp.clause.reverse_offload.required]
815
+
816
+ - source: afar-flang-openmp-status
817
+ url: *flang_url
818
+ toolchain: afar
819
+ claim: partial
820
+ quote: "OpenMP 5.1 | present map type modifier | part; present modifier in motion clauses | part; present in defaultmap clause | part; thread_limit clause on target construct | part; has_device_addr clause on target construct | part; indirect clause on declare target | part; default(private) | part; inoutset in depend clause | part"
821
+ spec_version: "5.1"
822
+ language: Fortran
823
+ version_note: *flang_note
824
+ status: provisional
825
+ atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present, omp.clause.thread_limit, omp.clause.has_device_addr, omp.clause.indirect, omp.clause.default.private, omp.clause.depend.inoutset]
826
+
827
+ - source: afar-flang-openmp-status
828
+ url: *flang_url
829
+ toolchain: afar
830
+ claim: partial
831
+ quote: "OpenMP 5.1 | iterators in map or motion clauses | part"
832
+ spec_version: "5.1"
833
+ language: Fortran
834
+ version_note: *flang_note
835
+ status: provisional
836
+ atoms: [omp.clause.map.iterator]
837
+
838
+ - source: afar-flang-openmp-status
839
+ url: *flang_url
840
+ toolchain: afar
841
+ claim: supported
842
+ quote: "OpenMP 5.1 | default(firstprivate) | good; OpenMP 5.2 | enter clause replaces to clause on declare target | good"
843
+ spec_version: "5.1"
844
+ language: Fortran
845
+ version_note: *flang_note
846
+ status: provisional
847
+ atoms: [omp.clause.default.firstprivate, omp.clause.enter]
848
+
849
+ - source: afar-flang-openmp-status
850
+ url: *flang_url
851
+ toolchain: afar
852
+ claim: unsupported
853
+ quote: "OpenMP 5.2 | step modifier | none"
854
+ spec_version: "5.2"
855
+ language: Fortran
856
+ version_note: *flang_note
857
+ status: provisional
858
+ atoms: [omp.clause.linear.step]
859
+
860
+ - source: afar-flang-openmp-status
861
+ url: *flang_url
862
+ toolchain: afar
863
+ claim: partial
864
+ versions: [60]
865
+ quote: "OpenMP 6.0 | workdistribute construct | part; map clause updates (v6.0 forms) | part; map modifier updates (v6.0 and v6.1 forms) | part"
866
+ spec_version: "6.0"
867
+ language: Fortran
868
+ version_note: *flang_note
869
+ status: provisional
870
+ atoms: [omp.directive.teams_workdistribute, omp.directive.target_teams_workdistribute, omp.clause.map.ref_ptr, omp.clause.map.ref_ptee, omp.clause.map.ref_ptr_ptee, omp.clause.map.storage, omp.clause.map.self]
871
+
872
+ # --- AMD: flang lowering TODO tests at the AFAR commit (afar, Fortran) -------------
873
+
874
+ - source: afar-flang-lowering-todo
875
+ url: &todo_url https://github.com/ROCm/llvm-project/tree/3ba19712e9fbf709f6c93d33394211ed4eeec8a7/flang/test/Lower/OpenMP/Todo
876
+ toolchain: afar
877
+ claim: unsupported
878
+ quote: "to-iterator-modifier.f90 / from-iterator-modifier.f90: not yet implemented: Iterator modifier is not supported yet"
879
+ language: Fortran
880
+ version_note: &todo_note "flang/test/Lower/OpenMP/Todo at the AFAR 24.3.0 source commit"
881
+ status: provisional
882
+ atoms: [omp.clause.to.iterator, omp.clause.from.iterator]
883
+
884
+ - source: afar-flang-lowering-todo
885
+ url: *todo_url
886
+ toolchain: afar
887
+ claim: unsupported
888
+ quote: "omp-clause-indirect.f90: not yet implemented: Unhandled clause INDIRECT in DECLARE TARGET construct"
889
+ language: Fortran
890
+ version_note: *todo_note
891
+ status: provisional
892
+ atoms: [omp.clause.indirect, omp.clause.indirect.invoked_by_fptr]
893
+
894
+ - source: afar-flang-lowering-todo
895
+ url: *todo_url
896
+ toolchain: afar
897
+ claim: unsupported
898
+ quote: "target-uses-allocators.f90: not yet implemented: USES_ALLOCATORS clause is not implemented yet"
899
+ language: Fortran
900
+ version_note: *todo_note
901
+ status: provisional
902
+ atoms: [omp.clause.uses_allocators, omp.clause.uses_allocators.traits, omp.clause.uses_allocators.memspace]
903
+
904
+ - source: afar-flang-lowering-todo
905
+ url: *todo_url
906
+ toolchain: afar
907
+ claim: unsupported
908
+ quote: "defaultmap-clause-firstprivate.f90: not yet implemented: Firstprivate is currently unsupported defaultmap behaviour"
909
+ language: Fortran
910
+ version_note: *todo_note
911
+ status: provisional
912
+ atoms: [omp.clause.defaultmap.firstprivate]
913
+
914
+ - source: afar-flang-lowering-todo
915
+ url: *todo_url
916
+ toolchain: afar
917
+ claim: unsupported
918
+ quote: "depend-clause-depobj.f90: not yet implemented: DEPOBJ dependence-type"
919
+ language: Fortran
920
+ version_note: *todo_note
921
+ status: provisional
922
+ atoms: [omp.clause.depend.depobj]
923
+
924
+ # --- HPE CCE 20.0.2 / 21.0.3 (intro_openmp(7) of each release) -------------
925
+ # Ingested per release: `tools/derive/claims.py ingest` records an entry for each
926
+ # CCE toolchain whose man page (or release notes) contains the quote.
927
+
928
+ - source: hpe-cce-intro-openmp
929
+ general: true
930
+ versions: [52]
931
+ claim: supported
932
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
933
+ note: "Atoms that exist in OpenMP 4.5 (full 5.0 includes them)."
934
+ language: Fortran and C/C++
935
+ atoms: *omp45
936
+ - source: hpe-cce-intro-openmp
937
+ general: true
938
+ versions: [52]
939
+ claim: supported
940
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
941
+ note: "Atoms new in OpenMP 5.0 (OpenMP 5.0 Appendix B, 4.5 to 5.0 differences)."
942
+ language: Fortran and C/C++
943
+ atoms: *omp50
944
+ - source: hpe-cce-intro-openmp
945
+ claim: supported
946
+ spec_version: "5.2"
947
+ versions: [52, 60]
948
+ quote: "The following OpenMP 5.2 features are supported: ... enter clause (Fortran only)"
949
+ language: Fortran
950
+ atoms: [omp.clause.enter]
951
+ - source: hpe-cce-intro-openmp
952
+ claim: supported
953
+ spec_version: "5.2"
954
+ versions: [52, 60]
955
+ quote: "The following OpenMP 5.2 features are supported: ... new linear clause syntax (Fortran only)"
956
+ note: "The 5.2 linear syntax: modifiers val/ref/uval and step() inside the clause (5.2 §5.4.6)."
957
+ language: Fortran
958
+ atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval, omp.clause.linear.step_simple_modifier]
959
+ - source: hpe-cce-intro-openmp
960
+ claim: supported
961
+ spec_version: "6.0"
962
+ versions: [60]
963
+ quote: "The following OpenMP 6.0 features are supported: ... support for self mapping via self modifier"
964
+ note: "The self map-type modifier (6.0 §7.9.6): map(self: ...). defaultmap(self) is an implicit behaviour, not a modifier, so this entry does not name it (the release notes' broader 'self mapping' does)."
965
+ language: Fortran and C/C++
966
+ atoms: [omp.clause.map.self]
967
+ - source: hpe-cce-intro-openmp
968
+ claim: supported
969
+ spec_version: "6.0"
970
+ versions: [60]
971
+ quote: "The following OpenMP 6.0 features are supported: ... extended default and defaultmap support"
972
+ note: "Project reading: the 6.0 defaultmap implicit behaviours storage and private (6.0 §7.9.9). Not the default clause's variable categories: CCE 21's page lists those as a separate item ('variable category modifier in default clause') and its release notes add them in 21.0. The 20.0.0 release notes say Fortran only for this item; the page names no language."
973
+ language: Fortran and C/C++
974
+ atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
975
+ - source: hpe-cce-intro-openmp
976
+ claim: supported
977
+ spec_version: "6.0"
978
+ versions: [60]
979
+ quote: "The following OpenMP 6.0 features are supported: ... variable category modifier in default clause"
980
+ language: Fortran and C/C++
981
+ atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
982
+ - source: hpe-cce-intro-openmp
983
+ claim: supported
984
+ spec_version: "6.0"
985
+ versions: [60]
986
+ quote: "The following OpenMP 6.0 features are supported: ... reductions for already privatized variables"
987
+ note: "The original-sharing modifier of reduction (6.0 §7.6.?: original(private))."
988
+ language: Fortran and C/C++
989
+ atoms: [omp.clause.reduction.original]
990
+ - source: hpe-cce-intro-openmp
991
+ claim: supported
992
+ spec_version: "6.0"
993
+ versions: [60]
994
+ quote: "The following OpenMP 6.0 features are supported: ... automap modifier for enter clause (Fortran)"
995
+ language: Fortran
996
+ atoms: [omp.clause.enter.automap]
997
+ - source: hpe-cce-intro-openmp
998
+ claim: supported
999
+ spec_version: "6.0"
1000
+ versions: [60]
1001
+ quote: "The following OpenMP 6.0 features are supported: ... local clause for declare_target directive (Fortran)"
1002
+ language: Fortran
1003
+ atoms: [omp.clause.local]
1004
+ - source: hpe-cce-intro-openmp
1005
+ claim: unsupported
1006
+ spec_version: "6.0"
1007
+ versions: [60]
1008
+ quote: "The workdistribute construct is not supported as part of a combined construct."
1009
+ note: "The catalog's workdistribute programs use the combined teams workdistribute and target teams workdistribute forms; the man page lists the construct itself (Fortran) as supported."
1010
+ language: Fortran
1011
+ atoms: [omp.directive.teams_workdistribute, omp.directive.target_teams_workdistribute]
1012
+ - source: hpe-cce-intro-openmp
1013
+ claim: unsupported
1014
+ quote: "For C/C++, the stand-alone loop directive is supported, but it is not supported when expressed as part of a combined or composite construct."
1015
+ language: C/C++
1016
+ atoms: [omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_parallel_loop, omp.directive.target_teams_loop, omp.directive.target_loop]
1017
+
1018
+ # --- HPE CCE release notes (release_info of each release) ------------------
1019
+
1020
+ - source: hpe-cce-release-notes
1021
+ claim: supported
1022
+ spec_version: "6.0"
1023
+ versions: [60]
1024
+ quote: "[6.0] ... self mapping for accelerators"
1025
+ language: Fortran and C/C++
1026
+ atoms: [omp.clause.map.self, omp.clause.defaultmap.self]
1027
+ - source: hpe-cce-release-notes
1028
+ claim: supported
1029
+ spec_version: "6.0"
1030
+ versions: [60]
1031
+ quote: "[6.0] ... reductions on private variables"
1032
+ language: Fortran and C/C++
1033
+ atoms: [omp.clause.reduction.original]
1034
+ - source: hpe-cce-release-notes
1035
+ claim: supported
1036
+ spec_version: "6.0"
1037
+ versions: [60]
1038
+ quote: "[6.0] ... Fortran: misc. extensions to `default` and `defaultmap` clauses"
1039
+ note: "Same project reading as the man page's 'extended default and defaultmap support' (defaultmap storage and private; the variable categories of default came in 21.0)."
1040
+ language: Fortran
1041
+ atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
1042
+ - source: hpe-cce-release-notes
1043
+ claim: supported
1044
+ spec_version: "6.0"
1045
+ versions: [60]
1046
+ quote: "[6.0] ... Fortran: automap modifier for declare target"
1047
+ language: Fortran
1048
+ atoms: [omp.clause.enter.automap]
1049
+ - source: hpe-cce-release-notes
1050
+ claim: supported
1051
+ spec_version: "6.0"
1052
+ versions: [60]
1053
+ quote: "[6.0] ... local clause for declare target"
1054
+ note: "No language restriction in the release notes; the man page of the same release says (Fortran)."
1055
+ language: Fortran and C/C++
1056
+ atoms: [omp.clause.local]
1057
+ - source: hpe-cce-release-notes
1058
+ claim: supported
1059
+ spec_version: "6.0"
1060
+ versions: [60]
1061
+ quote: "[6.0] ... variable-category modifier for default clause"
1062
+ language: Fortran and C/C++
1063
+ atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
1064
+ - source: hpe-cce-release-notes
1065
+ claim: supported
1066
+ spec_version: "5.2"
1067
+ versions: [52]
1068
+ quote: "[5.2] ... misc. new syntax allowed by specification (e.g. `declare target`, `ordered`, metadirective)"
1069
+ note: "(maintainer reading): the only new 5.2 syntax of declare target is the enter clause (5.2 Appendix B.2 p.627 lists nothing else for declare target), so the line claims enter. Compared with the 5.2 programs only: a 6.0 program is covered by a 6.0 feature list (rules.claims_for), which CCE 20 does not have for enter. No language restriction in the release notes (Fortran and C/C++, as the other unqualified release-note items). The ordered and metadirective parts are not mapped (no fuzz or catalog cell depends on them here)."
1070
+ language: Fortran and C/C++
1071
+ atoms: [omp.clause.enter]
1072
+ - source: hpe-cce-release-notes
1073
+ claim: supported
1074
+ spec_version: "5.2"
1075
+ versions: [52, 60]
1076
+ quote: "[5.2] ... Fortran: new linear clause syntax"
1077
+ language: Fortran
1078
+ atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval, omp.clause.linear.step_simple_modifier]
1079
+ - source: hpe-cce-release-notes
1080
+ claim: supported
1081
+ spec_version: "5.1"
1082
+ quote: "Added the following OpenMP 5.1/5.2 features ... Support iterators in 'map' clause and motion clauses"
1083
+ note: "No language restriction in the 19.0.0 release notes; intro_openmp(7) says (Fortran only)."
1084
+ language: Fortran and C/C++
1085
+ atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
1086
+ - source: hpe-cce-release-notes
1087
+ claim: supported
1088
+ spec_version: "5.1"
1089
+ quote: "Added the following OpenMP 5.1/5.2 features ... Support 'unconstrained' and 'reproducible' modifiers in 'order' clause"
1090
+ language: Fortran and C/C++
1091
+ atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
1092
+ - source: hpe-cce-release-notes
1093
+ claim: supported
1094
+ spec_version: "5.1"
1095
+ quote: "Added the following OpenMP 5.1/5.2 features ... Support 'indirect' clause on declare target directive"
1096
+ language: Fortran and C/C++
1097
+ atoms: [omp.clause.indirect]
1098
+
1099
+ # --- AMD amdclang, clang/docs/OpenMPSupport.md at the AFAR commit (C/C++) --
1100
+
1101
+ - source: amdclang-afar-openmp-support
1102
+ toolchain: afar
1103
+ claim: supported
1104
+ spec_version: "5.0"
1105
+ quote: "device | clause: device_type | done"
1106
+ language: C/C++
1107
+ atoms: [omp.clause.device_type, omp.clause.device_type.any, omp.clause.device_type.host, omp.clause.device_type.nohost]
1108
+ - source: amdclang-afar-openmp-support
1109
+ toolchain: afar
1110
+ claim: supported
1111
+ spec_version: "5.0"
1112
+ quote: "device | clause: extended device | done"
1113
+ language: C/C++
1114
+ atoms: [omp.clause.device.ancestor, omp.clause.device.device_num]
1115
+ - source: amdclang-afar-openmp-support
1116
+ toolchain: afar
1117
+ claim: supported
1118
+ spec_version: "5.0"
1119
+ quote: "device | clause: uses_allocators clause | done"
1120
+ language: C/C++
1121
+ atoms: [omp.clause.uses_allocators]
1122
+ - source: amdclang-afar-openmp-support
1123
+ toolchain: afar
1124
+ claim: supported
1125
+ spec_version: "5.0"
1126
+ quote: "device | support full 'defaultmap' functionality | done"
1127
+ language: C/C++
1128
+ atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.firstprivate, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer]
1129
+ - source: amdclang-afar-openmp-support
1130
+ toolchain: afar
1131
+ claim: supported
1132
+ spec_version: "5.0"
1133
+ quote: "device | requires directive | done; device | clause: unified_shared_memory | done"
1134
+ language: C/C++
1135
+ atoms: [omp.directive.requires, omp.clause.unified_shared_memory]
1136
+ - source: amdclang-afar-openmp-support
1137
+ toolchain: afar
1138
+ claim: partial
1139
+ spec_version: "5.0"
1140
+ quote: "device | clause: unified_address | partial; device | clause: reverse_offload | partial; device | clause: dynamic_allocators | unclaimed parts"
1141
+ language: C/C++
1142
+ atoms: [omp.clause.unified_address, omp.clause.reverse_offload, omp.clause.dynamic_allocators]
1143
+ - source: amdclang-afar-openmp-support
1144
+ toolchain: afar
1145
+ claim: supported
1146
+ spec_version: "5.0"
1147
+ quote: "device | user-defined mappers | done; device | support close modifier on map clause | done; device | clause: use_device_addr for target data | done"
1148
+ language: C/C++
1149
+ atoms: [omp.clause.map.mapper, omp.clause.map.close, omp.clause.use_device_addr]
1150
+ - source: amdclang-afar-openmp-support
1151
+ toolchain: afar
1152
+ claim: partial
1153
+ spec_version: "5.0"
1154
+ quote: "device | clause: in_reduction | worked on"
1155
+ language: C/C++
1156
+ atoms: [omp.clause.in_reduction]
1157
+ - source: amdclang-afar-openmp-support
1158
+ toolchain: afar
1159
+ claim: supported
1160
+ spec_version: "5.0"
1161
+ quote: "misc | iterator and multidependences | done; misc | depobj directive and depobj dependency kind | done; task | mutexinoutset dependence-type for tasks | done"
1162
+ language: C/C++
1163
+ atoms: [omp.clause.depend.iterator, omp.clause.depend.depobj, omp.clause.depend.mutexinoutset]
1164
+ - source: amdclang-afar-openmp-support
1165
+ toolchain: afar
1166
+ claim: supported
1167
+ spec_version: "5.0"
1168
+ quote: "memory management | allocate directive and allocate clause | done; misc | conditional modifier for lastprivate clause | done; loop | inclusive scan (matching C++17 PSTL) | done"
1169
+ language: C/C++
1170
+ atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.lastprivate.conditional, omp.clause.reduction.inscan]
1171
+ - source: amdclang-afar-openmp-support
1172
+ toolchain: afar
1173
+ claim: partial
1174
+ spec_version: "5.0"
1175
+ quote: "loop | #pragma omp loop (directive) | partial; loop | #pragma omp loop bind | worked on"
1176
+ language: C/C++
1177
+ atoms: [omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.clause.bind, omp.clause.bind.teams, omp.clause.bind.parallel, omp.clause.bind.thread]
1178
+ - source: amdclang-afar-openmp-support
1179
+ toolchain: afar
1180
+ claim: supported
1181
+ spec_version: "5.1"
1182
+ quote: "device | 'present' map type modifier | done; device | 'present' motion modifier | done; device | 'present' in defaultmap clause | done"
1183
+ language: C/C++
1184
+ atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present]
1185
+ - source: amdclang-afar-openmp-support
1186
+ toolchain: afar
1187
+ claim: supported
1188
+ spec_version: "5.1"
1189
+ quote: "device | iterators in map clause or motion clauses | done"
1190
+ language: C/C++
1191
+ atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
1192
+ - source: amdclang-afar-openmp-support
1193
+ toolchain: afar
1194
+ claim: unsupported
1195
+ spec_version: "5.1"
1196
+ quote: "device | has_device_addr clause on target construct | unclaimed"
1197
+ language: C/C++
1198
+ atoms: [omp.clause.has_device_addr]
1199
+ - source: amdclang-afar-openmp-support
1200
+ toolchain: afar
1201
+ claim: partial
1202
+ spec_version: "5.1"
1203
+ quote: "device | thread_limit clause on target construct | partial; device | indirect clause on declare target directive | In Progress"
1204
+ language: C/C++
1205
+ atoms: [omp.clause.thread_limit, omp.clause.indirect]
1206
+ - source: amdclang-afar-openmp-support
1207
+ toolchain: afar
1208
+ claim: supported
1209
+ spec_version: "5.1"
1210
+ quote: "memory management | 'allocator' modifier for allocate clause | done; memory management | 'align' modifier for allocate clause | done; misc | default(firstprivate) & default(private) | done; task | inoutset in depend clause | done"
1211
+ language: C/C++
1212
+ atoms: [omp.clause.allocate.allocator, omp.clause.allocate.align, omp.clause.default.firstprivate, omp.clause.default.private, omp.clause.depend.inoutset]
1213
+ - source: amdclang-afar-openmp-support
1214
+ toolchain: afar
1215
+ claim: partial
1216
+ spec_version: "5.1"
1217
+ quote: "loop | 'reproducible'/'unconstrained' modifiers in 'order' clause | partial"
1218
+ language: C/C++
1219
+ atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
1220
+ - source: amdclang-afar-openmp-support
1221
+ toolchain: afar
1222
+ claim: supported
1223
+ spec_version: "6.0"
1224
+ versions: [60]
1225
+ quote: "OpenMP 6.0 | Prescriptive num_threads | done"
1226
+ language: C/C++
1227
+ atoms: [omp.clause.num_threads.strict]
1228
+ - source: amdclang-afar-openmp-support
1229
+ toolchain: afar
1230
+ claim: supported
1231
+ spec_version: "6.0"
1232
+ versions: [60]
1233
+ quote: "OpenMP 6.0 | Message and severity clauses | done"
1234
+ note: "6.0 adds message and severity to the parallel construct (the catalog's 6.0 forms)."
1235
+ language: C/C++
1236
+ atoms: [omp.clause.message, omp.clause.severity, omp.clause.severity.fatal, omp.clause.severity.warning]
1237
+ - source: amdclang-afar-openmp-support
1238
+ toolchain: afar
1239
+ claim: supported
1240
+ spec_version: "6.0"
1241
+ versions: [60]
1242
+ quote: "OpenMP 6.0 | Local clause on declare target | done"
1243
+ language: C/C++
1244
+ atoms: [omp.clause.local]
1245
+ - source: amdclang-afar-openmp-support
1246
+ toolchain: afar
1247
+ claim: supported
1248
+ spec_version: "6.0"
1249
+ versions: [60]
1250
+ quote: "OpenMP 6.0 | variable-category on default clause | done"
1251
+ language: C/C++
1252
+ atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
1253
+ - source: amdclang-afar-openmp-support
1254
+ toolchain: afar
1255
+ claim: supported
1256
+ spec_version: "6.0"
1257
+ versions: [60]
1258
+ quote: "OpenMP 6.0 | defaultmap implicit-behavior 'storage' | done; defaultmap implicit-behavior 'private' | done"
1259
+ language: C/C++
1260
+ atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
1261
+ - source: amdclang-afar-openmp-support
1262
+ toolchain: afar
1263
+ claim: partial
1264
+ spec_version: "6.0"
1265
+ versions: [60]
1266
+ quote: "OpenMP 6.0 | Self maps | partial; Private reductions | mostly; transparent clause (hull tasks) | partial; ref modifier for map clauses | In Progress"
1267
+ language: C/C++
1268
+ atoms: [omp.clause.map.self, omp.clause.defaultmap.self, omp.clause.self_maps, omp.clause.self_maps.required, omp.clause.reduction.original, omp.clause.transparent, omp.clause.transparent.impex_type, omp.clause.map.ref_ptr, omp.clause.map.ref_ptee, omp.clause.map.ref_ptr_ptee]
1269
+ - source: amdclang-afar-openmp-support
1270
+ toolchain: afar
1271
+ claim: unsupported
1272
+ spec_version: "6.0"
1273
+ versions: [60]
1274
+ quote: "OpenMP 6.0 | All clauses accept directive name modifier | unclaimed"
1275
+ note: "Every clause's directive-name modifier except if's (if(directive-name: ...) exists since OpenMP 4.5)."
1276
+ language: C/C++
1277
+ atoms: [omp.clause.aligned.directive_name, omp.clause.allocate.directive_name, omp.clause.atomic_default_mem_order.directive_name, omp.clause.bind.directive_name, omp.clause.collapse.directive_name, omp.clause.default.directive_name, omp.clause.defaultmap.directive_name, omp.clause.depend.directive_name, omp.clause.device.directive_name, omp.clause.device_safesync.directive_name, omp.clause.device_type.directive_name, omp.clause.dist_schedule.directive_name, omp.clause.dynamic_allocators.directive_name, omp.clause.enter.directive_name, omp.clause.firstprivate.directive_name, omp.clause.from.directive_name, omp.clause.has_device_addr.directive_name, omp.clause.in_reduction.directive_name, omp.clause.indirect.directive_name, omp.clause.induction.directive_name, omp.clause.is_device_ptr.directive_name, omp.clause.lastprivate.directive_name, omp.clause.linear.directive_name, omp.clause.link.directive_name, omp.clause.local.directive_name, omp.clause.map.directive_name, omp.clause.message.directive_name, omp.clause.nogroup.directive_name, omp.clause.nontemporal.directive_name, omp.clause.nowait.directive_name, omp.clause.num_teams.directive_name, omp.clause.num_threads.directive_name, omp.clause.order.directive_name, omp.clause.ordered.directive_name, omp.clause.private.directive_name, omp.clause.proc_bind.directive_name, omp.clause.reduction.directive_name, omp.clause.replayable.directive_name, omp.clause.reverse_offload.directive_name, omp.clause.safelen.directive_name, omp.clause.schedule.directive_name, omp.clause.self_maps.directive_name, omp.clause.severity.directive_name, omp.clause.shared.directive_name, omp.clause.simdlen.directive_name, omp.clause.thread_limit.directive_name, omp.clause.to.directive_name, omp.clause.transparent.directive_name, omp.clause.unified_address.directive_name, omp.clause.unified_shared_memory.directive_name, omp.clause.use_device_addr.directive_name, omp.clause.use_device_ptr.directive_name, omp.clause.uses_allocators.directive_name]
1278
+ - source: amdclang-afar-openmp-support
1279
+ toolchain: afar
1280
+ claim: unsupported
1281
+ spec_version: "6.0"
1282
+ versions: [60]
1283
+ quote: "OpenMP 6.0 | Parallel inductions | unclaimed; Non-const do_not_sync for nowait/nogroup | unclaimed"
1284
+ language: C/C++
1285
+ atoms: [omp.clause.induction, omp.clause.induction.plus, omp.clause.induction.times, omp.clause.induction.step, omp.clause.induction.relaxed, omp.clause.induction.strict, omp.clause.nowait.do_not_synchronize, omp.clause.nogroup.do_not_synchronize]
1286
+
1287
+ # --- CCE's documented device-region limitation ----------------------------
1288
+ # Pseudo-atoms device.directive.<name>: a directive lexically inside a target
1289
+ # region (offload.engine.confirm.triage.device_directives). Not compared with
1290
+ # the support tables (no catalog atom); the triage reads them to tell a
1291
+ # failure the vendor documents from a compiler bug.
1292
+
1293
+ - source: hpe-cce-intro-openmp
1294
+ claim: unsupported
1295
+ quote: "All other APIs and constructs are not supported in omp target regions when targeting a non-host device."
1296
+ note: "The constructs the bullet does not list as supported in target regions (teams, distribute, parallel, for, do, simd, loop, atomic, error, assume, assumes, nothing; scan is 'functionally supported' elsewhere on the page)."
1297
+ language: Fortran and C/C++
1298
+ atoms: [device.directive.task, device.directive.taskloop, device.directive.taskgroup, device.directive.taskwait, device.directive.single, device.directive.masked, device.directive.ordered, device.directive.sections, device.directive.section, device.directive.workshare]
1299
+ - source: hpe-cce-intro-openmp
1300
+ claim: unsupported
1301
+ quote: "The following OpenMP constructs are supported: teams, distribute, parallel, for, do, simd, loop, atomic, barrier (C/C++), master (C/C++), critical (C/C++), error, assume, assumes, and nothing."
1302
+ note: "barrier, master and critical are listed for C/C++ only: read as unsupported in Fortran target regions (an inference)."
1303
+ language: Fortran
1304
+ atoms: [device.directive.barrier, device.directive.master, device.directive.critical]
1305
+
1306
+ # --- NVHPC's documented distribute limitation ----------------
1307
+ # Pseudo-atoms onleaf.<leaf>.<clause>: the clause on a construct with that leaf
1308
+ # (a combined or composite construct included: "Clauses on combined
1309
+ # constructs are supported to the extent that the clauses are supported on
1310
+ # the component constructs", guide §7.4, 2.14). Not compared with the support
1311
+ # tables (no catalog atom); the triage reads them
1312
+ # (offload.engine.confirm.triage.device_limits) to class a failure of such a
1313
+ # program as the documented limitation (partial_support), not a compiler bug.
1314
+
1315
+ - source: nvidia-hpc-ug-openmp
1316
+ toolchains: [nvhpc, nvhpc269]
1317
+ claim: unsupported
1318
+ versions:
1319
+ - 50
1320
+ - 52
1321
+ quote: The lastprivate clause is not supported
1322
+ language: Fortran and C/C++
1323
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives ("Support for distribute construct clauses is as follows: ... The lastprivate clause is not supported"); with 2.14 Clauses on Combined and Composite Constructs. The same sentence under 2.9.5 Loop Construct is not mapped here.'
1324
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1325
+ status: provisional
1326
+ atoms:
1327
+ - onleaf.distribute.lastprivate
1328
+
1329
+ # --- Default(private) and
1330
+ # default(firstprivate) exist in Fortran since 4.5 but in C/C++ only since
1331
+ # 5.1, so the release-level "full 4.5/5.0" sentences cover them for Fortran
1332
+ # only ---------------------------------------------------------------------------
1333
+
1334
+ - source: hpe-cce-intro-openmp
1335
+ general: true
1336
+ versions: [52]
1337
+ claim: supported
1338
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
1339
+ note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
1340
+ language: Fortran
1341
+ atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
1342
+ - source: hpe-cce-intro-openmp
1343
+ general: true
1344
+ versions: [52]
1345
+ claim: supported
1346
+ quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
1347
+ note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
1348
+ language: Fortran
1349
+ atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
1350
+ - source: rocm-openmp-support
1351
+ general: true
1352
+ versions: [52]
1353
+ claim: supported
1354
+ quote: "The ROCm installation includes an LLVM-based implementation that fully supports the OpenMP 4.5 standard and a subset of OpenMP 5.0, 5.1, and 5.2 standards. Fortran, C/C++ compilers, and corresponding runtime libraries are included."
1355
+ note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
1356
+ language: Fortran
1357
+ atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
1358
+
1359
+ # --- NVIDIA HPC SDK 25.11 (nvhpc) -----------------------------------------
1360
+ # Each statement of the HPC Compilers User's Guide (25.11 and 26.9 read the same; section 7.4 OpenMP
1361
+ # Subset, numbered as OpenMP 5.0; 7.8) mapped to the catalog atoms it is about,
1362
+ # compared at 5.0 and 5.2 (a 5.0-feature subset; 6.0 spellings are outside it).
1363
+ # C rows are compared under the Fortran (do) atom names
1364
+ # (offload.engine.c_gen.fortran_atom). 'X is ignored' is recorded as unsupported (no form): a measured pass of an
1365
+ # oracle-backed program then contradicts it (hint-only atoms never do).
1366
+ - source: nvidia-hpc-ug-openmp
1367
+ toolchains: [nvhpc, nvhpc269]
1368
+ claim: partial
1369
+ form: accepted
1370
+ versions:
1371
+ - 50
1372
+ - 52
1373
+ quote: The requirement clauses unified_address and unified_shared_memory are accepted but have no effect.
1374
+ language: Fortran and C/C++
1375
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.4 Requires Directive. Accepted (no compile error) is the claim; the effect needs -gpu=mem:unified'
1376
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1377
+ status: provisional
1378
+ atoms:
1379
+ - omp.clause.unified_address
1380
+ - omp.clause.unified_shared_memory
1381
+ - source: nvidia-hpc-ug-openmp
1382
+ toolchains: [nvhpc, nvhpc269]
1383
+ claim: supported
1384
+ versions:
1385
+ - 50
1386
+ - 52
1387
+ quote: The num_threads, default, private, firstprivate, and shared clauses are supported
1388
+ language: Fortran and C/C++
1389
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. The catalog programs put these clauses on a parallel do (for) inside a target region'
1390
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1391
+ status: provisional
1392
+ atoms:
1393
+ - omp.clause.num_threads
1394
+ - omp.clause.default
1395
+ - omp.clause.default.none
1396
+ - omp.clause.default.private
1397
+ - omp.clause.default.firstprivate
1398
+ - omp.clause.private
1399
+ - omp.clause.firstprivate
1400
+ - omp.clause.shared
1401
+ - source: nvidia-hpc-ug-openmp
1402
+ toolchains: [nvhpc, nvhpc269]
1403
+ claim: unsupported
1404
+ form: compile_error
1405
+ versions:
1406
+ - 50
1407
+ - 52
1408
+ quote: The if and copyin clauses are supported only for CPU targets; the compiler emits an error for GPU targets
1409
+ language: Fortran and C/C++
1410
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. The if programs put if on a parallel do in a target region (if(parallel: ...) for the directive-name modifier)'
1411
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1412
+ status: provisional
1413
+ atoms:
1414
+ - omp.clause.if
1415
+ - omp.clause.if.directive_name
1416
+ - source: nvidia-hpc-ug-openmp
1417
+ toolchains: [nvhpc, nvhpc269]
1418
+ claim: unsupported
1419
+ versions:
1420
+ - 50
1421
+ - 52
1422
+ quote: The proc_bind clause is supported only for CPU targets; it is ignored for GPU targets
1423
+ language: Fortran and C/C++
1424
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. Ignored for GPU targets'
1425
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1426
+ status: provisional
1427
+ atoms:
1428
+ - omp.clause.proc_bind
1429
+ - omp.clause.proc_bind.close
1430
+ - omp.clause.proc_bind.spread
1431
+ - omp.clause.proc_bind.master
1432
+ - omp.clause.proc_bind.primary
1433
+ - source: nvidia-hpc-ug-openmp
1434
+ toolchains: [nvhpc, nvhpc269]
1435
+ claim: supported
1436
+ versions:
1437
+ - 50
1438
+ - 52
1439
+ quote: The num_teams, thread_limit, default, private, and firstprivate clauses are supported
1440
+ language: Fortran and C/C++
1441
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.7 Teams Construct'
1442
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1443
+ status: provisional
1444
+ atoms:
1445
+ - omp.clause.num_teams
1446
+ - omp.clause.thread_limit
1447
+ - source: nvidia-hpc-ug-openmp
1448
+ toolchains: [nvhpc, nvhpc269]
1449
+ claim: supported
1450
+ versions:
1451
+ - 50
1452
+ - 52
1453
+ quote: The private, firstprivate, and collapse clauses are supported
1454
+ language: Fortran and C/C++
1455
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1456
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1457
+ status: provisional
1458
+ atoms:
1459
+ - omp.clause.collapse
1460
+ - source: nvidia-hpc-ug-openmp
1461
+ toolchains: [nvhpc, nvhpc269]
1462
+ claim: supported
1463
+ versions:
1464
+ - 50
1465
+ - 52
1466
+ quote: The schedule clause is supported; the optional modifiers are not supported
1467
+ language: Fortran and C/C++
1468
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1469
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1470
+ status: provisional
1471
+ atoms:
1472
+ - omp.clause.schedule
1473
+ - omp.clause.schedule.static
1474
+ - omp.clause.schedule.chunk_size
1475
+ - omp.clause.schedule.dynamic
1476
+ - omp.clause.schedule.guided
1477
+ - omp.clause.schedule.auto
1478
+ - omp.clause.schedule.runtime
1479
+ - source: nvidia-hpc-ug-openmp
1480
+ toolchains: [nvhpc, nvhpc269]
1481
+ claim: unsupported
1482
+ versions:
1483
+ - 50
1484
+ - 52
1485
+ quote: The schedule clause is supported; the optional modifiers are not supported
1486
+ language: Fortran and C/C++
1487
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1488
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1489
+ status: provisional
1490
+ atoms:
1491
+ - omp.clause.schedule.monotonic
1492
+ - omp.clause.schedule.nonmonotonic
1493
+ - omp.clause.schedule.simd
1494
+ - source: nvidia-hpc-ug-openmp
1495
+ toolchains: [nvhpc, nvhpc269]
1496
+ claim: supported
1497
+ versions:
1498
+ - 50
1499
+ - 52
1500
+ quote: The lastprivate clause is supported; the optional lastprivate modifier is not supported
1501
+ language: Fortran and C/C++
1502
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1503
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1504
+ status: provisional
1505
+ atoms:
1506
+ - omp.clause.lastprivate
1507
+ - source: nvidia-hpc-ug-openmp
1508
+ toolchains: [nvhpc, nvhpc269]
1509
+ claim: unsupported
1510
+ versions:
1511
+ - 50
1512
+ - 52
1513
+ quote: The lastprivate clause is supported; the optional lastprivate modifier is not supported
1514
+ language: Fortran and C/C++
1515
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1516
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1517
+ status: provisional
1518
+ atoms:
1519
+ - omp.clause.lastprivate.conditional
1520
+ - source: nvidia-hpc-ug-openmp
1521
+ toolchains: [nvhpc, nvhpc269]
1522
+ claim: unsupported
1523
+ versions:
1524
+ - 50
1525
+ - 52
1526
+ quote: The ordered clause is supported only for CPU targets; ordered(n) clause is not supported
1527
+ language: Fortran and C/C++
1528
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1529
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1530
+ status: provisional
1531
+ atoms:
1532
+ - omp.clause.ordered
1533
+ - omp.clause.ordered.n
1534
+ - source: nvidia-hpc-ug-openmp
1535
+ toolchains: [nvhpc, nvhpc269]
1536
+ claim: unsupported
1537
+ versions:
1538
+ - 50
1539
+ - 52
1540
+ quote: The linear clause is not supported
1541
+ language: Fortran and C/C++
1542
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
1543
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1544
+ status: provisional
1545
+ atoms:
1546
+ - omp.clause.linear
1547
+ - omp.clause.linear.val
1548
+ - omp.clause.linear.ref
1549
+ - omp.clause.linear.uval
1550
+ - omp.clause.linear.step
1551
+ - omp.clause.linear.step_simple_modifier
1552
+ - source: nvidia-hpc-ug-openmp
1553
+ toolchains: [nvhpc, nvhpc269]
1554
+ claim: unsupported
1555
+ versions:
1556
+ - 50
1557
+ - 52
1558
+ quote: The order(concurrent) clause is ignored
1559
+ language: Fortran and C/C++
1560
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do). Ignored'
1561
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1562
+ status: provisional
1563
+ atoms:
1564
+ - omp.clause.order
1565
+ - omp.clause.order.concurrent
1566
+ - source: nvidia-hpc-ug-openmp
1567
+ toolchains: [nvhpc, nvhpc269]
1568
+ claim: unsupported
1569
+ versions:
1570
+ - 50
1571
+ - 52
1572
+ quote: The if, simdlen, and linear clauses are not supported
1573
+ language: Fortran and C/C++
1574
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.3 SIMD Directives'
1575
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1576
+ status: provisional
1577
+ atoms:
1578
+ - omp.clause.simdlen
1579
+ - source: nvidia-hpc-ug-openmp
1580
+ toolchains: [nvhpc, nvhpc269]
1581
+ claim: unsupported
1582
+ versions:
1583
+ - 50
1584
+ - 52
1585
+ quote: The safelen, aligned, nontemporal, and order(concurrent) clauses are ignored
1586
+ language: Fortran and C/C++
1587
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.3 SIMD Directives. Ignored'
1588
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1589
+ status: provisional
1590
+ atoms:
1591
+ - omp.clause.safelen
1592
+ - omp.clause.aligned
1593
+ - omp.clause.aligned.alignment
1594
+ - omp.clause.nontemporal
1595
+ - source: nvidia-hpc-ug-openmp
1596
+ toolchains: [nvhpc, nvhpc269]
1597
+ claim: supported
1598
+ versions:
1599
+ - 50
1600
+ - 52
1601
+ quote: The private, firstprivate, collapse, and dist_schedule(static [ ,chunksize]) clauses are supported
1602
+ language: Fortran and C/C++
1603
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
1604
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1605
+ status: provisional
1606
+ atoms:
1607
+ - omp.clause.dist_schedule
1608
+ - omp.clause.dist_schedule.static
1609
+ - omp.clause.dist_schedule.chunk_size
1610
+ - source: nvidia-hpc-ug-openmp
1611
+ toolchains: [nvhpc, nvhpc269]
1612
+ claim: supported
1613
+ versions:
1614
+ - 50
1615
+ - 52
1616
+ quote: The distribute construct is supported within a teams construct.
1617
+ language: Fortran and C/C++
1618
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
1619
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1620
+ status: provisional
1621
+ atoms:
1622
+ - omp.directive.distribute
1623
+ - omp.directive.teams_distribute
1624
+ - omp.directive.target_teams_distribute
1625
+ - source: nvidia-hpc-ug-openmp
1626
+ toolchains: [nvhpc, nvhpc269]
1627
+ claim: supported
1628
+ versions:
1629
+ - 50
1630
+ - 52
1631
+ quote: The distribute simd construct is treated as a distribute construct and is supported for GPU targets
1632
+ language: Fortran and C/C++
1633
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
1634
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1635
+ status: provisional
1636
+ atoms:
1637
+ - omp.directive.distribute_simd
1638
+ - omp.directive.teams_distribute_simd
1639
+ - omp.directive.target_teams_distribute_simd
1640
+ - source: nvidia-hpc-ug-openmp
1641
+ toolchains: [nvhpc, nvhpc269]
1642
+ claim: supported
1643
+ versions:
1644
+ - 50
1645
+ - 52
1646
+ quote: The distributeparallelfor or distributeparalleldo constructs are supported for GPU targets.
1647
+ language: Fortran and C/C++
1648
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives. The snapshot keeps the page''s run-together code spans (distributeparallelfor = distribute parallel for)'
1649
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1650
+ status: provisional
1651
+ atoms:
1652
+ - omp.directive.distribute_parallel_do
1653
+ - omp.directive.teams_distribute_parallel_do
1654
+ - omp.directive.target_teams_distribute_parallel_do
1655
+ - source: nvidia-hpc-ug-openmp
1656
+ toolchains: [nvhpc, nvhpc269]
1657
+ claim: supported
1658
+ versions:
1659
+ - 50
1660
+ - 52
1661
+ quote: are treated as distribute parallel for or distribute parallel do constructs and are supported for GPU targets.
1662
+ language: Fortran and C/C++
1663
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
1664
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1665
+ status: provisional
1666
+ atoms:
1667
+ - omp.directive.distribute_parallel_do_simd
1668
+ - omp.directive.teams_distribute_parallel_do_simd
1669
+ - omp.directive.target_teams_distribute_parallel_do_simd
1670
+ - source: nvidia-hpc-ug-openmp
1671
+ toolchains: [nvhpc, nvhpc269]
1672
+ claim: supported
1673
+ versions:
1674
+ - 50
1675
+ - 52
1676
+ quote: The private, bind, and collapse clauses are supported
1677
+ language: Fortran and C/C++
1678
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.5 Loop Construct'
1679
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1680
+ status: provisional
1681
+ atoms:
1682
+ - omp.clause.bind
1683
+ - omp.clause.bind.parallel
1684
+ - omp.clause.bind.teams
1685
+ - omp.clause.bind.thread
1686
+ - source: nvidia-hpc-ug-openmp
1687
+ toolchains: [nvhpc, nvhpc269]
1688
+ claim: supported
1689
+ versions:
1690
+ - 50
1691
+ - 52
1692
+ quote: The reduction clause is supported. The optional modifier is not supported.
1693
+ language: Fortran and C/C++
1694
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.5 Reduction Clauses and Directives'
1695
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1696
+ status: provisional
1697
+ atoms:
1698
+ - omp.clause.reduction
1699
+ - omp.clause.reduction.plus
1700
+ - omp.clause.reduction.times
1701
+ - omp.clause.reduction.minus
1702
+ - omp.clause.reduction.max
1703
+ - omp.clause.reduction.min
1704
+ - omp.clause.reduction.iand
1705
+ - omp.clause.reduction.ior
1706
+ - omp.clause.reduction.ieor
1707
+ - omp.clause.reduction.and
1708
+ - omp.clause.reduction.or
1709
+ - omp.clause.reduction.eqv
1710
+ - omp.clause.reduction.neqv
1711
+ - source: nvidia-hpc-ug-openmp
1712
+ toolchains: [nvhpc, nvhpc269]
1713
+ claim: unsupported
1714
+ versions:
1715
+ - 50
1716
+ - 52
1717
+ quote: The reduction clause is supported. The optional modifier is not supported.
1718
+ language: Fortran and C/C++
1719
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.5 Reduction Clauses and Directives'
1720
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1721
+ status: provisional
1722
+ atoms:
1723
+ - omp.clause.reduction.task
1724
+ - omp.clause.reduction.inscan
1725
+ - omp.clause.reduction.default
1726
+ - source: nvidia-hpc-ug-openmp
1727
+ toolchains: [nvhpc, nvhpc269]
1728
+ claim: unsupported
1729
+ versions:
1730
+ - 50
1731
+ - 52
1732
+ quote: The memory management allocators, memory management API routines, and memory management directives are not supported
1733
+ language: Fortran and C/C++
1734
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.11 Memory Management Directives'
1735
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1736
+ status: provisional
1737
+ atoms:
1738
+ - omp.clause.uses_allocators
1739
+ - omp.clause.uses_allocators.memspace
1740
+ - omp.clause.uses_allocators.traits
1741
+ - omp.clause.allocate.allocator
1742
+ - omp.clause.allocate.allocator_simple_modifier
1743
+ - omp.clause.allocate.align
1744
+ - omp.clause.dynamic_allocators
1745
+ - source: nvidia-hpc-ug-openmp
1746
+ toolchains: [nvhpc, nvhpc269]
1747
+ claim: supported
1748
+ versions:
1749
+ - 50
1750
+ - 52
1751
+ quote: The target data construct is supported for GPU targets.
1752
+ language: Fortran and C/C++
1753
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.2 Target Data Construct'
1754
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1755
+ status: provisional
1756
+ atoms:
1757
+ - omp.directive.target_data
1758
+ - source: nvidia-hpc-ug-openmp
1759
+ toolchains: [nvhpc, nvhpc269]
1760
+ claim: supported
1761
+ versions:
1762
+ - 50
1763
+ - 52
1764
+ quote: The if, device, use_device_ptr, and use_device_addr clauses are supported
1765
+ language: Fortran and C/C++
1766
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.2 Target Data Construct'
1767
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1768
+ status: provisional
1769
+ atoms:
1770
+ - omp.clause.use_device_ptr
1771
+ - omp.clause.use_device_addr
1772
+ - source: nvidia-hpc-ug-openmp
1773
+ toolchains: [nvhpc, nvhpc269]
1774
+ claim: supported
1775
+ versions:
1776
+ - 50
1777
+ - 52
1778
+ quote: The target enter data construct is supported for GPU targets.
1779
+ language: Fortran and C/C++
1780
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.3 Target Enter Data Construct'
1781
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1782
+ status: provisional
1783
+ atoms:
1784
+ - omp.directive.target_enter_data
1785
+ - source: nvidia-hpc-ug-openmp
1786
+ toolchains: [nvhpc, nvhpc269]
1787
+ claim: supported
1788
+ versions:
1789
+ - 50
1790
+ - 52
1791
+ quote: The target exit data construct is supported for GPU targets.
1792
+ language: Fortran and C/C++
1793
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.4 Target Exit Data Construct'
1794
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1795
+ status: provisional
1796
+ atoms:
1797
+ - omp.directive.target_exit_data
1798
+ - source: nvidia-hpc-ug-openmp
1799
+ toolchains: [nvhpc, nvhpc269]
1800
+ claim: supported
1801
+ versions:
1802
+ - 50
1803
+ - 52
1804
+ quote: The target construct is supported for GPU targets.
1805
+ language: Fortran and C/C++
1806
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
1807
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1808
+ status: provisional
1809
+ atoms:
1810
+ - omp.directive.target
1811
+ - source: nvidia-hpc-ug-openmp
1812
+ toolchains: [nvhpc, nvhpc269]
1813
+ claim: supported
1814
+ versions:
1815
+ - 50
1816
+ - 52
1817
+ quote: The if, private, firstprivate, is_device_ptr, and nowait clauses are supported
1818
+ language: Fortran and C/C++
1819
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
1820
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1821
+ status: provisional
1822
+ atoms:
1823
+ - omp.clause.is_device_ptr
1824
+ - omp.clause.nowait
1825
+ - source: nvidia-hpc-ug-openmp
1826
+ toolchains: [nvhpc, nvhpc269]
1827
+ claim: supported
1828
+ versions:
1829
+ - 50
1830
+ - 52
1831
+ quote: The device clause is supported without the device-modifier ancestor keyword
1832
+ language: Fortran and C/C++
1833
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
1834
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1835
+ status: provisional
1836
+ atoms:
1837
+ - omp.clause.device
1838
+ - omp.clause.device.device_num
1839
+ - source: nvidia-hpc-ug-openmp
1840
+ toolchains: [nvhpc, nvhpc269]
1841
+ claim: unsupported
1842
+ versions:
1843
+ - 50
1844
+ - 52
1845
+ quote: The device clause is supported without the device-modifier ancestor keyword
1846
+ language: Fortran and C/C++
1847
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
1848
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1849
+ status: provisional
1850
+ atoms:
1851
+ - omp.clause.device.ancestor
1852
+ - source: nvidia-hpc-ug-openmp
1853
+ toolchains: [nvhpc, nvhpc269]
1854
+ claim: supported
1855
+ versions:
1856
+ - 50
1857
+ quote: The defaultmap clause is supported using OpenMP 5.0 semantics
1858
+ language: Fortran and C/C++
1859
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
1860
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1861
+ status: provisional
1862
+ atoms:
1863
+ - omp.clause.defaultmap
1864
+ - omp.clause.defaultmap.alloc
1865
+ - omp.clause.defaultmap.to
1866
+ - omp.clause.defaultmap.from
1867
+ - omp.clause.defaultmap.tofrom
1868
+ - omp.clause.defaultmap.firstprivate
1869
+ - omp.clause.defaultmap.none
1870
+ - omp.clause.defaultmap.default
1871
+ - omp.clause.defaultmap.scalar
1872
+ - omp.clause.defaultmap.aggregate
1873
+ - omp.clause.defaultmap.pointer
1874
+ - source: nvidia-hpc-ug-openmp
1875
+ toolchains: [nvhpc, nvhpc269]
1876
+ claim: supported
1877
+ versions:
1878
+ - 50
1879
+ - 52
1880
+ quote: The target update construct is supported for GPU targets.
1881
+ language: Fortran and C/C++
1882
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
1883
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1884
+ status: provisional
1885
+ atoms:
1886
+ - omp.directive.target_update
1887
+ - source: nvidia-hpc-ug-openmp
1888
+ toolchains: [nvhpc, nvhpc269]
1889
+ claim: supported
1890
+ versions:
1891
+ - 50
1892
+ - 52
1893
+ quote: The to and from clauses are supported without mapper or mapid
1894
+ language: Fortran and C/C++
1895
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
1896
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1897
+ status: provisional
1898
+ atoms:
1899
+ - omp.clause.to
1900
+ - omp.clause.from
1901
+ - source: nvidia-hpc-ug-openmp
1902
+ toolchains: [nvhpc, nvhpc269]
1903
+ claim: unsupported
1904
+ versions:
1905
+ - 50
1906
+ - 52
1907
+ quote: The to and from clauses are supported without mapper or mapid
1908
+ language: Fortran and C/C++
1909
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
1910
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1911
+ status: provisional
1912
+ atoms:
1913
+ - omp.clause.to.mapper
1914
+ - omp.clause.from.mapper
1915
+ - source: nvidia-hpc-ug-openmp
1916
+ toolchains: [nvhpc, nvhpc269]
1917
+ claim: supported
1918
+ versions:
1919
+ - 50
1920
+ - 52
1921
+ quote: declare target(list) is supported
1922
+ language: Fortran and C/C++
1923
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.7 Declare Target Construct'
1924
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1925
+ status: provisional
1926
+ atoms:
1927
+ - omp.directive.declare_target
1928
+ - source: nvidia-hpc-ug-openmp
1929
+ toolchains: [nvhpc, nvhpc269]
1930
+ claim: supported
1931
+ versions:
1932
+ - 50
1933
+ - 52
1934
+ quote: The device_type clause is supported for C/C++
1935
+ language: C/C++
1936
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.7 Declare Target Construct'
1937
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1938
+ status: provisional
1939
+ atoms:
1940
+ - omp.clause.device_type
1941
+ - omp.clause.device_type.any
1942
+ - omp.clause.device_type.nohost
1943
+ - source: nvidia-hpc-ug-openmp
1944
+ toolchains: [nvhpc, nvhpc269]
1945
+ claim: supported
1946
+ versions:
1947
+ - 50
1948
+ - 52
1949
+ quote: The teams construct is supported for GPU targets.
1950
+ language: Fortran and C/C++
1951
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.7 Teams Construct'
1952
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1953
+ status: provisional
1954
+ atoms:
1955
+ - omp.directive.teams
1956
+ - omp.directive.target_teams
1957
+ - source: nvidia-hpc-ug-openmp
1958
+ toolchains: [nvhpc, nvhpc269]
1959
+ claim: supported
1960
+ versions:
1961
+ - 50
1962
+ - 52
1963
+ quote: The dependence types in, out, and inout are supported.
1964
+ language: Fortran and C/C++
1965
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.17.11 Depend Clause, read with 2.12.3-2.12.6 (target enter data, target exit data, target, target update: "The depend([dependmodifier,] dependtype : list) clause is supported as described in 2.17.11") and the section on target depend/nowait and CUDA streams. The catalog''s depend programs put depend on target constructs. The 2.17.11 sentence "It is not supported on GPU targets" is read as depend inside device code (task constructs in a target region), not depend on the target construct (review 1); inoutset is in neither list (no claim)'
1966
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1967
+ status: provisional
1968
+ atoms:
1969
+ - omp.clause.depend
1970
+ - omp.clause.depend.in
1971
+ - omp.clause.depend.out
1972
+ - omp.clause.depend.inout
1973
+ - source: nvidia-hpc-ug-openmp
1974
+ toolchains: [nvhpc, nvhpc269]
1975
+ claim: unsupported
1976
+ versions:
1977
+ - 50
1978
+ - 52
1979
+ quote: The dependence types mutexinoutset and depobj, dependence modifier iterator(iters), depend(source), and depend(sink:vector) are not supported.
1980
+ language: Fortran and C/C++
1981
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.17.11 Depend Clause'
1982
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1983
+ status: provisional
1984
+ atoms:
1985
+ - omp.clause.depend.mutexinoutset
1986
+ - omp.clause.depend.depobj
1987
+ - omp.clause.depend.iterator
1988
+ - source: nvidia-hpc-ug-openmp
1989
+ toolchains: [nvhpc, nvhpc269]
1990
+ claim: supported
1991
+ versions:
1992
+ - 50
1993
+ - 52
1994
+ quote: The map([[mapmod[,]...] maptype:] datalist) clause is supported.
1995
+ language: Fortran and C/C++
1996
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives'
1997
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
1998
+ status: provisional
1999
+ atoms:
2000
+ - omp.clause.map
2001
+ - omp.clause.map.to
2002
+ - omp.clause.map.from
2003
+ - omp.clause.map.tofrom
2004
+ - omp.clause.map.alloc
2005
+ - omp.clause.map.release
2006
+ - omp.clause.map.delete
2007
+ - source: nvidia-hpc-ug-openmp
2008
+ toolchains: [nvhpc, nvhpc269]
2009
+ claim: supported
2010
+ versions:
2011
+ - 50
2012
+ - 52
2013
+ quote: Of the map-type-modifiers, always is supported, close is ignored, and mapper(mapid) is not supported.
2014
+ language: Fortran and C/C++
2015
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives'
2016
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
2017
+ status: provisional
2018
+ atoms:
2019
+ - omp.clause.map.always
2020
+ - source: nvidia-hpc-ug-openmp
2021
+ toolchains: [nvhpc, nvhpc269]
2022
+ claim: unsupported
2023
+ versions:
2024
+ - 50
2025
+ - 52
2026
+ quote: Of the map-type-modifiers, always is supported, close is ignored, and mapper(mapid) is not supported.
2027
+ language: Fortran and C/C++
2028
+ note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives. close: ignored; mapper: not supported'
2029
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
2030
+ status: provisional
2031
+ atoms:
2032
+ - omp.clause.map.close
2033
+ - omp.clause.map.mapper
2034
+ - source: nvidia-hpc-ug-openmp
2035
+ toolchains: [nvhpc, nvhpc269]
2036
+ claim: partial
2037
+ form: accepted
2038
+ versions:
2039
+ - 50
2040
+ - 52
2041
+ quote: Source code with requires unified_shared_memory directive is accepted but requires -gpu=mem:unified flag to activate Unified Memory Mode.
2042
+ language: Fortran and C/C++
2043
+ note: HPC Compilers User's Guide, section 7.8 OpenMP with CUDA Unified Memory
2044
+ version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
2045
+ status: provisional
2046
+ atoms:
2047
+ - omp.clause.unified_shared_memory