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,30 @@
1
+ /* Finding (C): a directive-name modifier in a linear clause sends
2
+ the clang front end into an endless loop.
3
+
4
+ Legal OpenMP 6.0 C: linear(x: for, step(2)) names the directive the
5
+ clause applies to (6.0 §5.4, p.174: "The directive-name-modifier is a
6
+ universal modifier that can be used on any clause"; linear, 6.0
7
+ §7.5.6, p.232). Expected: compiles
8
+ (or, for a compiler without the 6.0 modifier, one diagnostic).
9
+
10
+ Observed (2026-10-19): AFAR amdclang 24.0.0git and CCE craycc 19.0.0
11
+ (the omp60-c-clause-linear-directive_name program: also 20.0.2 and
12
+ 21.0.3) print "error: expected expression" at the `for` twenty times,
13
+ then "fatal error: too many errors emitted, stopping now", and do not
14
+ exit: killed after 40 s with -fsyntax-only (the matrix: compile
15
+ timeout on all four toolchains). Without `for,` it compiles at once.
16
+
17
+ amdclang -fopenmp -fopenmp-version=60 -fsyntax-only
18
+ craycc -fopenmp -fopenmp-version=60 -fsyntax-only */
19
+ int main(void) {
20
+ int x = 0, b[8];
21
+ #pragma omp parallel for linear(x: for, step(2))
22
+ for (int i = 0; i < 8; i++) { b[i] = x; x += 2; }
23
+ return b[1];
24
+ }
25
+ // site:
26
+ // title: craycc -fopenmp-version=60: linear(x: for, step(2)) sends the front end into an endless loop after "too many errors"
27
+ // control: ../vendor/checks/src/other/control/clang-c-linear-directive-name-hang-control.c linear(x: step(2)) without the
28
+ // + directive-name
29
+ // + modifier
30
+ // end site
@@ -0,0 +1,51 @@
1
+ /* Finding (C), reproducer replaced: at OpenMP 5.1
2
+ (the default of both clang C front ends) the iterator map-type modifier
3
+ is rejected.
4
+
5
+ Legal OpenMP 5.1 C: iterator(iterators-definition) is a map-type-modifier
6
+ of the map clause (5.1 §2.21.7.1 p.347). The iterator it = 0:1 has the
7
+ one value 0 (C ranges exclude the end, 5.1 §2.1.6 p.49), so the map is
8
+ map(tofrom: a[0:n]); with one instance no two instances share a
9
+ containing array (5.1 §2.21.7.1 p.353: "the list item instances that
10
+ would result from different values of the iterator must not have the
11
+ same containing array"). The first reproducer, map(iterator(it = 0:n),
12
+ tofrom: a[it]) as in omp_vv test_target_map_iterators.c, broke that
13
+ restriction and was withdrawn.
14
+ Expected: "RESULT ran_on_host=0 check=pass".
15
+
16
+ Observed (tuolumne, MI300A, -O2, HSA_XNACK 1 and 0, 3 runs each,
17
+ 2026-10-22, data/evidence/triage_probe/map_iter.c, results/t27b/probes_fr1.jsonl):
18
+ - AFAR amdclang 24.0.0git and CCE craycc 19.0.0, 20.0.2, 21.0.3, with
19
+ their default flags and with -fopenmp-version=51: "error: incorrect
20
+ map type modifier, expected one of: 'always', 'close', 'mapper',
21
+ 'present', 'ompx_hold'".
22
+ - At -fopenmp-version=52: AFAR correct in both modes; CCE craycc 19, 20
23
+ and 21 crash in the front end (internal compiler error, "clang
24
+ frontend command failed due to signal").
25
+ The AMD clang status table at the AFAR commit lists "device | iterators
26
+ in map clause or motion clauses | done" in its 5.1 section.
27
+
28
+ amdclang -fopenmp --offload-arch=gfx942 [-fopenmp-version=51] -O2
29
+ craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
30
+ -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -O2 */
31
+ #include <stdio.h>
32
+ #include <omp.h>
33
+ enum { n = 8 };
34
+ int main(void) {
35
+ int a[n], bad = 0, host_flag = 1;
36
+ for (int i = 0; i < n; i++) a[i] = i;
37
+ #pragma omp target map(iterator(it = 0:1), tofrom: a[it:n]) map(tofrom: host_flag)
38
+ {
39
+ host_flag = omp_is_initial_device() ? 1 : 0;
40
+ for (int i = 0; i < n; i++) a[i] += 1;
41
+ }
42
+ for (int i = 0; i < n; i++) bad += a[i] != i + 1;
43
+ printf("RESULT ran_on_host=%d check=%s\n", host_flag, bad ? "fail" : "pass");
44
+ return 0;
45
+ }
46
+ // site:
47
+ // title: craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic
48
+ // control: ../vendor/checks/src/other/control/clang-c-map-iterator-omp51-control.c map(tofrom: a[0:n]) without the iterator
49
+ // + modifier
50
+ // same_as: catalog/cce-c-map-iterator-ice
51
+ // end site
@@ -0,0 +1,58 @@
1
+ /* Finding (C): a declare target variable listed in shared on a
2
+ combined target construct is read with its host value.
3
+
4
+ Legal OpenMP 5.2 / 6.0 C. on_dev is a declare target variable (5.2
5
+ §7.8.1); the first target region sets its device copy to 1 (the host
6
+ copy stays 0). In the second region the shared clause applies only to
7
+ the teams leaf (5.2 §17.2: shared applies to the leaves that permit it,
8
+ target does not), so on_dev there is the target region's on_dev: the
9
+ device copy, which is present (implicitly map(tofrom), 5.2 §5.8.1: no
10
+ transfer for a present variable). Expected b[1] = 2*1 + 1 = 3, the same
11
+ as the third region (no shared clause).
12
+
13
+ Observed (HSA_XNACK 0 and 1, -O2): AFAR amdclang 24.0.0git, CCE craycc
14
+ 19.0.0, 20.0.2 and 21.0.3 all print b[1]=2 (the host value 0) and
15
+ c[1]=3. The fourth region (teams loop nested in a target region, the
16
+ shared clause on teams; expected d[1]=3): CCE 19 and 21 print d[1]=3,
17
+ AFAR prints an indeterminate value (d[1]=1276187178 here), which makes
18
+ omp52/60-c-directive-teams_loop wrong_answer on AFAR. AFAR amdflang
19
+ and CCE ftn run the Fortran form of the same program
20
+ (omp52-directive-target_teams_loop: shared(a, b, on_dev) under
21
+ default(none)) correctly; the C ports of the five probe-region programs
22
+ (target parallel for simd, target parallel loop, target teams
23
+ distribute parallel for simd, target teams loop, 6.0 target teams
24
+ distribute simd) fail on every toolchain because of this.
25
+
26
+ amdclang -fopenmp --offload-arch=gfx942 -fopenmp-version=52 -O2
27
+ craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
28
+ -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -O2 */
29
+ #include <stdio.h>
30
+ #include <omp.h>
31
+ int on_dev = 0;
32
+ #pragma omp declare target(on_dev)
33
+ int main(void) {
34
+ int a[64], b[64], c[64], d[64];
35
+ for (int i = 0; i < 64; i++) { a[i] = i; b[i] = 0; c[i] = 0; d[i] = 0; }
36
+ #pragma omp target
37
+ { on_dev = 1; }
38
+ #pragma omp target teams loop map(to: a) map(from: b) shared(a, b, on_dev)
39
+ for (int i = 0; i < 64; i++) b[i] = 2 * a[i] + on_dev;
40
+ #pragma omp target teams loop map(to: a) map(from: c)
41
+ for (int i = 0; i < 64; i++) c[i] = 2 * a[i] + on_dev;
42
+ #pragma omp target map(to: a) map(from: d)
43
+ {
44
+ #pragma omp teams loop shared(a, d, on_dev)
45
+ for (int i = 0; i < 64; i++) d[i] = 2 * a[i] + on_dev;
46
+ }
47
+ printf("with shared(on_dev): b[1]=%d without: c[1]=%d teams loop in "
48
+ "target with shared(on_dev): d[1]=%d (device copy is 1, host copy "
49
+ "%d)\n", b[1], c[1], d[1], on_dev);
50
+ return 0;
51
+ }
52
+ // site:
53
+ // title: craycc: a declare target variable listed in shared on target teams loop is read with its host value
54
+ // control: ../vendor/checks/src/other/control/clang-c-shared-declare-target-combined-control.c shared(a, b, on_dev) removed from
55
+ // + the
56
+ // + first target
57
+ // + teams loop
58
+ // end site
@@ -0,0 +1,74 @@
1
+ ! # Finding: at -O2, CCE ftn 19/20/21 make a target region's write to a VALUE dummy
2
+ ! # visible to the host (no transfer of the dummy; it is firstprivate in the region)
3
+ !
4
+ ! - compilers: CCE ftn 19.0.0, 20.0.2, 21.0.3 (MI300A gfx942), -O2 and -O3, HSA_XNACK 0 and 1
5
+ ! - expected: rd= 5 vout= 101 dev= 1
6
+ ! - actual: rd= 5 vout= 203 dev= 1 (every run: 3 repeats per cell, CCE 19/20/21 x XNACK 0/1 x -O2/-O3)
7
+ ! - rule: v is a scalar dummy with the VALUE attribute, without the TARGET, ALLOCATABLE or POINTER attribute,
8
+ ! in no clause of the target construct, so it is not mapped: "If the above rules do not apply then a
9
+ ! scalar variable is not mapped but instead has an implicit data-sharing attribute of firstprivate"
10
+ ! (OpenMP 5.2 §5.8.1 p.149 l.8-9; 5.0 §2.19.7 p.315 l.9-10; 6.0 §7.9.3 p.277 l.22-23), and "In a target
11
+ ! construct, variables that are not mapped after applying data-mapping attribute rules (see Section 5.8)
12
+ ! are firstprivate" (5.2 §5.1.1 p.99 l.19-20). The region's v = 2*v + 1 writes its private copy, so the
13
+ ! procedure's v is still 101 after the region and vout = v returns 101. (A VALUE scalar is Fortran 2003;
14
+ ! OpenMP 5.0 §1.7 lists only the Fortran 2008 extension of VALUE as unspecified.)
15
+ ! - what happens (not a map and not a copy-back): with CRAY_ACC_DEBUG=2 (CCE 19, HSA_XNACK 0) the -O2 build
16
+ ! of results/dataenv/probe_fr1/vd_write.f90 (this program without its header and its dev region)
17
+ ! launches `p_$ck_L23_3` from the call site at its line 23 (sub is inlined into the main program) and
18
+ ! transfers only `r` ("allocate 'r'", then "copy to host, free 'r'"); nothing of v is transferred, yet
19
+ ! the host reads 203. The -O0 build launches `sub_$ck_L6_1`, transfers the same `r`, and the host reads
20
+ ! 101.
21
+ ! (trace: results/dataenv/probe_fr1/trace.out; review, section 5)
22
+ ! - conditions (each a one-change variant, CCE 19/20/21, HSA_XNACK 0 and 1, results/dataenv/probe_fr1/):
23
+ ! - correct at -O0 and -O1; wrong at -O2 and -O3;
24
+ ! - correct when the region only reads v (r = v);
25
+ ! - correct when the region also calls omp_is_initial_device();
26
+ ! - wrong with sub a module procedure too (the generator's form, the trial's 9 CCE cells, gfx942 and
27
+ ! gfx90a, both modes: results/dataenv/pilot_all/).
28
+ ! - same-compiler controls (all correct, -O2): firstprivate(v) on the target construct; v a by-reference
29
+ ! intent(inout) dummy instead of VALUE; a local copy u = v written in the region instead of v.
30
+ ! - other families: AFAR amdflang 24.0.0git (drop 24.3.0) correct on this file at -O0 to -O3, both modes;
31
+ ! NVHPC 25.11 and 26.9 (A100, separate and managed) correct on the generator's module-procedure form
32
+ ! (the trial's rows); this file was not run on NVHPC.
33
+ ! - legality: offload.engine.prerun.check accepts it (offload.engine.rules with the race rule, and the AFAR flang
34
+ ! front end); the region is executed by one initial thread; no compiler under test, gfortran or gcc is a
35
+ ! legality witness.
36
+ ! - found by: the data-environment pilot, rule omp-target-value-dummy-firstprivate
37
+ ! (catalog/dataenv_rules.yaml); gate verdict confirmed on all 9 CCE cells.
38
+ ! This 22-line reproducer is the reviewer's.
39
+ ! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>; module unload cray-mpich)
40
+ ! AFAR: amdflang -fopenmp --offload-arch=gfx942 -O2
41
+ ! Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
42
+ subroutine sub(v, rd, vout)
43
+ integer, value :: v
44
+ integer, intent(out) :: rd, vout
45
+ integer :: r
46
+ r = -1
47
+ !$omp target map(from: r)
48
+ v = 2*v + 1
49
+ r = 5
50
+ !$omp end target
51
+ rd = r
52
+ vout = v ! CCE 19/20/21 -O2: 203; expected 101
53
+ end subroutine sub
54
+
55
+ program value_dummy_target_write
56
+ use omp_lib, only: omp_is_initial_device
57
+ implicit none
58
+ interface
59
+ subroutine sub(v, rd, vout)
60
+ integer, value :: v
61
+ integer, intent(out) :: rd, vout
62
+ end subroutine sub
63
+ end interface
64
+ integer :: rd, vout, dev
65
+ dev = -1
66
+ !$omp target map(from: dev)
67
+ dev = merge(0, 1, omp_is_initial_device())
68
+ !$omp end target
69
+ call sub(101, rd, vout)
70
+ print '(a,i0,a,i0,a,i0)', 'rd= ', rd, ' vout= ', vout, ' dev= ', dev
71
+ end program value_dummy_target_write
72
+ ! site:
73
+ ! title: ftn at -O2: a target region's write to a VALUE dummy, firstprivate there, becomes visible to the host
74
+ ! end site
@@ -0,0 +1,69 @@
1
+ ! Finding: defaultmap(none) on a target construct whose every
2
+ ! referenced variable has a data-environment attribute is rejected by every
3
+ ! compiler.
4
+ !
5
+ ! Legal OpenMP 5.2: "If implicit-behavior is none, each variable that is
6
+ ! specified by variable-category and is referenced in the construct but does
7
+ ! not have a predetermined data-sharing and does not appear in an enter or
8
+ ! link clause on a declare target directive must be explicitly listed in a
9
+ ! data-environment attribute clause on the construct" (5.2 §5.8.7 p.162).
10
+ ! a, b and host_flag are mapped; n is a named constant, not a variable; i is
11
+ ! listed in private(i), a data-environment attribute clause (whether it is
12
+ ! also predetermined private as a loop iteration variable, 5.2 §5.1.1 p.97,
13
+ ! depends on reading target as a task generating construct; the finding
14
+ ! does not rest on it). Expected: "RESULT ran_on_host=0 check=pass".
15
+ !
16
+ ! Legality rests on the quoted spec text only (registry
17
+ ! RUL-LEGAL-DEFAULTMAP-NONE): there is no independent compiler witness.
18
+ ! Cited gfortran 13.3.1 -fopenmp as one; the maintainer withdrew
19
+ ! gfortran/gcc -fopenmp as offload legality witnesses on 2026-10-23 (final
20
+ ! review 3, data/reports/rulings.md), so the catalog cells are
21
+ ! unsupported_everywhere (every family rejects), not compiler_bug (R12a
22
+ ! cannot fire without a witness). The variant without private(i)
23
+ ! (data/evidence/triage_probe/dmap_none_noi.f90) is contested.
24
+ ! (2026-10-24): NVHPC 25.11 and 26.9 (wingtip, the configured
25
+ ! witness) accept the omp50/52/60-clause-defaultmap-none programs, but
26
+ ! that is no witness either (ruling R2): nvc also
27
+ ! compiles and runs the illegal C defaultmap(none) variants
28
+ ! (omp52/60-c-illegal-defaultmap-map-003, a referenced variable not
29
+ ! listed), and nvfortran compiles a Fortran target defaultmap(none) that
30
+ ! references unlisted x and n; NVHPC does not enforce defaultmap(none), so
31
+ ! its accept says nothing about legality (offload.engine.confirm.witness
32
+ ! uncalibrated; catalog/legality_witness.yaml calibration rows). The cells
33
+ ! stay unsupported_everywhere.
34
+ !
35
+ ! Observed (tuolumne, MI300A, both memory modes, -O2, 2026-10-22,
36
+ ! data/evidence/triage_probe/dmap_none.f90 and dmap_none_noi.f90 (without private(i)),
37
+ ! results/t27b/probes.jsonl): every compiler under test rejects this form
38
+ ! (and the variant without private(i)):
39
+ ! - AFAR amdflang 24.0.0git: "The DEFAULTMAP(NONE) clause requires that 'i'
40
+ ! must be listed in a data-sharing attribute, data-mapping attribute, or
41
+ ! is_device_ptr clause";
42
+ ! - CCE 20.0.2, 21.0.3: ftn-1964 "Variable "I" must have its data mapping
43
+ ! attribute explicitly declared because default map(none) was specified";
44
+ ! - CCE 19.0.0: ftn-1964 "Variable "B" ..." although b is in map(from: b).
45
+ ! The catalog's omp50/52/60-clause-defaultmap-none programs are rejected on
46
+ ! every compiler because of it.
47
+ !
48
+ ! amdflang -fopenmp --offload-arch=gfx942 -O2; ftn -fopenmp -O2
49
+ program p
50
+ use omp_lib, only: omp_is_initial_device
51
+ implicit none
52
+ integer, parameter :: n = 64
53
+ integer :: a(n), b(n), i, host_flag
54
+ a = [(i, i = 1, n)]
55
+ b = 0
56
+ host_flag = 1
57
+ !$omp target map(to: a) map(from: b) map(tofrom: host_flag) defaultmap(none) private(i)
58
+ host_flag = merge(1, 0, omp_is_initial_device())
59
+ do i = 1, n
60
+ b(i) = 2*a(i) + 1
61
+ end do
62
+ !$omp end target
63
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', &
64
+ merge('pass', 'fail', all(b == 2*a + 1))
65
+ end program p
66
+ ! site:
67
+ ! title: ftn: defaultmap(none) rejected although every referenced variable has a data-environment attribute (ftn-1964)
68
+ ! control: ../vendor/checks/src/other/control/defaultmap-none-loop-variable-control.f90 defaultmap(none) removed
69
+ ! end site
@@ -0,0 +1,53 @@
1
+ ! loop bind(thread) in a parallel region in a target region: the binding
2
+ ! region is not defined and the binding thread set is the encountering
3
+ ! thread (5.2 §11.7.1 p.257-258), so every thread of the team runs all n
4
+ ! logical iterations ("Each logical iteration is executed once per
5
+ ! instance of the loop region that is encountered by exactly one thread
6
+ ! that is a member of the binding thread set", 5.2 §11.7 p.257). Each
7
+ ! iteration writes its own element hit(i, thread + 1): no data race even
8
+ ! though the iterations may execute concurrently.
9
+ ! Expected: every thread ran all 64 iterations (0 short).
10
+ ! Observed (MI300A, HSA_XNACK 0 and 1, 3 runs each): AFAR flang: 256
11
+ ! threads, 1 iteration each for threads 0-3 (the team shares the
12
+ ! iterations, as bind(parallel) would); CCE 19, 20, 21 ftn: 37-38, 1, 1, 1
13
+ ! at HSA_XNACK=1 and 1 or 2 per thread at HSA_XNACK=0; all 256 threads
14
+ ! short. The C form (AMD clang) is correct: 64 per thread.
15
+ ! : on CCE the same loop without the loop
16
+ ! directive fails too, and the program is correct at -O0: CCE's failure is
17
+ ! the sequential-loop defect of cce19-target-parallel-guarded-loop.f90, not
18
+ ! a bind(thread) defect. On AFAR it is a bind(thread) defect.
19
+ program bind_thread_repro
20
+ use omp_lib
21
+ implicit none
22
+ integer, parameter :: n = 64
23
+ integer :: hit(n, 1024), nthr, tid, i, k, short
24
+ hit = 0
25
+ nthr = -1
26
+ !$omp target map(tofrom: hit, nthr)
27
+ !$omp parallel private(tid)
28
+ tid = omp_get_thread_num()
29
+ if (tid == 0) nthr = omp_get_num_threads()
30
+ !$omp loop bind(thread)
31
+ do i = 1, n
32
+ if (tid < 1024) hit(i, tid + 1) = hit(i, tid + 1) + 1
33
+ end do
34
+ !$omp end loop
35
+ !$omp end parallel
36
+ !$omp end target
37
+ short = 0
38
+ do k = 1, min(nthr, 1024)
39
+ if (sum(hit(:, k)) /= n) short = short + 1
40
+ end do
41
+ print '(a,i0,a,4(1x,i0))', 'threads=', nthr, ' iterations run by threads 0-3:', &
42
+ (sum(hit(:, k)), k = 1, 4)
43
+ print '(a,i0,a)', 'threads that did not run all 64 iterations: ', short, ' (expected 0)'
44
+ end program bind_thread_repro
45
+ ! site:
46
+ ! title: ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations
47
+ ! + (-O2)
48
+ ! control: ../vendor/checks/src/other/control/fortran-loop-bind-thread-in-parallel-control.f90 the loop directive removed (each
49
+ ! + thread
50
+ ! + runs a
51
+ ! + plain DO loop)
52
+ ! same_as: cce19-target-parallel-guarded-loop
53
+ ! end site
@@ -0,0 +1,55 @@
1
+ ! Schedule(static, 4) on a parallel do in a target region:
2
+ ! "iterations are divided into chunks of size chunk_size, and the chunks
3
+ ! are assigned to the threads in the team in a round-robin fashion in the
4
+ ! order of the thread number" (5.2 §11.5.3 p.252), so iteration i runs on
5
+ ! thread mod((i - 1)/4, T). schedule(static) without a chunk size: "at
6
+ ! most one chunk is distributed to each thread" (same page), so each
7
+ ! thread's iterations are contiguous.
8
+ ! Expected: 0 wrong, 0 second chunks. Observed (MI300A, HSA_XNACK 0 and 1,
9
+ ! 3 runs each): AFAR flang, CCE 19, 20 and 21 ftn: 256 threads,
10
+ ! tid(1:12) = 0 1 2 ... 11 for both loops (one iteration at a time,
11
+ ! round-robin), 997 of 1000 iterations on the wrong thread, 744 second
12
+ ! chunks. The C form (sched_repro.c in results/t27a/diag/d2, AMD clang)
13
+ ! is correct: tid = 0 0 0 0 1 1 1 1 ...
14
+ program sched_repro
15
+ use omp_lib
16
+ implicit none
17
+ integer, parameter :: m = 1000
18
+ integer :: tid(m), tid2(m), nthr, i, bad, bad2
19
+ tid = -1
20
+ tid2 = -1
21
+ nthr = -1
22
+ !$omp target map(from: tid, tid2, nthr)
23
+ !$omp parallel do schedule(static, 4)
24
+ do i = 1, m
25
+ if (i == 1) nthr = omp_get_num_threads()
26
+ tid(i) = omp_get_thread_num()
27
+ end do
28
+ !$omp end parallel do
29
+ !$omp parallel do schedule(static)
30
+ do i = 1, m
31
+ tid2(i) = omp_get_thread_num()
32
+ end do
33
+ !$omp end parallel do
34
+ !$omp end target
35
+ bad = 0
36
+ do i = 1, m
37
+ if (tid(i) /= mod((i - 1)/4, nthr)) bad = bad + 1
38
+ end do
39
+ ! static without chunk: at most one chunk (contiguous) per thread
40
+ bad2 = 0
41
+ do i = 2, m
42
+ if (tid2(i) /= tid2(i - 1) .and. any(tid2(1:i - 1) == tid2(i))) bad2 = bad2 + 1
43
+ end do
44
+ print '(a,i0,a,12(1x,i0))', 'threads=', nthr, ' static,4 tid(1:12)=', tid(1:12)
45
+ print '(a,12(1x,i0))', 'static tid(1:12)=', tid2(1:12)
46
+ print '(a,i0,a,i0,a)', 'static,4 iterations on the wrong thread: ', bad, ' of ', m, ' (expected 0)'
47
+ print '(a,i0,a)', 'static: iterations starting a second chunk of a thread: ', bad2, ' (expected 0)'
48
+ end program sched_repro
49
+ ! site:
50
+ ! title: ftn: schedule(static, 4) and schedule(static) on a parallel do in a target region deal iterations out one at a time
51
+ ! control: ../vendor/checks/src/other/control/fortran-schedule-static-in-target-control.f90 schedule(static, 1) and its check
52
+ ! + (iteration
53
+ ! + i on
54
+ ! + thread mod(i - 1, T)) instead of schedule(static, 4)
55
+ ! end site
@@ -0,0 +1,47 @@
1
+ ! # Finding (from the data/bench/fresh draft fresh-097): CCE rejects a common block name in a
2
+ ! map clause
3
+ !
4
+ ! - source: data/bench/fresh/fresh-097.f90 (GCC Bugzilla 115577 with the reader of GCC PR 115559): a
5
+ ! common block in declare target link, mapped by name on target enter data. CCE rejects the map
6
+ ! clause with or without declare target, with or without a map type, on target enter data and on
7
+ ! target; this reproducer is the shortest form
8
+ ! - compilers: CCE 19.0.0, 20.0.2 and 21.0.3 ftn, -fopenmp -O2
9
+ ! - expected: compiles and prints wild-check: pass. A Fortran list item may be "a common block name
10
+ ! (enclosed in slashes)" (OpenMP 5.2 §3.2.1 p.61 l.6), and "When a named common block appears in
11
+ ! an OpenMP argument list, it has the same meaning and restrictions as if every explicit member of
12
+ ! the common block appeared in the list" (l.11-13); the map clause takes a locator list (§5.8.3
13
+ ! p.150), whose items are variable list items (§3.2.1 p.61 l.7-8). OpenMP 5.0, which HPE claims in
14
+ ! full ("CCE supports full OpenMP 5.0", intro_openmp(7)), already says it: "A list item is a
15
+ ! variable, array section or common block name (enclosed in slashes) ... a common block name
16
+ ! specified in a data-sharing attribute, a data copying or a data-mapping attribute clause must be
17
+ ! declared to be a common block in the same scoping unit" (5.0 §2.1 p.39 l.11-20)
18
+ ! - actual: ftn-534: 'Common block "MYCOMMON" must not be specified on the MAP clause on directive
19
+ ! !$OMP TARGET.' (and "... TARGET ENTER DATA." for the draft), every release, both memory modes
20
+ ! - control (same compiler): the members named instead, map(to: A, B, C), compile and print
21
+ ! wild-check: pass (data/reports/fresh-drafts/d097-target-members.f90, d097-members.f90)
22
+ ! - other families: AFAR compiles and prints wild-check: pass (MI300A HSA_XNACK 1 and 0; MI250X).
23
+ ! NVHPC 25.11 rejects the draft's declare target link(/mycommon/) as a syntax error and 26.9 says
24
+ ! LINK is not implemented
25
+ ! - legality: legal by reading (5.0 and 5.2 text above; the common block is declared in the scoping
26
+ ! unit of the clause)
27
+ ! - evidence: results/fresh-drafts/tuo-p1.jsonl, tuo2-q4.jsonl, tuo3-r*-c.jsonl, tioga/tioga-d.jsonl (review)
28
+ program main
29
+ integer :: A(2), C, r
30
+ real :: B
31
+ common /mycommon/ A, B, C
32
+ A = [1, 2]; B = 2.0; C = 7
33
+ r = 0
34
+ !$omp target map(to: /mycommon/) map(from: r)
35
+ if (A(1) == 1 .and. A(2) == 2 .and. B == 2.0 .and. C == 7) r = 1
36
+ !$omp end target
37
+ if (r == 1) then
38
+ print *, 'wild-check: pass'
39
+ else
40
+ print *, 'wild-check: fail'
41
+ end if
42
+ end program main
43
+ ! site:
44
+ ! title: ftn: a common block name in a map clause is rejected (ftn-534)
45
+ ! control: ../vendor/checks/src/cce/control/cce-common-block-name-in-map-rejected-control.f90 the members named instead: map(to:
46
+ ! + A, B, C)
47
+ ! end site
@@ -0,0 +1,38 @@
1
+ ! # Finding (from the data/bench/fresh draft fresh-106): CCE ICE on an IF with one
2
+ ! operand that guards a STOP directly in a target region
3
+ !
4
+ ! - the one-operand form of fresh/cce-if-stop-in-target-ice.f90 (see its header for the source):
5
+ ! `if (x /= 1) stop 1` directly in a target region; `if (allocated(j)) stop 1`,
6
+ ! `if (.not. allocated(j)) stop 1` and `if (allocated(j)) error stop 1` give the same ICE
7
+ ! (data/reports/fresh-drafts/d106-e2.f90, d106-e7.f90, d106-e6.f90; CCE 21 rejects the ERROR STOP
8
+ ! instead: "Non-localized coarray control/access statements are not allowed in an OpenMP
9
+ ! explicit region")
10
+ ! - compilers: CCE 19.0.0, 20.0.2 and 21.0.3 ftn, -fopenmp -O2 (gfx942 and gfx90a)
11
+ ! - expected: compiles and prints x 11 (OpenMP 5.2 §4.3 p.76 l.13-21: "A structured block ... may
12
+ ! contain STOP or ERROR STOP statements"); x is 1 on entry, so the STOP is not reached
13
+ ! - actual: INTERNAL COMPILER ERROR "COND PDG 20 with no stmts." (pdgcs/v_fs.c line 2323 in CCE 19,
14
+ ! 2325 in CCE 20 and 21)
15
+ ! - control (same compiler): `if (x /= 1) x = -100` (data/reports/fresh-drafts/d106-r1-ctl.f90)
16
+ ! compiles and prints x 11
17
+ ! - other families: AFAR compiles and prints x 11 (MI300A HSA_XNACK 1 and 0; MI250X)
18
+ ! - related: catalog/cce-flang-stop-in-target-crash.f90
19
+ ! - legality: legal by reading
20
+ ! - evidence: results/fresh-drafts/tuo4-r*.jsonl, tioga/tioga2.jsonl (d106-r1.f90, identical to the
21
+ ! program below), tuo2-q1.jsonl (d106-e3.f90, the same with an unused allocatable) (review)
22
+ program p
23
+ implicit none
24
+ integer :: x
25
+ x = 1
26
+ !$omp target map(tofrom: x)
27
+ if (x /= 1) stop 1
28
+ x = 11
29
+ !$omp end target
30
+ print *, 'x', x
31
+ end program p
32
+ ! site:
33
+ ! title: ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an
34
+ ! + internal compiler error (directly in a target region)
35
+ ! control: ../vendor/checks/src/cce/control/cce-if-stop-in-target-ice-one-condition-control.f90 the IF with an assignment instead
36
+ ! + of STOP
37
+ ! same_as: catalog/cce-flang-stop-in-target-crash
38
+ ! end site
@@ -0,0 +1,43 @@
1
+ ! # Finding (from the data/bench/fresh draft fresh-106): CCE ICE on an IF that guards a STOP
2
+ ! directly in a target region
3
+ !
4
+ ! - source: data/bench/fresh/fresh-106.f90 (GCC Bugzilla 119905, libgomp map-alloc-comp-11.f90:
5
+ ! recursive allocatable components, checks that end in STOP inside the target region). The ICE
6
+ ! needs neither the derived types nor ALLOCATED: it needs an IF whose action is STOP, directly in
7
+ ! a target region (not inside a loop construct: the catalog's `if (a(i) < 0) stop 1` inside
8
+ ! target teams distribute parallel do compiles, see Related). With two operands joined by .or.
9
+ ! (this file) the ICE is the draft's; with one operand it is another ICE
10
+ ! (fresh/cce-if-stop-in-target-ice-one-condition.f90)
11
+ ! - compilers: CCE 19.0.0, 20.0.2 and 21.0.3 ftn, -fopenmp -O2 (gfx942 and gfx90a)
12
+ ! - expected: compiles and prints x 11. "A structured block ... may contain STOP or ERROR STOP
13
+ ! statements" (OpenMP 5.2 §4.3 p.76 l.13-21); x is 1 on entry, so the STOP is not reached
14
+ ! - actual: INTERNAL COMPILER ERROR "Condition statement not found in condition node"
15
+ ! (pdgcs/v_region.c line 636 in CCE 19 and 20, line 646 in CCE 21), the ICE of the draft
16
+ ! - control (same compiler): the same IF with an assignment instead of the STOP,
17
+ ! `if (x /= 1 .or. x > 5) x = -100` (data/reports/fresh-drafts/d106-r2-ctl.f90), compiles and
18
+ ! prints x 11
19
+ ! - other families: AFAR compiles and prints x 11 (MI300A HSA_XNACK 1 and 0; MI250X). NVHPC rejects
20
+ ! the draft's recursive allocatable components (a Fortran 2008 feature)
21
+ ! - related: catalog/cce-flang-stop-in-target-crash.f90 (an unreached IF ... STOP inside a target
22
+ ! loop compiles, and the device executes the STOP): the same construct, a different outcome,
23
+ ! plausibly the same root cause (the condition of an IF whose action is STOP is lost)
24
+ ! - legality: legal by reading
25
+ ! - evidence: results/fresh-drafts/tuo4-r*.jsonl, tioga/tioga2.jsonl (d106-r2.f90, identical to the
26
+ ! program below), tuo2-q1.jsonl, tuo3-r*-c.jsonl, tioga/tioga-d.jsonl (d106-e4.f90, the same with an
27
+ ! unused allocatable) (review)
28
+ program p
29
+ implicit none
30
+ integer :: x
31
+ x = 1
32
+ !$omp target map(tofrom: x)
33
+ if (x /= 1 .or. x > 5) stop 1
34
+ x = 11
35
+ !$omp end target
36
+ print *, 'x', x
37
+ end program p
38
+ ! site:
39
+ ! title: ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an
40
+ ! + internal compiler error (directly in a target region)
41
+ ! control: ../vendor/checks/src/cce/control/cce-if-stop-in-target-ice-control.f90 the IF with an assignment instead of STOP
42
+ ! same_as: catalog/cce-flang-stop-in-target-crash
43
+ ! end site
@@ -0,0 +1,40 @@
1
+ ! # Finding (from the data/bench/fresh draft fresh-022): CCE 19/20 abort on a list-directed
2
+ ! PRINT in a target region in copy mode
3
+ !
4
+ ! - source: data/bench/fresh/fresh-022.f90 (llvm-project issue 166338, the reporter's program unchanged)
5
+ ! - compilers: CCE 19.0.0 and 20.0.2 ftn, -fopenmp -O2, OMP_TARGET_OFFLOAD=mandatory; MI300A (gfx942)
6
+ ! at HSA_XNACK=0 and MI250X (gfx90a, Tioga) at HSA_XNACK=0
7
+ ! - expected: "Hello, world!" from the device. PRINT is a base-language statement; OpenMP 5.2 places
8
+ ! no restriction on I/O statements in a target region (the restrictions on structured blocks,
9
+ ! §4.3 p.76-77, concern branches into and out of the block), and an implementation is compliant
10
+ ! only if it "compiles and executes all other conforming programs" (§1.6 p.34 l.22-24). HPE
11
+ ! documents the case: "Fortran PRINT
12
+ ! statements are supported, with limitations, when called from OpenMP offload regions compiled for
13
+ ! AMD GPU targets. The current implementation supports PRINT statements with a single scalar value
14
+ ! of type character, integer, real, or complex" (intro_openmp(7), CCE 19.0.0 and 20.0.2,
15
+ ! "Printing from GPU kernels"; data/index/claims/)
16
+ ! - actual: CCE 19 and 20 at HSA_XNACK=0: "Memory access fault by GPU node-4 ... Reason: Unknown",
17
+ ! SIGABRT, nothing printed (MI300A three runs each; MI250X). At HSA_XNACK=1 correct. The same with
18
+ ! `print *, 42` (data/reports/fresh-drafts/d022-list-int.f90) and with two list-directed PRINTs
19
+ ! (d022-two-lists.f90)
20
+ ! - control (same compiler): the formatted `print '(a)', "Hello, world!"`
21
+ ! (data/reports/fresh-drafts/d022-fmt-literal.f90) prints the line on CCE 19/20 at XNACK 0 and 1.
22
+ ! With a mapped scalar written in the same region the list-directed PRINT also works
23
+ ! (d022-map-only.f90, d022-list-literal-dev.f90): the abort needs a region without other data
24
+ ! - other families: AFAR, CCE 21.0.3 and NVHPC 25.11/26.9 (A100, separate and managed memory) print
25
+ ! the line
26
+ ! - legality: legal by reading (no OpenMP construct but target; no data)
27
+ ! - evidence: results/fresh-drafts/tuo*-*.jsonl, tioga/tioga-a.jsonl, wingtip/nv.jsonl (runs of the review);
28
+ ! the data/bench/fresh ground truth (data/bench/fresh/outcomes.csv: cce19/cce20
29
+ ! copy crash on gfx942 and gfx90a)
30
+ program reproducer
31
+ implicit none
32
+ !$omp target
33
+ print *, "Hello, world!"
34
+ !$omp end target
35
+ end program reproducer
36
+ ! site:
37
+ ! title: ftn: a list-directed PRINT in a target region aborts the run in copy mode
38
+ ! control: ../vendor/checks/src/cce/control/cce-list-directed-print-in-target-copy-crash-control.f90 a formatted PRINT, print '(a)',
39
+ ! + instead of list-directed print *
40
+ ! end site
@@ -0,0 +1,56 @@
1
+ ! # Finding (from the data/bench/fresh draft fresh-084): CCE 19 crashes on a two-dimensional
2
+ ! automatic array in copyout in copy mode (OpenACC)
3
+ !
4
+ ! - source: data/bench/fresh/fresh-084.f90 (reconstructed from the ICON workaround at
5
+ ! src/atm_dyn_iconam/mo_nh_supervise.f90, icon-model 8597da45, line 765: an automatic array in
6
+ ! copyout, zeroed in kernels and filled in a parallel loop). Neither the kernels region nor the
7
+ ! copyin array matters; the automatic array's rank does (the one-dimensional form,
8
+ ! data/reports/fresh-drafts/d084-min.f90, is correct)
9
+ ! - compilers: CCE 19.0.0 ftn -h acc -O2; MI300A HSA_XNACK=0, MI250X (Tioga) HSA_XNACK=0
10
+ ! - expected: s 3150.0. copyout(w) on the data construct allocates w on the device at entry and
11
+ ! transfers it out at exit when the reference counters reach zero (OpenACC 3.4 §2.7.9 p.56
12
+ ! l.1932-1953); the parallel loop writes every element, so w(i, k) = i*k on the host after the
13
+ ! region and the sum over i = 1..20, k = 1..5 is 210 * 15 = 3150
14
+ ! - actual: SIGSEGV (exit -11), nothing printed, three runs of three; at HSA_XNACK=1 correct
15
+ ! - control (same compiler): w a fixed-size local w(20, 5) instead of the automatic w(nb, nl)
16
+ ! prints s 3150.0 at XNACK 0 and 1 (data/reports/fresh-drafts/d084-min2d-fixed.f90); so do an
17
+ ! allocatable vn_aux in the draft (d084-allocatable.f90) and the one-dimensional automatic array
18
+ ! (d084-min.f90)
19
+ ! - other families: CCE 20.0.2 and 21.0.3 print s 3150.0 (both modes); NVHPC 25.11 and 26.9 print
20
+ ! s 3150.0 on this program and run the draft correctly (A100, separate and managed
21
+ ! memory); AFAR has no Fortran OpenACC
22
+ ! - legality: legal by reading
23
+ ! - evidence: results/fresh-drafts/tuo-p2.jsonl, tuo2-q2.jsonl, tuo3-r*-b.jsonl, tioga/tioga-b.jsonl,
24
+ ! wingtip/nv.jsonl, wingtip/nv4.jsonl (review)
25
+ module m
26
+ implicit none
27
+ contains
28
+ subroutine fill(nb, nl, s)
29
+ integer, intent(in) :: nb, nl
30
+ real(8), intent(out) :: s
31
+ real(8) :: w(nb, nl)
32
+ integer :: i, k
33
+ !$acc data copyout(w)
34
+ !$acc parallel loop collapse(2)
35
+ do k = 1, nl
36
+ do i = 1, nb
37
+ w(i, k) = i * k
38
+ end do
39
+ end do
40
+ !$acc end data
41
+ s = sum(w)
42
+ end subroutine fill
43
+ end module m
44
+
45
+ program main
46
+ use m
47
+ implicit none
48
+ real(8) :: s
49
+ call fill(20, 5, s)
50
+ print *, 's', s
51
+ end program main
52
+ ! site:
53
+ ! title: ftn 19 (OpenACC): a two-dimensional automatic array in copyout crashes the run in copy mode
54
+ ! control: ../vendor/checks/src/cce/control/cce19-acc-automatic-array-copyout-copy-crash-control.f90 w a fixed-size local array
55
+ ! + w(20, 5) instead of the automatic w(nb, nl)
56
+ ! end site