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,68 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: a barrier inside a combined target parallel construct never completes (the end of a single, of
2
+ ! # a worksharing loop, an explicit barrier); the same region as target containing parallel ends
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: timeout
7
+ ! - observed: `RUN_TIMEOUT`: the program does not end and is killed at the harness limit (60 s) in every run
8
+ ! (OMP_TARGET_OFFLOAD=mandatory); identical signature on 4 of 4 failing cells
9
+ ! - expected: compiles and prints `h= 0` with `check=pass`
10
+ ! - rule: "An implicit barrier occurs at the end of a single region if the nowait clause is not specified." (5.2 §11.1 p.241 l.5-6),
11
+ ! and "The semantics of the combined constructs are identical to that of explicitly specifying the first construct containing one
12
+ ! instance of the second construct and no other statements." (5.2 §17.4 p.343 l.7-8): the program is a target region holding one
13
+ ! parallel region whose single ends in a barrier that every thread of the team reaches
14
+ ! - vendor: "The barrier construct is supported." and "Implicit barriers are implemented." (NVIDIA HPC Compilers User's Guide 26.9,
15
+ ! Using OpenMP, items 2.17.2 and 2.17.3), single is listed with its private, firstprivate and nowait clauses (item 2.8.2), and
16
+ ! "Combined constructs are supported to the extent that the component constructs are themselves supported." (item 2.13;
17
+ ! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
18
+ ! - same-compiler control: controls/nvhpc-target-parallel-split-control.f90 (one change from this file; correct on nvhpc (NVHPC
19
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.bar.jsonl, results/parity/nvc1/wt.bar.jsonl);
20
+ ! controls/nvhpc-target-parallel-single-nowait-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
21
+ ! (NVHPC 26.9); rows results/parity/nvc1/tuo.bar.jsonl, results/parity/nvc1/wt.bar.jsonl)
22
+ ! - other families: afar (AFAR 24.3.0) run the file correctly (rows results/parity/nvc1/tuo.bar.jsonl); cce19 (CCE 19.0.0), cce20
23
+ ! (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) fail it another way, e.g. `Creating internal compiler error backtrace
24
+ ! (please wait):`
25
+ ! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.bar.jsonl (both releases,
26
+ ! separate and managed memory) and results/parity/nvc1/tuo.bar.jsonl: an explicit barrier
27
+ ! (nvhpc-target-parallel-barrier-variant.f90) and the implicit barrier at the end of a worksharing loop
28
+ ! (nvhpc-target-parallel-do-variant.f90) in the same combined construct time out too
29
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
30
+ ! results/parity/nvc1/gate_abd.bar.jsonl, results/parity/nvc1/gate_abd.bar.m2.jsonl, results/parity/nvc1/gate_c.bar.jsonl,
31
+ ! results/parity/nvc1/gate_c.bar.m2.jsonl, results/parity/nvc1/wt.bar.jsonl); campaign gate of the programs below: 20 cells, 2
32
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
33
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
34
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl); the campaign gate's
37
+ ! verdict is confirmed for all 20 cells; the other 18 were rerun in (b) and (c) only (timeouts are not rerun in every environment)
38
+ ! - programs (10): par-c1-nvhpc-nvhpc269:991, par-c1-nvhpc-nvhpc269:1182, par-c1-nvhpc-nvhpc269:1443, par-c1-nvhpc-nvhpc269:1678,
39
+ ! par-c1-nvhpc-nvhpc269:1731, par-c1-nvhpc-nvhpc269:1762, par-c1-nvhpc-nvhpc269:1794, par-c1-nvhpc-nvhpc269:1805,
40
+ ! par-c1-nvhpc-nvhpc269:2030, par-c1-nvhpc-nvhpc269:2228
41
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
42
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvc1/prerun.bar.txt); AFAR 24.3.0 runs all of them
43
+ ! correctly
44
+ ! with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.bar.jsonl). CCE 19/20/21/21.0.4 stop with an internal compiler error on single
45
+ ! and barrier in a target region, their own documented failure (cce19-target-parallel-single-ice.f90), and run the
46
+ ! worksharing-loop variant correctly. NVHPC is the compiler under test and is not counted as a witness
47
+ program p
48
+ use omp_lib, only: omp_is_initial_device
49
+ implicit none
50
+ integer :: h
51
+ h = -1
52
+ !$omp target parallel map(tofrom: h)
53
+ !$omp single
54
+ h = merge(1, 0, omp_is_initial_device())
55
+ !$omp end single
56
+ !$omp end target parallel
57
+ print '(a,i0)', 'h= ', h
58
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', h == 0)
59
+ end program p
60
+
61
+ ! site:
62
+ ! title: barrier in combined target parallel: hang
63
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a barrier inside a combined target parallel construct (the end of a
64
+ ! + single or of a worksharing loop, or an explicit barrier): the program never finishes. The same region written as target
65
+ ! + containing parallel, or the single with nowait, finishes with the right result.
66
+ ! control: fuzz/controls/nvhpc-target-parallel-split-control.f90 one change from the finding; correct on nvhpc, nvhpc269
67
+ ! control: fuzz/controls/nvhpc-target-parallel-single-nowait-control.f90 one change from the finding; correct on nvhpc, nvhpc269
68
+ ! end site
@@ -0,0 +1,73 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: a collapse clause on a combined target simd construct fails to translate ("Missing branch
2
+ ! # target block"); target containing simd collapse, or target simd without collapse, compiles and runs correctly
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: ice
7
+ ! - observed: `NVFORTRAN-W-0155-Compiler failed to translate accelerator region (see -Minfo messages): Missing branch target
8
+ ! block (<tmpdir>/nvhpc-target-simd-collapse-translate-failure.f90: 10)` followed by `NVFORTRAN-F-0704-Compilation aborted due
9
+ ! to previous errors.` (the rows' stderr; the harness's reason reads the F-0704 line); identical signature on 4 of 4 failing
10
+ ! cells
11
+ ! - expected: compiles and prints `o1= -11.00` with `check=pass`
12
+ ! - rule: "The collapse clause associates one or more loops with the directive on which it appears for the purpose of
13
+ ! identifying the portion of the depth of the canonical loop nest to which to apply the semantics of the directive." (5.2
14
+ ! §4.4.3 p.93 l.23-25), whose directives are "distribute, do, for, loop, simd, taskloop" (5.2 §4.4.3 p.93 l.21), and "If
15
+ ! directive-name-A is target then directive-name-B may be simd" (5.2 §17.3 p.342 l.22): collapse(2) on target simd applies the
16
+ ! simd semantics to the two-loop nest
17
+ ! - vendor: "the simd construct is ignored for GPU targets" (item 2.9.3) and "Combined constructs are supported to the extent
18
+ ! that the component constructs are themselves supported." (item 2.13); the collapse clause is listed as supported on the
19
+ ! worksharing-loop, distribute and loop constructs (items 2.9.2, 2.9.4, 2.9.5) (NVIDIA HPC Compilers User's Guide 26.9, Using
20
+ ! OpenMP; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
21
+ ! - same-compiler control: controls/nvhpc-target-simd-no-collapse-control.f90 (one change from this file; correct on nvhpc (NVHPC
22
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.bt.jsonl, results/parity/nvs1/wt.bt.jsonl);
23
+ ! controls/nvhpc-target-simd-collapse-split-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
24
+ ! (NVHPC 26.9); rows results/parity/nvs1/tuo.bt.jsonl, results/parity/nvs1/wt.bt.jsonl)
25
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
26
+ ! file correctly (rows results/parity/nvs1/tuo.bt.jsonl)
27
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.bt.jsonl (both releases,
28
+ ! separate and managed memory) and results/parity/nvs1/tuo.bt.jsonl: the same loop nest as target teams distribute simd
29
+ ! collapse(2) (nvhpc-target-teams-distribute-simd-collapse-variant.f90) and as target parallel do simd collapse(2)
30
+ ! (nvhpc-target-parallel-do-simd-collapse-variant.f90) compiles and is correct; target simd collapse(2) with a reduction
31
+ ! (nvhpc-target-simd-collapse-reduction-variant.f90, the seed's shape) fails the same way. The seed's loop direction, complex
32
+ ! output and reduction are irrelevant (exploration). The same message appears on n0x0/n1x0 seeds 847, 722 and 163
33
+ ! (data/reports/fuzz-n0x0.md), not re-checked
34
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
35
+ ! results/parity/nvs1/gate_abd.bt.jsonl, results/parity/nvs1/gate_abd.bt.m2.jsonl, results/parity/nvs1/gate_c.bt.jsonl,
36
+ ! results/parity/nvs1/gate_c.bt.m2.jsonl, results/parity/nvs1/wt.bt.jsonl); campaign gate of the programs below: 2 cells, 2
37
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
38
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
39
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
40
+ ! - programs (1): par-s1-nvhpc-nvhpc269:9796
41
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
42
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.bt.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
43
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.bt.jsonl). NVHPC is the compiler under
44
+ ! test and is not counted as a witness
45
+ program p
46
+ implicit none
47
+ integer, parameter :: n = 16, m = 4
48
+ integer :: ia(n), i, j
49
+ real(4) :: o1(n, m)
50
+ do i = 1, n
51
+ ia(i) = mod(i * 22 + 1, 97) - 35
52
+ end do
53
+ o1 = 0.0
54
+ !$omp target simd map(from: o1) map(to: ia) collapse(2)
55
+ do i = 1, n
56
+ do j = 1, m
57
+ o1(i, j) = real(ia(i) + j, 4)
58
+ end do
59
+ end do
60
+ !$omp end target simd
61
+ print '(a,f0.2)', 'o1= ', o1(1, 1)
62
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', nint(o1(1, 1)) == ia(1) + 1)
63
+ end program p
64
+
65
+ ! site:
66
+ ! title: collapse on target simd: translation failure
67
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a combined target simd construct with a collapse clause: the
68
+ ! + compile stops with "Compiler failed to translate accelerator region: Missing branch target block". The same loop nest as
69
+ ! + target containing simd collapse(2), as target simd without collapse, or as target teams distribute simd collapse(2),
70
+ ! + compiles and runs correctly.
71
+ ! control: fuzz/controls/nvhpc-target-simd-no-collapse-control.f90 one change from the finding; correct on nvhpc, nvhpc269
72
+ ! control: fuzz/controls/nvhpc-target-simd-collapse-split-control.f90 one change from the finding; correct on nvhpc, nvhpc269
73
+ ! end site
@@ -0,0 +1,68 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: a combined target simd construct written without its optional end directive is rejected
2
+ ! # ("Illegal control structure - unterminated TARGET"); with the end directive, or as target containing simd, it compiles and
3
+ ! # runs correctly
4
+ !
5
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
6
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ ! - failure: rejected
8
+ ! - observed: `NVFORTRAN-S-0104-Illegal control structure - unterminated TARGET
9
+ ! (<tmpdir>/nvhpc-target-simd-no-end-directive-rejected.f90: 6)`; identical signature on 4 of 4 failing cells
10
+ ! - expected: compiles and prints `suma= 152` with `check=pass`
11
+ ! - rule: "For a loop-associated directive, the paired end directive is optional." (5.2 §3.1 p.52 l.26) and "If directive-name-A
12
+ ! is target then directive-name-B may be simd" (5.2 §17.3 p.342 l.22): the combined target simd construct is loop-associated
13
+ ! through its simd leaf, so `!$omp end target simd` may be left out
14
+ ! - vendor: "the simd construct is ignored for GPU targets" (item 2.9.3) and "Combined constructs are supported to the extent
15
+ ! that the component constructs are themselves supported." (item 2.13) (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP;
16
+ ! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
17
+ ! - same-compiler control: controls/nvhpc-target-simd-end-directive-control.f90 (one change from this file; correct on nvhpc (NVHPC
18
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ts.jsonl, results/parity/nvs1/wt.ts.jsonl);
19
+ ! controls/nvhpc-target-simd-split-no-end-directive-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11),
20
+ ! nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ts.jsonl, results/parity/nvs1/wt.ts.jsonl)
21
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
22
+ ! file correctly (rows results/parity/nvs1/tuo.ts.jsonl)
23
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.ts.jsonl (both releases,
24
+ ! separate and managed memory) and results/parity/nvs1/tuo.ts.jsonl: target parallel do
25
+ ! (nvhpc-target-parallel-do-no-end-directive-variant.f90) and target teams distribute
26
+ ! (nvhpc-target-teams-distribute-no-end-directive-variant.f90) without their end directives compile and are correct; with the
27
+ ! seed's simdlen(16) (nvhpc-target-simd-simdlen-no-end-directive-variant.f90) the compile stops first at "SIMDLEN, not yet
28
+ ! implemented". The s1 programs 888 and 3804 hold a target simd without its end directive, and in the campaign and its gate
29
+ ! the two bundles hung in every environment on both releases (20 of 20 compiles, class compile_timeout, this rejection in the
30
+ ! cells' stderr), so their cells carry another signature and are not counted here; one exploration compile of the 888 bundle
31
+ ! outside the harness ended with the rejection in under 150 s, and the bundle with `!$omp end target simd` added compiles. Two
32
+ ! other s1 bundles with this rejection do not hang: 8411 (counted below) and 3452, whose first diagnostic is SIMDLEN not
33
+ ! implemented (not counted). The compile hang is an unreduced lead
34
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
35
+ ! results/parity/nvs1/gate_abd.ts.jsonl, results/parity/nvs1/gate_abd.ts.m2.jsonl, results/parity/nvs1/gate_c.ts.jsonl,
36
+ ! results/parity/nvs1/gate_c.ts.m2.jsonl, results/parity/nvs1/wt.ts.jsonl); campaign gate of the programs below: 2 cells, 2
37
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
38
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
39
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl)
40
+ ! - programs (1): par-s1-nvhpc-nvhpc269:8411 (a target simd with device, reduction and map(always) clauses and no end directive;
41
+ ! both releases reject it with this message as the first diagnostic)
42
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
43
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.ts.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
44
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.ts.jsonl). NVHPC is the compiler under
45
+ ! test and is not counted as a witness
46
+ program p
47
+ implicit none
48
+ integer :: a(16), b(16), i, t
49
+ b = 1
50
+ a = 0
51
+ !$omp target simd map(tofrom: a) map(to: b) private(t)
52
+ do i = 1, 16
53
+ t = b(i)
54
+ a(i) = t + i
55
+ end do
56
+ print '(a,i0)', 'suma= ', sum(a)
57
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 152)
58
+ end program p
59
+
60
+ ! site:
61
+ ! title: target simd without end directive: rejected
62
+ ! summary: nvfortran -mp=gpu appears not to support a combined target simd construct written without its optional end directive:
63
+ ! + the compile stops with "Illegal control structure - unterminated TARGET". With `!$omp end target simd`, as target containing
64
+ ! + simd, or as target parallel do and target teams distribute without their end directives, it compiles and runs correctly.
65
+ ! control: fuzz/controls/nvhpc-target-simd-end-directive-control.f90 one change from the finding; correct on nvhpc, nvhpc269
66
+ ! control: fuzz/controls/nvhpc-target-simd-split-no-end-directive-control.f90 one change from the finding; correct on nvhpc,
67
+ ! + nvhpc269
68
+ ! end site
@@ -0,0 +1,71 @@
1
+ ! Minimized by compliance.fuzz_min from fuzz seed 2082 (fuzz-3), then reduced by hand (coverage parity review, 2026-10-29).
2
+ ! toolchain: gcc_g90 (-O2, HSA_XNACK=0, OMP_TARGET_OFFLOAD=mandatory)
3
+ ! failure: ice (ice: internal compiler error: in simplify_subreg, at simplify-rtx.cc:8291)
4
+ ! expected: compiles; prints `bad= 0` and `RESULT ran_on_host=0 check=pass`
5
+ ! observed: `internal compiler error: in simplify_subreg, at simplify-rtx.cc:8291` from the amdgcn offload compiler
6
+ ! (accel/amdgcn-amdhsa/lto1, -march=gfx90a; in the RTL combine pass), located at the target directive (`!$omp target map(tofrom:
7
+ ! host_flag)`, column 37); mkoffload and the link fail. Site matrix: the same on tioga39 in environments (a), (b), (d), and in (c)
8
+ ! on another node. The nvptx build (gcc_sm80) compiles and runs this file correctly (mandatory pass 5 of 5; unset pass 5 of 5), as
9
+ ! do AFAR, CCE 19/20/21/21.0.4 and NVHPC 25.11/26.9 in every site-matrix environment. Evidence:
10
+ ! results/parity/tioga/gcc_g90/probes.jsonl, results/parity/wingtip/gcc_sm80/probes.jsonl, the site's finding matrix
11
+ ! (data/vendor/checks/results-site), and the one-change probes under results/parity/probes-r2 (cptr_r4.f90: this program with one
12
+ ! more, unused, integer variable).
13
+ ! control (compiles; correct on gcc_g90, mandatory pass 5 of 5, unset pass 5 of 5): the same program with `o1` a complex array
14
+ ! instead of a pointer to one (controls/gcc-complex-pointer-store-control.f90). Other one-change probes on gcc_g90: a real
15
+ ! pointer array compiles and runs correctly; so does storing the loop index `i` instead of `ic(i, 2)`; storing
16
+ ! `mod(mod(ic(i, 2), 13), 1009)` (the fuzz program's expression), `cmplx(...)` or `real(ic(i, 2))`, with the loop ascending or
17
+ ! descending, fails to compile too.
18
+ ! Legal OpenMP 5.2: the two witnesses that are neither GCC nor a compiler of this finding, offload.engine.rules and AFAR
19
+ ! flang's front
20
+ ! end, accept this program and the control (offload.engine.prerun.check on results/parity/probes-r2/cptr_r4.f90 and
21
+ ! cptr_ctl_array.f90, the same code with one more unused variable and no comments;
22
+ ! results/parity/tioga/results/parity/legality.jsonl), and the minimized fuzz program before them; the fuzz program passed the
23
+ ! campaign's legality gate (the same two witnesses). GCC is a compiler under test only and never a legality witness.
24
+ program cptr_store
25
+ use omp_lib, only: omp_is_initial_device
26
+ implicit none
27
+ integer, parameter :: n = 24
28
+ integer :: ic(n, 2), i, host_flag, bad
29
+ complex, pointer :: o1(:)
30
+ complex, target :: o1t(n)
31
+ o1 => o1t
32
+ do i = 1, n
33
+ ic(i, 1) = 0
34
+ ic(i, 2) = mod((i + 14) * 24 + 22, 101) - 1
35
+ end do
36
+ o1t = 0
37
+ host_flag = 1
38
+ !$omp target map(tofrom: host_flag)
39
+ host_flag = merge(1, 0, omp_is_initial_device())
40
+ do i = n, 1, -1
41
+ ! an integer array element stored into a complex pointer array
42
+ o1(i) = ic(i, 2)
43
+ end do
44
+ !$omp end target
45
+ bad = 0
46
+ do i = 1, n
47
+ if (o1t(i) /= cmplx(ic(i, 2), 0.0)) bad = bad + 1
48
+ end do
49
+ print '(a,i0)', 'bad= ', bad
50
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', bad == 0)
51
+ end program cptr_store
52
+ ! site:
53
+ ! title: A complex pointer array written in a target region: internal compiler error in the amdgcn offload compiler
54
+ ! summary: GCC 16.2's amdgcn offload compiler (gfx90a) stops with an internal compiler error in its RTL combine pass on a
55
+ ! + target region that stores an integer array element into a complex pointer array. The same program with a complex array
56
+ ! + instead of the pointer compiles and runs correctly, and the A100 build of GCC compiles and runs this file. Reduced from a
57
+ ! + fuzz program.
58
+ ! control: fuzz/controls/gcc-complex-pointer-store-control.f90 o1 a complex array instead of a pointer
59
+ ! end site
60
+ ! spec (requirement): a pointer array that a target region references and no clause names is not a scalar, so it is mapped
61
+ ! tofrom, and an associated pointer in a map clause maps its pointer target too, so storing through the pointer in the region is
62
+ ! legal. The specification does not describe internal compiler errors, so no text covers the failure itself.
63
+ ! "If a variable is not a scalar then it is treated as if it had appeared in a map clause with a map-type of tofrom." (5.2
64
+ ! §5.8.1 p.149 l.4-5)
65
+ ! "If a list item in a map clause is an associated pointer and the pointer is not the base pointer of another list item in a map
66
+ ! clause on the same construct, then it is treated as if its pointer target is implicitly mapped in the same clause. For the
67
+ ! purposes of the map clause, the mapped pointer target is treated as if its base pointer is the associated pointer." (5.2
68
+ ! §5.8.3 p.152 l.1-4)
69
+ ! spec (this program): the target region stores the integer elements ic(i, 2) into the complex pointer array o1 (pointer to
70
+ ! o1t); GCC 16.2's amdgcn offload compiler (gfx90a) stops with an internal compiler error in the RTL combine pass instead of
71
+ ! compiling the store, while a complex array in place of the pointer compiles.
@@ -0,0 +1,67 @@
1
+ ! Finding: CCE 19, 20, 21 reject firstprivate(i) on a combined
2
+ ! parallel do nested in a teams distribute loop over i, under default(none)
3
+ ! (ftn-1510 "Variable "I" must have its data scope explicitly declared
4
+ ! because DEFAULT(NONE) was specified"; in other programs ftn-1310 "Object
5
+ ! "I" is specified on the FIRSTPRIVATE clause. It must have a shared scope
6
+ ! in the enclosing region").
7
+ !
8
+ ! Legal OpenMP 5.2: firstprivate on a combined construct applies to the
9
+ ! worksharing leaf, and "If the parallel construct is among the constituent
10
+ ! constructs and the effect is not as if the firstprivate clause is applied
11
+ ! to it by the above rules, then the effect is as if the shared clause with
12
+ ! the same list item is applied to the parallel construct" (5.2 §17.2
13
+ ! p.340), so i is shared in the parallel region (default(none) is
14
+ ! satisfied, 5.2 §5.4.1 p.109) and the restriction on worksharing
15
+ ! firstprivate items that are private in the binding parallel region (5.2
16
+ ! §5.4.4) does not apply; in the teams region i is the iteration variable of
17
+ ! the distribute loop, predetermined private ("The loop iteration variable
18
+ ! in any associated loop of a loop-associated construct is otherwise
19
+ ! private", 5.2 §5.1.1 p.97). (A gfortran -fopenmp accept is withdrawn as evidence, 2026-10-23.)
20
+ ! Expected: "RESULT check=pass" (a(i, j) = 10 * i + j).
21
+ !
22
+ ! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1, 2026-10-23,
23
+ ! results/t28_probe/dn_teams_loopvar*.json):
24
+ ! - CCE 19.0.0, 20.0.2, 21.0.3: ftn-1510 for I at the firstprivate(i) of
25
+ ! the parallel do; without firstprivate(i) (data/evidence/dataenv_probe/
26
+ ! dn_teams_loopvar_nofp.f90) all three compile and run correctly;
27
+ ! - AFAR amdflang 24.0.0git: "RESULT check=pass".
28
+ ! - Tioga MI250X (gfx90a, HSA_XNACK=0): the same; CCE 19/20/21 reject,
29
+ ! AFAR passes (results/t28_probe/g90/dn_teams_loopvar.cce21_g90.json).
30
+ ! Fuzz campaign s1: the ftn-1510 "I" and ftn-1310 "I" cells of CCE (rule
31
+ ! R11, decisions D2 and D5), verdict compiler_bug. Representatives: s1
32
+ ! seeds 2370 (cce21, copy) and 6443 (cce21); reproducer written by hand
33
+ ! (data/evidence/dataenv_probe/dn_teams_loopvar.f90).
34
+ !
35
+ ! ftn -fopenmp -O2
36
+ program p
37
+ implicit none
38
+ integer, parameter :: n = 8, m = 4
39
+ integer :: a(n, m), i, j
40
+ logical :: ok
41
+ a = 0
42
+ !$omp target map(tofrom: a)
43
+ !$omp teams distribute default(none) shared(a) private(j)
44
+ do i = 1, n
45
+ !$omp parallel do default(none) shared(a) firstprivate(i)
46
+ do j = 1, m
47
+ a(i, j) = 10 * i + j
48
+ end do
49
+ end do
50
+ !$omp end teams distribute
51
+ !$omp end target
52
+ ok = .true.
53
+ do i = 1, n
54
+ do j = 1, m
55
+ ok = ok .and. a(i, j) == 10 * i + j
56
+ end do
57
+ end do
58
+ if (ok) then
59
+ print '(a)', 'RESULT check=pass'
60
+ else
61
+ print '(a)', 'RESULT check=fail'
62
+ end if
63
+ end program p
64
+ ! site:
65
+ ! title: ftn: firstprivate(i) on a parallel do nested in a teams distribute loop over i rejected under default(none) (ftn-1510)
66
+ ! control: ../vendor/checks/src/other/control/s1-2370-cce21-control.f90 firstprivate(i) removed from the parallel do
67
+ ! end site
@@ -0,0 +1,56 @@
1
+ ! Finding: CCE 19, 20, 21 internal compiler error "Should never
2
+ ! reach this code (doehmke)" (v_mt_util_misc.c; line 2697 in 19.0.0, 2711
3
+ ! in 20.0.2, 2719 in 21.0.3) on a target region with in_reduction(*: r),
4
+ ! inside taskgroup task_reduction(*: r), that reads a substring of a
5
+ ! character dummy (ichar(xs(1:1))). With a constant instead of the
6
+ ! substring all three compile (data/evidence/dataenv_probe/ice/e2.f90).
7
+ !
8
+ ! Legal OpenMP 5.2: in_reduction on target (5.2 §5.5.10), task_reduction on
9
+ ! taskgroup (§5.5.9), a character dummy referenced in the region (mapped
10
+ ! implicitly). (A gfortran -fopenmp accept is no evidence: owner, 2026-10-23.) Expected: ichar('k') =
11
+ ! 107 and mod(107, 13) = 3, so every factor is 1 and r stays -1: "RESULT
12
+ ! check=pass".
13
+ !
14
+ ! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
15
+ ! results/t28_probe/ice_inred_char_substring.f90.*.json):
16
+ ! - CCE 19.0.0, 20.0.2, 21.0.3: the ICE above, both modes;
17
+ ! - AFAR amdflang 24.0.0git: "RESULT check=pass" in both modes;
18
+ ! - Tioga MI250X (gfx90a, HSA_XNACK=0): CCE 21 the same ICE
19
+ ! (results/t28_probe/g90/ice_inred_char_substring.cce21_g90.json).
20
+ ! Fuzz campaign s1: the "Should never reach this code (doehmke)" cells of
21
+ ! CCE 19/20/21. Representative s1 seed 2592 on cce21; the confirmer's
22
+ ! reduction (results/confirm/drafts/fuzz_s1_2592_cce21_gfx942_unified,
23
+ ! 189 -> 98 lines, ICE kept) reduced further by hand.
24
+ !
25
+ ! ftn -fopenmp -O2
26
+ program p
27
+ implicit none
28
+ integer, parameter :: n = 16
29
+ character(len=8) :: xs
30
+ integer :: r
31
+ xs = 'kPACnWLl'
32
+ r = -1
33
+ call kp1(xs)
34
+ if (r == -1) then
35
+ print '(a)', 'RESULT check=pass'
36
+ else
37
+ print '(a,i0)', 'RESULT check=fail r=', r
38
+ end if
39
+ contains
40
+ subroutine kp1(xs)
41
+ character(len=*), intent(in) :: xs
42
+ integer :: i
43
+ !$omp taskgroup task_reduction(*: r)
44
+ !$omp target defaultmap(tofrom: scalar) in_reduction(*: r)
45
+ do i = 1, n
46
+ r = r * merge(-1, 1, mod(ichar(xs(1:1)), 13) == 0)
47
+ end do
48
+ !$omp end target
49
+ !$omp end taskgroup
50
+ end subroutine kp1
51
+ end program p
52
+ ! site:
53
+ ! title: ftn: internal compiler error "Should never reach this code (doehmke)" for in_reduction on target reading a character
54
+ ! + substring
55
+ ! control: ../vendor/checks/src/other/control/s1-2592-cce21-control.f90 ichar('k') instead of ichar(xs(1:1))
56
+ ! end site
@@ -0,0 +1,92 @@
1
+ ! Finding: CCE 19, 20, 21 internal compiler error "Error getting
2
+ ! dope vector information" (v_dope_utl.c; line 931 in 19.0.0, 933 in
3
+ ! 20.0.2, 935 in 21.0.3) on a target construct in an internal subroutine
4
+ ! that maps components of a structure dummy (dr%a, dr%nd%k(1:n)) together
5
+ ! with host-associated variables (an allocatable array, scalars), in a
6
+ ! program with a default declare mapper for another type.
7
+ !
8
+ ! Legal OpenMP 5.2 (structure components and array sections of them are
9
+ ! map list items, 5.2 §5.8.3; host-associated variables in a map clause).
10
+ ! Legality: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the race rule
11
+ ! and the restriction checks, and the AFAR flang front end, not under test here); no compiler under
12
+ ! test, gfortran or gcc is a legality witness. AFAR compiles and runs the
13
+ ! unreduced program.
14
+ !
15
+ ! : hand reductions that drop the unused module, types
16
+ ! and dummies no longer show the ICE (it needs parts that look unused); the
17
+ ! vendor packet uses this generated program.
18
+ !
19
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev2.log):
20
+ ! the confirmer's reduction of s1 seed 3463 (results/confirm/drafts/
21
+ ! fuzz_s1_3463_cce21_gfx942_unified, 252 -> 161 lines, ICE site kept)
22
+ ! gives the ICE on CCE 19, 20 and 21; this file is that program reduced
23
+ ! further on CCE 21 by deleting lines while the ICE stays
24
+ ! (data/evidence/dataenv_probe/min_ice.py; 161 -> 106 lines). A hand-written form with
25
+ ! only the structure dummy's component maps compiles
26
+ ! (data/evidence/dataenv_probe/ice/d1.f90), so the trigger is not reduced further.
27
+ ! Fuzz campaign s1: the "Error getting dope vector information" cells of
28
+ ! CCE 19/20/21.
29
+ !
30
+ ! Fix: reduced further by clause and list-item
31
+ ! deletion as well as lines (data/evidence/dataenv_probe/min_ice.py, 106 -> 49 lines,
32
+ ! results/t28_probe/short/); the ICE stays on CCE 19, 20 and 21 at their
33
+ ! v_dope_utl.c sites and AFAR compiles it (results/t28_probe/icev_fr1.log).
34
+ ! The remaining program: an internal subroutine with a target construct
35
+ ! mapping dr%nd%k(1:n) of a structure dummy, next to an unused internal
36
+ ! subroutine with a character(len=*) dummy, an optional assumed-shape
37
+ ! dummy and complex dummies, and a module declare reduction; removing any
38
+ ! of these makes the ICE go away.
39
+ !
40
+ ! ftn -fopenmp -O2 (a bundle:
41
+ !@file fuzz_dmod.f90
42
+ module fuzz_dmod
43
+ implicit none
44
+ type :: mt_t
45
+ end type mt_t
46
+ type :: pair_t
47
+ integer :: x, y
48
+ end type pair_t
49
+ !$omp declare reduction(padd: pair_t: omp_out = pair_t(omp_out%x + omp_in%x, omp_out%y + omp_in%y)) &
50
+ !$omp& initializer(omp_priv = pair_t(0, 0))
51
+ contains
52
+ end module fuzz_dmod
53
+ !@file fuzz_prog.f90
54
+ program fuzz_prog
55
+ use omp_lib, only: omp_get_team_num, omp_get_thread_num, omp_is_initial_device
56
+ use fuzz_dmod
57
+ implicit none
58
+ integer, parameter :: n = 48, m = 8
59
+ type :: nd_t
60
+ integer :: k(n)
61
+ end type nd_t
62
+ type :: rec_t
63
+ type(nd_t) :: nd
64
+ end type rec_t
65
+ contains
66
+ subroutine kp2(ia, ib, ic, xs, xz4, xz8, dr, ms, zopt)
67
+ integer, intent(inout) :: ia(:)
68
+ integer, intent(in) :: ib(:)
69
+ integer, intent(in) :: ic(n, m)
70
+ character(len=*), intent(in) :: xs
71
+ complex, intent(in) :: xz4(n)
72
+ complex(kind=8), intent(in) :: xz8(n)
73
+ type(rec_t), intent(inout) :: dr
74
+ type(mt_t), intent(inout) :: ms
75
+ integer, intent(in), optional :: zopt(:)
76
+ end subroutine kp2
77
+ subroutine kp3(ia, ib, o3, xc, dr)
78
+ integer, intent(inout) :: ia(n)
79
+ integer, intent(in) :: ib(n)
80
+ integer, intent(inout) :: o3(n)
81
+ character(len=4), intent(inout) :: xc(n)
82
+ type(rec_t), intent(inout) :: dr
83
+ !$omp target map(dr%nd%k(1:n))
84
+ if (omp_get_team_num() == 0) then
85
+ end if
86
+ !$omp end target
87
+ end subroutine kp3
88
+ end program fuzz_prog
89
+ ! site:
90
+ ! title: ftn: internal compiler error "Error getting dope vector information" mapping a component section of a structure dummy
91
+ ! control: ../vendor/checks/src/other/control/s1-3463-cce21-control.f90 the map clause dropped from the target construct
92
+ ! end site
@@ -0,0 +1,79 @@
1
+ ! Finding: AFAR at HSA_XNACK=1 aborts (SIGABRT; in
2
+ ! the campaign "OFFLOAD ERROR: memory access fault by GPU ... Write access
3
+ ! to a read-only page") on a target construct with map(close, tofrom: ia)
4
+ ! for an allocatable dummy ia that the region does not even reference,
5
+ ! while the region reads another assumed-shape dummy (dsi, implicitly
6
+ ! mapped tofrom). AFAR at HSA_XNACK=0 and CCE 19/20/21 in both modes print
7
+ ! "RESULT check=pass".
8
+ !
9
+ ! Legal OpenMP 5.2: close is a map-type modifier that is a hint ("The close
10
+ ! map-type-modifier is a hint to the runtime to allocate memory close to
11
+ ! the target device", 5.2 §5.8.3 p.155 l.12); an
12
+ ! assumed-shape dummy referenced in the region is mapped tofrom implicitly
13
+ ! (5.2 §5.8.1).
14
+ !
15
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/close/
16
+ ! c4339_*.f90.*.json): this program (c4339_c) aborts on AFAR at
17
+ ! HSA_XNACK=1 on every run and passes at HSA_XNACK=0; without close
18
+ ! (c4339_b) it passes; with an explicit-shape ia (c4339_d) it passes; with
19
+ ! the region reading ia instead of the other dummy (c4339_e) it passes; the
20
+ ! derived-type dummy of the reduction (c4339_a) aborts the same way. The
21
+ ! close + present abort of fuzz/158-afar.f90 is another symptom of AFAR's
22
+ ! close handling at HSA_XNACK=1 (no present modifier here).
23
+ ! From s1 seed 4339 (the smallest program of the s1 group "AFAR memory
24
+ ! access fault", 59 compiler_bug cells): tools/campaigns/fuzz.py minimize-one,
25
+ ! 141 -> 91 lines (data/evidence/dataenv_probe/rt/4339-afar.f90), then by hand.
26
+ ! Expected: "RESULT check=pass".
27
+ !
28
+ ! amdflang -fopenmp --offload-arch=gfx942 -O2 (afar recipe, offload/engine/toolchains.py)
29
+ module mm
30
+ implicit none
31
+ integer, parameter :: n = 128
32
+ type :: el_t
33
+ integer :: u
34
+ end type el_t
35
+ contains
36
+ subroutine kp1(ia, o1, dsi)
37
+ integer, allocatable, intent(inout) :: ia(:)
38
+ integer, intent(inout) :: o1(:)
39
+ integer, intent(in) :: dsi(:)
40
+ integer :: i
41
+ !$omp target map(close, tofrom: ia) map(tofrom: o1)
42
+ do i = 1, n
43
+ o1(i) = dsi(i)
44
+ end do
45
+ !$omp end target
46
+ end subroutine kp1
47
+ end module mm
48
+ program p
49
+ use mm
50
+ implicit none
51
+ type(el_t) :: ds(n)
52
+ integer :: dsi(n)
53
+ integer, allocatable :: ia(:)
54
+ integer, pointer :: o1(:)
55
+ integer :: i
56
+ logical :: ok
57
+ allocate(ia(n))
58
+ ia = 1
59
+ allocate(o1(n))
60
+ do i = 1, n
61
+ dsi(i) = mod(i * 26 + 31, 97) - 21
62
+ end do
63
+ o1 = 0
64
+ call kp1(ia, o1, dsi)
65
+ ok = .true.
66
+ do i = 1, n
67
+ ok = ok .and. o1(i) == mod(i * 26 + 31, 97) - 21
68
+ end do
69
+ if (ok) then
70
+ print '(a)', 'RESULT check=pass'
71
+ else
72
+ print '(a)', 'RESULT check=fail'
73
+ end if
74
+ end program p
75
+ ! site:
76
+ ! title: AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)
77
+ ! control: ../vendor/checks/src/other/control/s1-4339-afar-control.f90 map(tofrom: ia) without the close modifier
78
+ ! same_as: fuzz/s1-9443-afar
79
+ ! end site