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,91 @@
1
+ ! scope: host+device: multi-threaded offload (host threads each offload their part of an array)
2
+ ! Host+device pattern (minimized and re-verified): two
3
+ ! host threads (parallel do, num_threads(2)) each offload one half of an
4
+ ! allocatable array b with map(to: a(lo:hi)) map(from: b(lo:hi)).
5
+ !
6
+ ! Conformance (OpenMP 5.2). The target region references b (and a), so b
7
+ ! also has an implicit data-mapping attribute (5.2 §5.8.1, p.148:
8
+ ! "References to structure elements or array elements are treated as
9
+ ! references to the structure or array, respectively, for the purposes of
10
+ ! determining implicit data-mapping or data-sharing attributes"). When the
11
+ ! other thread's half is not yet on the device, 5.2 §5.8.3 p.154: "If a
12
+ ! list item with an implicit data-mapping attribute does not have any
13
+ ! corresponding storage in the device data environment prior to a task
14
+ ! encountering the construct associated with the map clause, and one or
15
+ ! more contiguous parts of the original storage are either list items or
16
+ ! base pointers to list items that are explicitly mapped on the
17
+ ! construct, only those parts of the original storage will have
18
+ ! corresponding storage in the device data environment as a result of the
19
+ ! map clauses on the construct." When it is, p.154: "If a single
20
+ ! contiguous part of the original storage of a list item with an implicit
21
+ ! data-mapping attribute has corresponding storage in the device data
22
+ ! environment prior to a task encountering the construct on which the map
23
+ ! clause appears, only that part of the original storage will have
24
+ ! corresponding storage in the device data environment as a result of the
25
+ ! map clause." Each explicit half is a distinct mappable storage block
26
+ ! (p.152: "The storage for each other map clause list item becomes a
27
+ ! distinct mappable storage block") that no earlier construct created, so
28
+ ! no restriction of p.156 applies ("If any part of the original storage
29
+ ! of a list item with an explicit data-mapping attribute has corresponding
30
+ ! storage ... all of the original storage must have corresponding
31
+ ! storage": no part of the other half is mapped). Every interleaving is
32
+ ! defined and every half comes back. Expected: bad= 0.
33
+ !
34
+ ! With three or more threads (the program: four quarters) the
35
+ ! program is NOT conforming: when a construct is encountered while the
36
+ ! sections of two other threads are present, p.156: "If an array appears
37
+ ! as a list item in a map clause, multiple parts of the array have
38
+ ! corresponding storage in the device data environment prior to a task
39
+ ! encountering the construct associated with the map clause, and the
40
+ ! corresponding storage for those parts was created by maps from more
41
+ ! than one earlier construct, the behavior is unspecified." (5.1 §2.21.7.1
42
+ ! p.354 has the same sentence; 6.0 §7.9.6 p.287 makes it a restriction:
43
+ ! "If a list item in a map clause has corresponding storage in the device
44
+ ! data environment, all corresponding storage must correspond to a single
45
+ ! mappable storage block that was previously mapped", which this
46
+ ! two-thread program also violates under 6.0 when the constructs overlap.)
47
+ ! The catalog's multi-threaded programs now map the arrays whole once.
48
+ !
49
+ ! Observed (tuolumne, MI300A, 2026-10-21, 5 runs each, -O2,
50
+ ! OMP_TARGET_OFFLOAD=mandatory): AFAR 24.0.0git bad= 32 at HSA_XNACK=0
51
+ ! (correct at 1, zero-copy); CCE 19.0.0, 20.0.2, 21.0.3 bad= 32 at both.
52
+ ! Correct on every toolchain with num_threads(1) and with fixed-size
53
+ ! arrays (integer :: a(n), b(n)). With target nowait: AFAR bad= 32 at
54
+ ! HSA_XNACK=0; CCE 19 intermittently bad= 32 or aborts (hipFree returned
55
+ ! hipErrorInvalidValue), CCE 21 aborts at HSA_XNACK=1 (Present_table::
56
+ ! release failed).
57
+ ! AFAR: amdflang -fopenmp --offload-arch=gfx942 -O2
58
+ ! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm)
59
+ ! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
60
+ program p
61
+ implicit none
62
+ integer, parameter :: n = 64
63
+ integer, allocatable :: a(:), b(:)
64
+ integer :: i, c, lo, hi, bad
65
+ allocate(a(n), b(n))
66
+ do i = 1, n
67
+ a(i) = i
68
+ b(i) = 0
69
+ end do
70
+ !$omp parallel do num_threads(2) private(lo, hi)
71
+ do c = 1, 2
72
+ lo = (c - 1)*32 + 1
73
+ hi = c*32
74
+ !$omp target map(to: a(lo:hi)) map(from: b(lo:hi))
75
+ do i = lo, hi
76
+ b(i) = 2*a(i) + 1
77
+ end do
78
+ !$omp end target
79
+ end do
80
+ !$omp end parallel do
81
+ bad = 0
82
+ do i = 1, n
83
+ if (b(i) /= 2*i + 1) bad = bad + 1
84
+ end do
85
+ print *, 'bad=', bad
86
+ end program p
87
+ ! site:
88
+ ! title: ftn: two host threads mapping disjoint halves of an allocatable array lose one half
89
+ ! control: ../vendor/checks/src/other/control/multithread-allocatable-section-maps-control.f90 num_threads(1) instead of
90
+ ! + num_threads(2)
91
+ ! end site
@@ -0,0 +1,69 @@
1
+ // # Finding (nested-data): AFAR and CCE (clang front end) reject a member access through a call result inside a target region:
2
+ // # "expected addressable lvalue in 'map' clause"
3
+ //
4
+ // - toolchains and modes that fail: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE
5
+ // 21.0.4); modes: unified, copy; -O2
6
+ // - build: amdclang -fopenmp --offload-arch=gfx942 -O2 (afar); craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
7
+ // -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -O2 (cce19, cce20, cce21, cce21_4)
8
+ // - failure: rejected
9
+ // - observed: `site-nested--afar-cce-c-call-result-member-in-target-rejected.c:48:50: error: expected addressable lvalue in 'map'
10
+ // clause`; identical signature on 10 of 10 failing cells
11
+ // - expected: compiles and prints `tot= 10` with `check=pass`
12
+ // - rule: only variables referenced in a target construct get an implicit data-mapping attribute: "the first matching
13
+ // rule from the following list determines the implicit data-mapping (or data-sharing) attribute for variables
14
+ // referenced in a target construct" (5.2 §5.8.1 p.148 l.3-5); the member `child(r)->a` is a structure element reached
15
+ // through a function result, not a variable, and r->nx->a[0:4] is mapped explicitly
16
+ // - same-compiler control: controls/p2-ctl-pointer-variable.c (one change from this file; correct on afar (AFAR 24.3.0), cce19 (CCE
17
+ // 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows results/nested/red/red7.jsonl,
18
+ // results/nested/red/tuo1.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl); controls/p3-ctl-direct-member.c
19
+ // (one change from this file; correct on afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4
20
+ // (CCE 21.0.4); rows results/nested/red/red7.jsonl, results/nested/red/tuo1.jsonl, results/nested/red/wgs.jsonl,
21
+ // results/nested/red/wnv.jsonl)
22
+ // - other families: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9), gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run the file correctly
23
+ // (rows results/nested/red/red7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl, site rows, check case
24
+ // site-nested--afar-cce-c-call-result-member-in-target-rejected)
25
+ // - gate and confirmer: campaign gate of the programs below: 10 cells, 10 confirmed in the four environments (a-d; (c) on another
26
+ // node or GPU; rows results/nested/big/gate_reruns.part.tuolumne1012.1040717.jsonl,
27
+ // results/nested/big/gate_reruns.part.tuolumne1030.1284552.jsonl, results/nested/big/gate_reruns.part.tuolumne1176.1251749.jsonl,
28
+ // results/nested/big/gate_reruns.part.tuolumne1245.1517583.jsonl, results/nested/big/gate_reruns.part.tuolumne1246.1434668.jsonl,
29
+ // results/nested/big/rows.part.tuolumne1010.1956389.jsonl, results/nested/big/rows.part.tuolumne1040.1523848.jsonl,
30
+ // results/nested/big/rows.part.tuolumne1604.1239313.jsonl, results/nested/big/rows.part.tuolumne1624.1197409.jsonl,
31
+ // results/nested/big/rows.part.tuolumne1797.1146311.jsonl, results/nested/main/gate_reruns.part.tuolumne1095.961942.jsonl,
32
+ // results/nested/main/gate_reruns.part.tuolumne1789.919396.jsonl,
33
+ // results/nested/main/gate_reruns.part.tuolumne1955.3910568.jsonl,
34
+ // results/nested/main/gate_reruns.part.tuolumne1955.4072524.jsonl, results/nested/main/rows.part.tuolumne1955.994167.jsonl)
35
+ // - programs (1): nd-fnres-c-child-pointer
36
+ // - legality: the rules (offload.engine.rules) accept it; GCC compiles and runs it; the clang front ends of AFAR and CCE are
37
+ // the two compilers that reject it (they share a lineage, so neither witnesses the other)
38
+ #include <stdio.h>
39
+ #include <stdlib.h>
40
+ #include <omp.h>
41
+ struct n { int *a; struct n *nx; };
42
+ #pragma omp declare target
43
+ static struct n *child(struct n *r) { return r->nx; }
44
+ #pragma omp end declare target
45
+ int main(void)
46
+ {
47
+ int hf = 1, i, tot = 0, ok;
48
+ struct n *r = calloc(1, sizeof *r);
49
+ r->nx = calloc(1, sizeof *r->nx);
50
+ r->nx->a = malloc(4 * sizeof(int));
51
+ for (i = 0; i < 4; i++) r->nx->a[i] = i + 1;
52
+ #pragma omp target map(from: hf)
53
+ hf = omp_is_initial_device() ? 1 : 0;
54
+ #pragma omp target map(tofrom: tot) map(to: r[0:1]) map(to: r->nx[0:1]) map(to: r->nx->a[0:4])
55
+ {
56
+ for (int q = 0; q < 4; q++) tot += child(r)->a[q];
57
+ }
58
+ ok = tot == 10;
59
+ printf("tot= %d\n", tot);
60
+ printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
61
+ return 0;
62
+ }
63
+
64
+ // site:
65
+ // title: AFAR and CCE: member of a function result in a target region rejected
66
+ // summary: AFAR and CCE reject a member access through a function call result inside a target region.
67
+ // control: nested/controls/p2-ctl-pointer-variable.c one change from the finding; correct on afar, cce19, cce20, cce21, cce21_4
68
+ // control: nested/controls/p3-ctl-direct-member.c one change from the finding; correct on afar, cce19, cce20, cce21, cce21_4
69
+ // end site
@@ -0,0 +1,92 @@
1
+ // # Finding (nested-data): AFAR and CCE (clang front end) reject target update with a structure and one of its pointer members'
2
+ // # arrays in one clause
3
+ //
4
+ // - toolchains and modes that fail: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE
5
+ // 21.0.4); modes: unified, copy; -O2
6
+ // - build: amdclang -fopenmp --offload-arch=gfx942 -O2 (afar); craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
7
+ // -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -O2 (cce19, cce20, cce21, cce21_4)
8
+ // - failure: rejected
9
+ // - observed: `site-nested--afar-cce-c-update-struct-and-member-rejected.c:57:40: error: same pointer dereferenced in multiple
10
+ // different ways in map clause expressio`; identical signature on 10 of 10 failing cells
11
+ // - expected: compiles and prints `tot= 105` with `check=pass`
12
+ // - rule: the list items of a data-motion clause are locators; "The list items that appear in a map clause may include
13
+ // array sections and structure elements" (5.2 §5.8.3 p.151 l.13) and a to or from clause on target update names list
14
+ // items the same way (§5.9 p.165 l.7-14); the restrictions of data-motion clauses are only "Each list item clause must
15
+ // have a mappable type." (5.2 §5.9 p.166 l.13-14); the target update construct has no restriction on two list items
16
+ // with one base variable (§13.9 p.289)
17
+ // - same-compiler control: controls/u3-ctl-update-member-only.c (one change from this file; correct on afar (AFAR 24.3.0), cce19
18
+ // (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows results/nested/red/red7.jsonl,
19
+ // results/nested/red/tuo1.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl); controls/u4-ctl-two-updates.c (one
20
+ // change from this file; correct on afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE
21
+ // 21.0.4); rows results/nested/red/red7.jsonl, results/nested/red/tuo1.jsonl, results/nested/red/wgs.jsonl,
22
+ // results/nested/red/wnv.jsonl); controls/u5-ctl-same-list-in-map.c (one change from this file; correct on afar (AFAR 24.3.0),
23
+ // cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows results/nested/red/red7.jsonl,
24
+ // results/nested/red/tuo1.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
25
+ // - other families: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9), gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run the file correctly
26
+ // in managed mode (rows results/nested/red/red7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl, site rows,
27
+ // check case site-nested--afar-cce-c-update-struct-and-member-rejected); nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9) fail it
28
+ // another way in copy mode, e.g. `Failing in Thread:1`
29
+ // - gate and confirmer: campaign gate of the programs below: 590 cells, 590 confirmed in the four environments (a-d; (c) on another
30
+ // node or GPU; rows results/nested/big/gate_reruns.part.tuolumne1010.3222831.jsonl,
31
+ // results/nested/big/gate_reruns.part.tuolumne1012.1040717.jsonl, results/nested/big/gate_reruns.part.tuolumne1030.1284552.jsonl,
32
+ // results/nested/big/gate_reruns.part.tuolumne1176.1251749.jsonl, results/nested/big/gate_reruns.part.tuolumne1245.1517583.jsonl,
33
+ // results/nested/big/gate_reruns.part.tuolumne1246.1434668.jsonl, results/nested/big/rows.part.tuolumne1010.1956389.jsonl,
34
+ // results/nested/big/rows.part.tuolumne1040.1523848.jsonl, results/nested/big/rows.part.tuolumne1604.1239313.jsonl,
35
+ // results/nested/big/rows.part.tuolumne1624.1197409.jsonl, results/nested/big/rows.part.tuolumne1797.1146311.jsonl,
36
+ // results/nested/main/gate_reruns.part.tuolumne1095.961942.jsonl, results/nested/main/gate_reruns.part.tuolumne1789.919396.jsonl,
37
+ // results/nested/main/gate_reruns.part.tuolumne1955.3910568.jsonl,
38
+ // results/nested/main/gate_reruns.part.tuolumne1955.4072524.jsonl, results/nested/main/rows.part.tuolumne1955.994167.jsonl)
39
+ // - programs (59): nd-c-omp-update-alias-d2-332dddeb, nd-c-omp-update-alias-d2-684cb0b8, nd-c-omp-update-alias-d2-7e63bd9c,
40
+ // nd-c-omp-update-aliassub-d2-7f474889, nd-c-omp-update-aliassub-d2-94cac870, nd-c-omp-update-aliassub-d2-c7c56309,
41
+ // nd-c-omp-update-chain-d1-7fac5787, nd-c-omp-update-chain-d1-a679e114, nd-c-omp-update-chain-d2-114e1ffc,
42
+ // nd-c-omp-update-chain-d2-1585f8af, nd-c-omp-update-chain-d2-15c71a46, nd-c-omp-update-chain-d2-1f314a7c,
43
+ // nd-c-omp-update-chain-d2-1fcc5e18, nd-c-omp-update-chain-d2-2b8c33ae, nd-c-omp-update-chain-d2-2d0d559e,
44
+ // nd-c-omp-update-chain-d2-44c37206, nd-c-omp-update-chain-d2-60aec85d, nd-c-omp-update-chain-d2-61da37e6,
45
+ // nd-c-omp-update-chain-d2-6af5c7e2, nd-c-omp-update-chain-d2-7f8add9c, nd-c-omp-update-chain-d2-86fbbf97,
46
+ // nd-c-omp-update-chain-d2-a3703a98, nd-c-omp-update-chain-d2-b6fcbb9f, nd-c-omp-update-chain-d2-b7041f75,
47
+ // nd-c-omp-update-chain-d2-bd065bcd, nd-c-omp-update-chain-d2-cca853ce, nd-c-omp-update-chain-d2-db6ed5e2,
48
+ // nd-c-omp-update-chain-d3-05025df3, nd-c-omp-update-chain-d3-0c64953c, nd-c-omp-update-chain-d3-0f5b4780,
49
+ // nd-c-omp-update-chain-d3-1f5ebce9, nd-c-omp-update-chain-d3-2620c220, nd-c-omp-update-chain-d3-2be3a628,
50
+ // nd-c-omp-update-chain-d3-4643770f, nd-c-omp-update-chain-d3-5648fa65, nd-c-omp-update-chain-d3-65936503,
51
+ // nd-c-omp-update-chain-d3-6bc24e3c, nd-c-omp-update-chain-d3-6f0b33d0, nd-c-omp-update-chain-d3-700e7c94,
52
+ // nd-c-omp-update-chain-d3-70128cef, nd-c-omp-update-chain-d3-8b59135d, nd-c-omp-update-chain-d3-8ba10689,
53
+ // nd-c-omp-update-chain-d3-8f2a97eb, nd-c-omp-update-chain-d3-97a31dfc, nd-c-omp-update-chain-d3-a29029aa,
54
+ // nd-c-omp-update-chain-d3-a9134361, nd-c-omp-update-chain-d3-b91a32d4, nd-c-omp-update-chain-d3-c5604bb2,
55
+ // nd-c-omp-update-chain-d4-19f9f60a, nd-c-omp-update-diamond-d3-3f65ce61, nd-c-omp-update-diamond-d3-41a1f708,
56
+ // nd-c-omp-update-diamond-d3-5b90e213, nd-c-omp-update-list-d2-58efae8c, nd-c-omp-update-list-d3-842299a3,
57
+ // nd-c-omp-update-tree-d2-5148e00e, nd-c-omp-update-tree-d2-78bc7f0b, nd-c-omp-update-tree-d2-bf7639b6,
58
+ // nd-c-omp-update-tree-d3-725ebde6, nd-c-omp-update-tree-d3-ca80229f
59
+ // - legality: the rules (offload.engine.rules) accept it; GCC compiles and runs it (GCC is no legality witness); the
60
+ // AFAR/CCE C front ends reject it with a diagnostic, so the only other front end is NVHPC nvc, which accepted the
61
+ // campaign's update programs of this form where it ran at all (results/nested/main/witness*.jsonl)
62
+ #include <stdio.h>
63
+ #include <stdlib.h>
64
+ #include <omp.h>
65
+ struct s { int v; int *a; };
66
+ int main(void)
67
+ {
68
+ int hf = 1, i, tot = 0, ok;
69
+ struct s *r = malloc(sizeof *r);
70
+ r->v = 5; r->a = malloc(4 * sizeof(int));
71
+ for (i = 0; i < 4; i++) r->a[i] = i + 1;
72
+ #pragma omp target map(from: hf)
73
+ hf = omp_is_initial_device() ? 1 : 0;
74
+ #pragma omp target enter data map(to: r[0:1]) map(to: r->a[0:4])
75
+ for (i = 0; i < 4; i++) r->a[i] = 10 * (i + 1);
76
+ #pragma omp target update to(r[0:1], r->a[0:4])
77
+ #pragma omp target map(tofrom: tot)
78
+ { tot = r->v; for (int q = 0; q < 4; q++) tot += r->a[q]; }
79
+ #pragma omp target exit data map(release: r->a[0:4]) map(release: r[0:1])
80
+ ok = tot == 105;
81
+ printf("tot= %d\n", tot);
82
+ printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
83
+ return 0;
84
+ }
85
+
86
+ // site:
87
+ // title: target update with a structure and a member array in one clause rejected
88
+ // summary: AFAR and CCE reject a target update clause naming a structure and the array its pointer member points to.
89
+ // control: nested/controls/u3-ctl-update-member-only.c one change from the finding; correct on afar, cce19, cce20, cce21, cce21_4
90
+ // control: nested/controls/u4-ctl-two-updates.c one change from the finding; correct on afar, cce19, cce20, cce21, cce21_4
91
+ // control: nested/controls/u5-ctl-same-list-in-map.c one change from the finding; correct on afar, cce19, cce20, cce21, cce21_4
92
+ // end site
@@ -0,0 +1,121 @@
1
+ ! # Finding (nested-data): AFAR flang, copy mode: a derived-type object reached through a pointer (the root, or a pointer
2
+ ! # component) with an allocatable component, mapped by enter data, makes the kernel fault
3
+ !
4
+ ! - toolchains and modes that fail: afar (AFAR 24.3.0); modes: copy; -O2
5
+ ! - build: amdflang -fopenmp --offload-arch=gfx942 -O2
6
+ ! - failure: crash
7
+ ! - observed: `Warning: Queue error - HSA_STATUS_ERROR_MEMORY_FAULT` (killed by signal 6); identical signature on 1 of 1 failing
8
+ ! cells
9
+ ! - expected: compiles and prints `tot= 828`, `sum= 884` with `check=pass`
10
+ ! - rule: the structure is mapped by the target enter data directive and "If a variable is not a scalar then it is
11
+ ! treated as if it had appeared in a map clause with a map-type of tofrom" (5.2 §5.8.1 p.149 l.4-5), so a reference in
12
+ ! the later target region finds it present; an allocatable component of a mapped derived type is mapped with it by the
13
+ ! predefined default mapper (5.2 §5.8.2 p.150 l.2-4)
14
+ ! - same-compiler control: controls/m2-ctl-variable-root.f90 (one change from this file; correct on afar (AFAR 24.3.0); rows
15
+ ! results/nested/red/tuo3.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl);
16
+ ! controls/m3-ctl-fixed-array-component.f90 (one change from this file; correct on afar (AFAR 24.3.0); rows
17
+ ! results/nested/red/tuo3.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl); controls/m5-ctl-no-enter-data.f90
18
+ ! (one change from this file; correct on afar (AFAR 24.3.0); rows results/nested/red/tuo3.jsonl, results/nested/red/wgs.jsonl,
19
+ ! results/nested/red/wnv.jsonl); controls/q2-ctl-fixed-array.f90 (one change from this file; correct on afar (AFAR 24.3.0); rows
20
+ ! results/nested/red/tuo11.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl);
21
+ ! controls/q3-ctl-allocatable-component-of-the-variable.f90 (one change from this file; correct on afar (AFAR 24.3.0); rows
22
+ ! results/nested/red/tuo11.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
23
+ ! - other families: cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc (NVHPC 25.11), nvhpc269
24
+ ! (NVHPC 26.9), gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run the file correctly in managed mode (rows
25
+ ! results/nested/red/red7.jsonl, results/nested/red/tuo2.jsonl, results/nested/red/tuo3.jsonl, results/nested/red/tuo6.jsonl,
26
+ ! results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl, site rows, check case
27
+ ! site-nested--afar-flang-pointer-root-allocatable-component-enter-data-fault); nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9) fail it
28
+ ! another way in copy mode, e.g. `Failing in Thread:1`
29
+ ! - gate and confirmer: campaign gate of the programs below: 123 cells, 123 confirmed in the four environments (a-d; (c) on another
30
+ ! node or GPU; rows results/nested/big/gate_reruns.part.tuolumne1010.3222831.jsonl,
31
+ ! results/nested/big/gate_reruns.part.tuolumne1012.1040717.jsonl, results/nested/big/gate_reruns.part.tuolumne1176.1251749.jsonl,
32
+ ! results/nested/big/gate_reruns.part.tuolumne1246.1434668.jsonl, results/nested/big/rows.part.tuolumne1010.1956389.jsonl,
33
+ ! results/nested/big/rows.part.tuolumne1040.1523848.jsonl, results/nested/big/rows.part.tuolumne1624.1197409.jsonl,
34
+ ! results/nested/main/gate_reruns.part.tuolumne1095.961942.jsonl, results/nested/main/gate_reruns.part.tuolumne1789.919396.jsonl,
35
+ ! results/nested/main/gate_reruns.part.tuolumne1955.3910568.jsonl,
36
+ ! results/nested/main/gate_reruns.part.tuolumne1955.4072524.jsonl, results/nested/main/rows.part.tuolumne1955.994167.jsonl)
37
+ ! - programs (123): nd-f-omp-always-chain-d2-0b79aaa6, nd-f-omp-always-chain-d2-5b08a1dd, nd-f-omp-always-chain-d2-75ca3965,
38
+ ! nd-f-omp-always-chain-d2-a1106ec3, nd-f-omp-always-chain-d2-af297865, nd-f-omp-always-chain-d2-b1ac0170,
39
+ ! nd-f-omp-always-chain-d2-c87159f0, nd-f-omp-always-chain-d2-c931e678, nd-f-omp-always-chain-d3-0a19c378,
40
+ ! nd-f-omp-always-chain-d3-23f3159f, nd-f-omp-always-chain-d3-6429d1f2, nd-f-omp-always-chain-d3-a2c50d15,
41
+ ! nd-f-omp-always-chain-d3-d619d8f3, nd-f-omp-always-chain-d3-e6c04585, nd-f-omp-always-list-d2-1a3866f8,
42
+ ! nd-f-omp-close-chain-d2-23d11b6c, nd-f-omp-close-chain-d2-53ab37a7, nd-f-omp-close-chain-d3-6805e4ee,
43
+ ! nd-f-omp-close-chain-d3-7d95925f, nd-f-omp-close-chain-d3-9c214397, nd-f-omp-close-tree-d2-77fe8f90,
44
+ ! nd-f-omp-enter-chain-d1-b2c324d9, nd-f-omp-enter-chain-d2-02ac29dd, nd-f-omp-enter-chain-d2-3197d0a8,
45
+ ! nd-f-omp-enter-chain-d2-3be528ec, nd-f-omp-enter-chain-d2-446a7bbe, nd-f-omp-enter-chain-d2-6f9da85d,
46
+ ! nd-f-omp-enter-chain-d2-a22671ae, nd-f-omp-enter-chain-d2-b1679c00, nd-f-omp-enter-chain-d2-b668ef1a,
47
+ ! nd-f-omp-enter-chain-d2-c4de674a, nd-f-omp-enter-chain-d2-c8d85554, nd-f-omp-enter-chain-d2-cee2a3ae,
48
+ ! nd-f-omp-enter-chain-d2-cf1e37c5, nd-f-omp-enter-chain-d2-ff520002, nd-f-omp-enter-chain-d3-0b3bdece,
49
+ ! nd-f-omp-enter-chain-d3-181eb7ae, nd-f-omp-enter-chain-d3-27fc4e52, nd-f-omp-enter-chain-d3-5f7d1cd9,
50
+ ! nd-f-omp-enter-chain-d3-6d18ea3c, nd-f-omp-enter-chain-d3-77e3bd5d, nd-f-omp-enter-chain-d3-8b826b39,
51
+ ! nd-f-omp-enter-chain-d3-a54517a7, nd-f-omp-enter-chain-d3-e0125bfa, nd-f-omp-enter-list-d3-9b3ce758,
52
+ ! nd-f-omp-enter-list-d4-880965d5, nd-f-omp-enter-tree-d2-15fff1f4, nd-f-omp-enter-tree-d2-c78514c5,
53
+ ! nd-f-omp-mapper-chain-d1-0d36f37d, nd-f-omp-mapper-chain-d2-15137215, nd-f-omp-mapper-chain-d2-90256a87,
54
+ ! nd-f-omp-mapper-chain-d2-b48755f6, nd-f-omp-mapper-chain-d2-c224f613, nd-f-omp-mapper-chain-d2-c26a1f3c,
55
+ ! nd-f-omp-mapper_enter-chain-d2-194e7b57, nd-f-omp-mapper_enter-chain-d2-42baa788, nd-f-omp-mapper_enter-chain-d2-58989314,
56
+ ! nd-f-omp-mapper_enter-chain-d2-843af8df, nd-f-omp-mapper_enter-chain-d2-a42fde14, nd-f-omp-mapper_enter-chain-d2-d66c239d,
57
+ ! nd-f-omp-one-chain-d2-195ea825, nd-f-omp-one-chain-d2-1a15b55c, nd-f-omp-one-chain-d2-2a889054, nd-f-omp-one-chain-d2-30e18d0f,
58
+ ! nd-f-omp-one-chain-d2-db9b2606, nd-f-omp-one-chain-d3-4df89a9f, nd-f-omp-one-chain-d3-7d0cf848, nd-f-omp-one-list-d2-1b67cb71,
59
+ ! nd-f-omp-one-tree-d2-fe998394, nd-f-omp-present-chain-d2-6b433240, nd-f-omp-present-chain-d2-8328294e,
60
+ ! nd-f-omp-present-chain-d2-98f96e52, nd-f-omp-present-chain-d2-9d7a0b6d, nd-f-omp-present-chain-d2-f3cf6eb5,
61
+ ! nd-f-omp-present-chain-d3-04d9e7d3, nd-f-omp-present-chain-d3-512ec550, nd-f-omp-present-chain-d3-c07b93ee,
62
+ ! nd-f-omp-present-chain-d3-d110420c, nd-f-omp-present-list-d2-865f5787, nd-f-omp-tdata-chain-d2-3ddce863,
63
+ ! nd-f-omp-tdata-chain-d2-d7b601da, nd-f-omp-tdata-chain-d3-2be49672, nd-f-omp-tdata-chain-d3-5a6fdac0,
64
+ ! nd-f-omp-tdata-chain-d3-85766a94, nd-f-omp-tdata-chain-d3-88f311be, nd-f-omp-tdata-chain-d3-8af496d0,
65
+ ! nd-f-omp-tdata-chain-d3-96349065, nd-f-omp-tdata-list-d2-c3abf961, nd-f-omp-tdata-tree-d2-a44b533c,
66
+ ! nd-f-omp-tdata-tree-d2-ba8e4a37, nd-f-omp-tdata_nested-chain-d2-ee52b5c1, nd-f-omp-tdata_nested-chain-d2-f63872c4,
67
+ ! nd-f-omp-tdata_nested-chain-d3-1d9ac350, nd-f-omp-tdata_nested-chain-d3-78ee2d27, nd-f-omp-tdata_nested-chain-d3-833d215e,
68
+ ! nd-f-omp-tdata_nested-chain-d3-9dd3b6ad, nd-f-omp-tdata_nested-chain-d3-cec76abb, nd-f-omp-tdata_nested-chain-d3-e0671608,
69
+ ! nd-f-omp-tdata_nested-chain-d3-e61550e7, nd-f-omp-tdata_nested-chain-d4-355811c0, nd-f-omp-update-chain-d2-018eb6d9,
70
+ ! nd-f-omp-update-chain-d2-0545e9b5, nd-f-omp-update-chain-d2-3daf06e5, nd-f-omp-update-chain-d2-75e83840,
71
+ ! nd-f-omp-update-chain-d2-9756b365, nd-f-omp-update-chain-d2-b9c06ba7, nd-f-omp-update-chain-d2-d90fc1ec,
72
+ ! nd-f-omp-update-chain-d2-eb4cf5ae, nd-f-omp-update-chain-d3-261315ff, nd-f-omp-update-chain-d3-3d5ca029,
73
+ ! nd-f-omp-update-chain-d3-5b69f0e6, nd-f-omp-update-chain-d3-64ea229b, nd-f-omp-update-chain-d3-74e122b9,
74
+ ! nd-f-omp-update-chain-d3-a40d2cc5, nd-f-omp-update-chain-d3-cf66ca90, nd-f-omp-update-chain-d3-d51553a5,
75
+ ! nd-f-omp-update-chain-d3-f84ee81c, nd-f-omp-update-chain-d3-fddf3ef0, nd-f-omp-update-chain-d3-fee48361,
76
+ ! nd-f-omp-update-chain-d4-0079ddfd, nd-f-omp-update-tree-d2-9a0f19f5, nd-f-omp-update-tree-d3-7d66722a,
77
+ ! nd-f-omp-update-tree-d3-cef9276d
78
+ ! - legality: the rules (offload.engine.rules) accept it, AFAR's flang front end accepts it and CCE compiles and runs it
79
+ ! (the front ends of two other families)
80
+ program t
81
+ use omp_lib
82
+ implicit none
83
+ type :: n0
84
+ integer, allocatable :: a(:)
85
+ end type n0
86
+ type(n0), pointer :: r
87
+ integer :: q, hf, tot
88
+ logical :: ok
89
+ hf = 1
90
+ !$omp target map(from: hf)
91
+ hf = merge(1, 0, omp_is_initial_device())
92
+ !$omp end target
93
+ allocate(r)
94
+ allocate(r%a(8))
95
+ do q = 1, 8
96
+ r%a(q) = 100 + q - 1
97
+ end do
98
+ tot = 0
99
+ !$omp target enter data map(to: r)
100
+ !$omp target teams distribute parallel do reduction(+: tot)
101
+ do q = 1, 8
102
+ tot = tot + r%a(q)
103
+ r%a(q) = r%a(q) + 7
104
+ end do
105
+ !$omp end target teams distribute parallel do
106
+ !$omp target exit data map(from: r)
107
+ ok = tot == 828 .and. sum(r%a) == 884
108
+ print '(a,i0)', 'tot= ', tot
109
+ print '(a,i0)', 'sum= ', sum(r%a)
110
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
111
+ end program t
112
+
113
+ ! site:
114
+ ! title: AFAR: pointer-root derived type with allocatable component faults in copy mode
115
+ ! summary: AFAR faults in copy mode on a Fortran pointer to a derived type with an allocatable component entered by enter data.
116
+ ! control: nested/controls/m2-ctl-variable-root.f90 one change from the finding; correct on afar
117
+ ! control: nested/controls/m3-ctl-fixed-array-component.f90 one change from the finding; correct on afar
118
+ ! control: nested/controls/m5-ctl-no-enter-data.f90 one change from the finding; correct on afar
119
+ ! control: nested/controls/q2-ctl-fixed-array.f90 one change from the finding; correct on afar
120
+ ! control: nested/controls/q3-ctl-allocatable-component-of-the-variable.f90 one change from the finding; correct on afar
121
+ ! end site
@@ -0,0 +1,79 @@
1
+ // # Finding (nested-data): CCE craycc crashes in CodeGen: a target construct maps a structure and the structure and array
2
+ // # reached through an embedded structure and a pointer
3
+ //
4
+ // - toolchains and modes that fail: cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); modes:
5
+ // unified, copy; -O2
6
+ // - build: craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -O2
7
+ // - failure: ice
8
+ // - observed: `PLEASE submit a bug report to HPE at https://support.hpe.com/ and include the crash backtrace, preprocessed source,
9
+ // and associated run script.`; identical signature on 8 of 8 failing cells
10
+ // - expected: compiles and prints `tot= 16` with `check=pass`
11
+ // - rule: "A structure and an element of it may both be list items" in the sense of 5.2 §5.8.3 p.156 l.6-7 ("unless one
12
+ // is the containing structure of the other"), and a section reached through pointer members is a list item of a map
13
+ // clause (§5.8.3 p.151 l.13); the construct maps r, then r.nx.nx[0:1] and r.nx.nx->a[0:8] through the embedded
14
+ // structure r.nx and its pointer member
15
+ // - same-compiler control: controls/j1-embedded-struct-pointer-to-struct.c (one change from this file; correct on cce19 (CCE
16
+ // 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows
17
+ // results/findings-baseline/nested-j-controls.cce.jsonl, results/nested/red/tuo4.jsonl, results/nested/red/tuo5.jsonl,
18
+ // results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl); controls/j6-ctl-struct-and-one-pointee-level.c (one change from
19
+ // this file; correct on cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows
20
+ // results/findings-baseline/nested-j-controls.cce.jsonl, results/nested/red/tuo5.jsonl, results/nested/red/wgs.jsonl,
21
+ // results/nested/red/wnv.jsonl); controls/j7-ctl-struct-and-embedded-pointee.c (one change from this file; correct on cce19 (CCE
22
+ // 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows
23
+ // results/findings-baseline/nested-j-controls.cce.jsonl, results/nested/red/tuo5.jsonl, results/nested/red/wgs.jsonl,
24
+ // results/nested/red/wnv.jsonl); controls/j2-ctl-pointer-instead-of-embedded.c (one change from this file; correct on cce19 (CCE
25
+ // 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4); rows
26
+ // results/findings-baseline/nested-j-controls.cce.jsonl, results/nested/red/tuo5.jsonl, results/nested/red/wgs.jsonl,
27
+ // results/nested/red/wnv.jsonl)
28
+ // - other families: afar (AFAR 24.3.0), nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9), gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run
29
+ // the file correctly (rows results/nested/red/tuo5.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl, site rows,
30
+ // check case site-nested--cce-c-struct-and-nested-pointee-sections-ice)
31
+ // - gate and confirmer: campaign gate of the programs below: 40 cells, 40 confirmed in the four environments (a-d; (c) on another
32
+ // node or GPU; rows results/nested/big/gate_reruns.part.tuolumne1010.3222831.jsonl,
33
+ // results/nested/big/gate_reruns.part.tuolumne1012.1040717.jsonl, results/nested/big/gate_reruns.part.tuolumne1030.1284552.jsonl,
34
+ // results/nested/big/gate_reruns.part.tuolumne1176.1251749.jsonl, results/nested/big/gate_reruns.part.tuolumne1245.1517583.jsonl,
35
+ // results/nested/big/gate_reruns.part.tuolumne1246.1434668.jsonl, results/nested/big/rows.part.tuolumne1010.1956389.jsonl,
36
+ // results/nested/big/rows.part.tuolumne1040.1523848.jsonl, results/nested/big/rows.part.tuolumne1604.1239313.jsonl,
37
+ // results/nested/big/rows.part.tuolumne1624.1197409.jsonl, results/nested/big/rows.part.tuolumne1797.1146311.jsonl,
38
+ // results/nested/main/gate_reruns.part.tuolumne1095.961942.jsonl, results/nested/main/gate_reruns.part.tuolumne1789.919396.jsonl,
39
+ // results/nested/main/gate_reruns.part.tuolumne1955.3910568.jsonl,
40
+ // results/nested/main/gate_reruns.part.tuolumne1955.4072524.jsonl, results/nested/main/rows.part.tuolumne1955.994167.jsonl)
41
+ // - programs (5): nd-c-omp-always-chain-d2-53712162, nd-c-omp-always-chain-d3-71393589, nd-c-omp-close-chain-d3-87bce034,
42
+ // nd-c-omp-one-chain-d3-9f7ac271, nd-c-omp-one-chain-d3-d6c766c9
43
+ // - legality: the rules (offload.engine.rules) accept it; AFAR's clang compiles and runs it (a front end of another family)
44
+ #include <stdio.h>
45
+ #include <stdlib.h>
46
+ #include <omp.h>
47
+ struct n2 { int *a; };
48
+ struct n1 { struct n2 *nx; };
49
+ struct n0 { int v; struct n1 nx; };
50
+ int main(void)
51
+ {
52
+ int hf = 1, i, tot = 0, ok;
53
+ struct n0 r;
54
+ r.v = 0; r.nx.nx = calloc(1, sizeof *r.nx.nx); r.nx.nx->a = malloc(8 * sizeof(int));
55
+ for (i = 0; i < 8; i++) r.nx.nx->a[i] = 2;
56
+ #pragma omp target map(from: hf)
57
+ hf = omp_is_initial_device() ? 1 : 0;
58
+ #pragma omp target map(tofrom: tot) map(tofrom: r) map(tofrom: r.nx.nx[0:1]) map(tofrom: r.nx.nx->a[0:8])
59
+ {
60
+ for (int q = 0; q < 8; q++) tot += r.nx.nx->a[q];
61
+ }
62
+ ok = tot == 16;
63
+ printf("tot= %d\n", tot);
64
+ printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
65
+ return 0;
66
+ }
67
+
68
+ // site:
69
+ // title: CCE: compiler crash on nested pointee sections in one target construct
70
+ // summary: The CCE front end crashes on a target construct mapping nested structures through pointer members.
71
+ // control: nested/controls/j1-embedded-struct-pointer-to-struct.c one change from the finding; correct on cce19, cce20, cce21,
72
+ // + cce21_4
73
+ // control: nested/controls/j6-ctl-struct-and-one-pointee-level.c one change from the finding; correct on cce19, cce20, cce21,
74
+ // + cce21_4
75
+ // control: nested/controls/j7-ctl-struct-and-embedded-pointee.c one change from the finding; correct on cce19, cce20, cce21,
76
+ // + cce21_4
77
+ // control: nested/controls/j2-ctl-pointer-instead-of-embedded.c one change from the finding; correct on cce19, cce20, cce21,
78
+ // + cce21_4
79
+ // end site
@@ -0,0 +1,64 @@
1
+ ! # Finding (nested-data): CCE, copy mode: a derived type with a derived-type component that holds an allocatable array, mapped
2
+ ! # by enter data, makes the kernel fail
3
+ !
4
+ ! - toolchains and modes that fail: cce19 (CCE 19.0.0), cce20 (CCE 20.0.2); modes: copy; -O2
5
+ ! - build: ftn -fopenmp -O2
6
+ ! - failure: crash
7
+ ! - observed: `crash: SIGABRT; without mandatory: crash: SIGABRT` (killed by signal ABRT); identical signature on 2 of 2 failing
8
+ ! cells
9
+ ! - expected: compiles and prints `tot= 1628` with `check=pass`
10
+ ! - rule: a structure type has a predefined default mapper that maps its elements (OpenMP 5.2 §5.8.2 p.150 l.2-4: "A
11
+ ! structure type T has a predefined default mapper that is defined as if by a declare mapper directive that specifies
12
+ ! v in a map clause with the alloc map-type"), and the map clauses a mapper introduces are subject to the mappers in
13
+ ! scope (§5.8.8 p.164 l.1: "All map clauses that are introduced by a mapper are further subject to mappers that are in
14
+ ! scope"), so the default mapper of the component's derived type maps its allocatable array too; the program
15
+ ! references nothing else
16
+ ! - same-compiler control: controls/n8-ctl-fixed-array-in-component.f90 (one change from this file; correct on cce19 (CCE 19.0.0),
17
+ ! cce20 (CCE 20.0.2); rows results/nested/red/tuo9.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl);
18
+ ! controls/n9-ctl-allocatable-in-the-variable.f90 (one change from this file; correct on cce19 (CCE 19.0.0), cce20 (CCE 20.0.2);
19
+ ! rows results/nested/red/tuo9.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
20
+ ! - other families: afar (AFAR 24.3.0), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9),
21
+ ! gcc_sm80 (GCC 16.2.0) run the file correctly in managed, unified mode (rows results/nested/red/tuo9.jsonl,
22
+ ! results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl); cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc (NVHPC 25.11),
23
+ ! nvhpc269 (NVHPC 26.9) fail it another way in copy mode, e.g. `exit_status: 1; without mandatory: exit_status: 1`
24
+ ! - legality: the rules (offload.engine.rules) accept it; AFAR compiles and runs it correctly (a front end of another
25
+ ! family)
26
+ program t
27
+ use omp_lib
28
+ implicit none
29
+ type :: n1
30
+ integer, allocatable :: a(:)
31
+ end type n1
32
+ type :: n0
33
+ type(n1) :: nx
34
+ end type n0
35
+ type(n0) :: r
36
+ integer :: q, hf, tot
37
+ logical :: ok
38
+ hf = 1
39
+ !$omp target map(from: hf)
40
+ hf = merge(1, 0, omp_is_initial_device())
41
+ !$omp end target
42
+ allocate(r%nx%a(8))
43
+ do q = 1, 8
44
+ r%nx%a(q) = 200 + q - 1
45
+ end do
46
+ tot = 0
47
+ !$omp target enter data map(to: r)
48
+ !$omp target teams distribute parallel do reduction(+: tot)
49
+ do q = 1, 8
50
+ tot = tot + r%nx%a(q)
51
+ end do
52
+ !$omp end target teams distribute parallel do
53
+ !$omp target exit data map(release: r)
54
+ ok = tot == 1628
55
+ print '(a,i0)', 'tot= ', tot
56
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
57
+ end program t
58
+
59
+ ! site:
60
+ ! title: CCE: nested allocatable component faults in copy mode
61
+ ! summary: CCE fails in copy mode on a derived type whose component is a derived type holding an allocatable array.
62
+ ! control: nested/controls/n8-ctl-fixed-array-in-component.f90 one change from the finding; correct on cce19, cce20
63
+ ! control: nested/controls/n9-ctl-allocatable-in-the-variable.f90 one change from the finding; correct on cce19, cce20
64
+ ! end site
@@ -0,0 +1,93 @@
1
+ ! # Finding (nested-data): CCE, both modes: a variable with a pointer component to a derived type that has an allocatable
2
+ ! # scalar component of derived type fails at enter data with "unsupported flags for typed transfer"
3
+ !
4
+ ! - toolchains and modes that fail: cce19 (CCE 19.0.0), cce21_4 (CCE 21.0.4); modes: unified, copy; -O2
5
+ ! - build: ftn -fopenmp -O2
6
+ ! - failure: run_error
7
+ ! - observed: `exit_status: 1; without mandatory: exit_status: 1`; identical signature on 4 of 4 failing cells
8
+ ! - expected: compiles and prints `ha= 4028` with `check=pass`
9
+ ! - rule: a structure type has a predefined default mapper that maps its elements (OpenMP 5.2 §5.8.2 p.150 l.2-4: "A
10
+ ! structure type T has a predefined default mapper that is defined as if by a declare mapper directive that specifies
11
+ ! v in a map clause with the alloc map-type"); the variable r is entered with map(alloc: r) and left with map(from:
12
+ ! r), its pointer component is not associated, and the target region touches only r%a and r%s
13
+ ! - same-compiler control: controls/ta2-ctl-no-allocatable-component.f90 (one change from this file; correct on cce19 (CCE 19.0.0),
14
+ ! cce21_4 (CCE 21.0.4); rows results/nested/red/red15.jsonl, results/nested/red/tuo20.jsonl, results/nested/red/wgs2.jsonl,
15
+ ! results/nested/red/wnv2.jsonl); controls/ta3-ctl-allocatable-scalar-in-the-variable.f90 (one change from this file; correct on
16
+ ! cce19 (CCE 19.0.0), cce21_4 (CCE 21.0.4); rows results/nested/red/red15.jsonl, results/nested/red/tuo21.jsonl,
17
+ ! results/nested/red/wgs2.jsonl, results/nested/red/wnv2.jsonl); controls/ta4-ctl-pointer-component-only.f90 (one change from this
18
+ ! file; correct on cce19 (CCE 19.0.0), cce21_4 (CCE 21.0.4); rows results/nested/red/red15.jsonl, results/nested/red/tuo21.jsonl,
19
+ ! results/nested/red/wgs2.jsonl, results/nested/red/wnv2.jsonl)
20
+ ! - other families: afar (AFAR 24.3.0), nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9), gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run
21
+ ! the file correctly (rows results/nested/red/red15.jsonl, results/nested/red/tuo20.jsonl, results/nested/red/wgs2.jsonl,
22
+ ! results/nested/red/wnv2.jsonl)
23
+ ! - gate and confirmer: campaign gate of the programs below: 112 cells, 112 confirmed in the four environments (a-d; (c) on another
24
+ ! node or GPU; rows results/nested/big/gate_reruns.part.tuolumne1010.3222831.jsonl,
25
+ ! results/nested/big/gate_reruns.part.tuolumne1012.1040717.jsonl, results/nested/big/gate_reruns.part.tuolumne1030.1284552.jsonl,
26
+ ! results/nested/big/gate_reruns.part.tuolumne1176.1251749.jsonl, results/nested/big/gate_reruns.part.tuolumne1245.1517583.jsonl,
27
+ ! results/nested/big/gate_reruns.part.tuolumne1246.1434668.jsonl, results/nested/big/rows.part.tuolumne1010.1956389.jsonl,
28
+ ! results/nested/big/rows.part.tuolumne1040.1523848.jsonl, results/nested/big/rows.part.tuolumne1604.1239313.jsonl,
29
+ ! results/nested/big/rows.part.tuolumne1624.1197409.jsonl, results/nested/big/rows.part.tuolumne1797.1146311.jsonl,
30
+ ! results/nested/main/gate_reruns.part.tuolumne1095.961942.jsonl, results/nested/main/gate_reruns.part.tuolumne1789.919396.jsonl,
31
+ ! results/nested/main/gate_reruns.part.tuolumne1955.3910568.jsonl,
32
+ ! results/nested/main/gate_reruns.part.tuolumne1955.4072524.jsonl, results/nested/main/rows.part.tuolumne1955.994167.jsonl)
33
+ ! - programs (28): nd-f-omp-close-chain-d2-23d11b6c, nd-f-omp-enter-chain-d1-21883845, nd-f-omp-enter-chain-d1-64c59390,
34
+ ! nd-f-omp-enter-chain-d1-b856f444, nd-f-omp-enter-chain-d2-3197d0a8, nd-f-omp-enter-chain-d2-b668ef1a,
35
+ ! nd-f-omp-enter-chain-d3-0b3bdece, nd-f-omp-enter-chain-d3-27fc4e52, nd-f-omp-enter-chain-d3-6d18ea3c,
36
+ ! nd-f-omp-enter-chain-d3-a54517a7, nd-f-omp-enter-chain-d3-dc18b074, nd-f-omp-enter-chain-d3-e0125bfa,
37
+ ! nd-f-omp-present-chain-d1-e4cdb6d0, nd-f-omp-present-chain-d2-365941e2, nd-f-omp-present-chain-d2-9d7a0b6d,
38
+ ! nd-f-omp-present-chain-d3-04d9e7d3, nd-f-omp-present-chain-d3-c07b93ee, nd-f-omp-present-chain-d3-d110420c,
39
+ ! nd-f-omp-update-chain-d1-58f7d58c, nd-f-omp-update-chain-d1-f1a9957f, nd-f-omp-update-chain-d2-0545e9b5,
40
+ ! nd-f-omp-update-chain-d3-261315ff, nd-f-omp-update-chain-d3-5b69f0e6, nd-f-omp-update-chain-d3-64ea229b,
41
+ ! nd-f-omp-update-chain-d3-a40d2cc5, nd-f-omp-update-chain-d3-d51553a5, nd-f-omp-update-chain-d3-fee48361,
42
+ ! nd-f-omp-update-chain-d4-0079ddfd
43
+ ! - legality: the rules (offload.engine.rules) accept it; AFAR's flang front end and NVHPC accept it and run it correctly
44
+ ! (front ends of two other families)
45
+ program t
46
+ use omp_lib
47
+ implicit none
48
+ type :: n2
49
+ integer :: s = 0
50
+ end type n2
51
+ type :: n1
52
+ integer :: s = 0
53
+ type(n2), allocatable :: nx
54
+ end type n1
55
+ type :: n0
56
+ integer :: s = 0
57
+ integer :: a(8) = 0
58
+ type(n1), pointer :: nx => null()
59
+ end type n0
60
+ type(n0) :: r
61
+ integer :: q, hf, ha, hs
62
+ logical :: ok
63
+ hf = 1
64
+ !$omp target map(from: hf)
65
+ hf = merge(1, 0, omp_is_initial_device())
66
+ !$omp end target
67
+
68
+ r%s = -1
69
+ do q = 1, 8
70
+ r%a(q) = -1
71
+ end do
72
+ !$omp target enter data map(alloc: r)
73
+ !$omp target
74
+ do q = 1, 8
75
+ r%a(q) = 500 + q - 1
76
+ end do
77
+ r%s = 900
78
+ !$omp end target
79
+ !$omp target exit data map(from: r)
80
+ ha = sum(r%a)
81
+ hs = r%s
82
+ ok = ha == 4028 .and. hs == 900
83
+ print '(a,i0)', 'ha= ', ha
84
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
85
+ end program t
86
+
87
+ ! site:
88
+ ! title: CCE: "unsupported flags for typed transfer" for a nested allocatable scalar component
89
+ ! summary: CCE aborts enter data of a variable whose pointer component points to a type with an allocatable scalar component.
90
+ ! control: nested/controls/ta2-ctl-no-allocatable-component.f90 one change from the finding; correct on cce19, cce21_4
91
+ ! control: nested/controls/ta3-ctl-allocatable-scalar-in-the-variable.f90 one change from the finding; correct on cce19, cce21_4
92
+ ! control: nested/controls/ta4-ctl-pointer-component-only.f90 one change from the finding; correct on cce19, cce21_4
93
+ ! end site