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,62 @@
1
+ ! # Finding (nested-data): GCC: a pointer component mapped alloc and written on the device comes back with the wrong values
2
+ ! # (bounds of the attached descriptor not set)
3
+ !
4
+ ! - toolchains and modes that fail: gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); modes: copy; -O2
5
+ ! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90); gfortran -fopenmp
6
+ ! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
7
+ ! - failure: wrong_answer (check=fail)
8
+ ! - observed: `tot= 504`, `s= 900` with `check=fail`
9
+ ! - expected: compiles and prints `tot= 4028`, `s= 900` with `check=pass` (the model of the program: the sum of the
10
+ ! written values)
11
+ ! - rule: on entry the corresponding pointer "is associated with a pointer target that has the same rank and bounds as
12
+ ! the pointer target of the original pointer, such that the corresponding list item can be accessed through the
13
+ ! pointer in a target region" (5.2 §5.8.3 p.152 l.11-13); the structure is entered with map(alloc:), so its descriptor
14
+ ! is not initialized by a transfer and has to be set by the attach
15
+ ! - same-compiler control: controls/g2-ctl-entered-to.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC
16
+ ! 16.2.0); rows results/nested/red/red1.jsonl, results/nested/red/tuo2.jsonl, results/nested/red/wgs.jsonl,
17
+ ! results/nested/red/wnv.jsonl); controls/g2-ctl-allocatable.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0),
18
+ ! gcc_sm80 (GCC 16.2.0); rows results/nested/red/red1.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
19
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc
20
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) run the file correctly (rows results/nested/red/tuo2.jsonl, results/nested/red/wnv.jsonl,
21
+ ! site rows, check case site-nested--gcc-fortran-pointer-component-alloc-bounds-lost)
22
+ ! - legality: the rules (offload.engine.rules) accept it, AFAR's flang front end accepts it
23
+ program t
24
+ use omp_lib
25
+ implicit none
26
+ type :: n0
27
+ integer :: s = 0
28
+ integer, pointer :: a(:) => null()
29
+ end type n0
30
+ type(n0) :: r
31
+ integer :: q, hf, tot
32
+ logical :: ok
33
+ hf = 1
34
+ !$omp target map(from: hf)
35
+ hf = merge(1, 0, omp_is_initial_device())
36
+ !$omp end target
37
+ allocate(r%a(8))
38
+ r%s = -1
39
+ r%a = -1
40
+ !$omp target enter data map(alloc: r)
41
+ !$omp target enter data map(alloc: r%a)
42
+ !$omp target
43
+ do q = 1, 8
44
+ r%a(q) = 500 + q - 1
45
+ end do
46
+ r%s = 900
47
+ !$omp end target
48
+ !$omp target exit data map(from: r%a)
49
+ !$omp target exit data map(from: r)
50
+ tot = sum(r%a)
51
+ ok = tot == 4028 .and. r%s == 900
52
+ print '(a,i0)', 'tot= ', tot
53
+ print '(a,i0)', 's= ', r%s
54
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
55
+ end program t
56
+
57
+ ! site:
58
+ ! title: GCC Fortran: pointer component entered with alloc comes back with wrong values
59
+ ! summary: GCC returns wrong values for a Fortran pointer component entered with map(alloc:).
60
+ ! control: nested/controls/g2-ctl-entered-to.f90 one change from the finding; correct on gcc_g90, gcc_sm80
61
+ ! control: nested/controls/g2-ctl-allocatable.f90 one change from the finding; correct on gcc_g90, gcc_sm80
62
+ ! end site
@@ -0,0 +1,77 @@
1
+ ! # Finding (nested-data): GCC ICE in gimplify_adjust_omp_clauses: a pointer component of the root and the pointer components
2
+ ! # of the elements of an allocatable component array in one map list
3
+ !
4
+ ! - toolchains and modes that fail: gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); modes: copy; -O2
5
+ ! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90); gfortran -fopenmp
6
+ ! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
7
+ ! - failure: ice
8
+ ! - observed: `Please submit a full bug report, with preprocessed source (by using -freport-bug).`; identical signature on 2 of 2
9
+ ! failing cells
10
+ ! - expected: compiles and prints `tot= 24` with `check=pass`
11
+ ! - rule: pointer components are list items when they appear in a map clause ("The list items that appear in a map
12
+ ! clause may include array sections and structure elements", 5.2 §5.8.3 p.151 l.13); the construct names a pointer
13
+ ! component of the root and the pointer components of the elements of an allocatable array component, none of them the
14
+ ! base pointer of another item (5.2 §5.8.3 p.152 l.1-3)
15
+ ! - same-compiler control: controls/g5-ctl-element-pointers-only.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0),
16
+ ! gcc_sm80 (GCC 16.2.0); rows results/nested/red/gate_abd.jsonl, results/nested/red/gate_c.jsonl, results/nested/red/red3.jsonl,
17
+ ! results/nested/red/tuo7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl);
18
+ ! controls/g5-ctl-root-pointer-only.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); rows
19
+ ! results/nested/red/gate_abd.jsonl, results/nested/red/gate_c.jsonl, results/nested/red/red3.jsonl,
20
+ ! results/nested/red/tuo7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
21
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc
22
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) run the file correctly in managed mode (rows results/nested/red/tuo7.jsonl,
23
+ ! results/nested/red/wnv.jsonl, site rows, check case site-nested--gcc-fortran-root-and-element-pointer-components-ice); nvhpc
24
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) fail it another way in copy mode, e.g. `Failing in Thread:1`
25
+ ! - gate and confirmer: campaign gate of the programs below: 4 cells, 4 confirmed in the four environments (a-d; (c) on another node
26
+ ! or GPU; rows results/nested/main/gate_reruns.part.tioga37.2711328.jsonl,
27
+ ! results/nested/main/gate_reruns.part.tioga39.351539.jsonl,
28
+ ! results/nested/main/gate_reruns.part.wingtip.3374144.jsonl,
29
+ ! results/nested/main/gate_reruns.part.wingtip.3386107.jsonl,
30
+ ! results/nested/main/gate_reruns.part.wingtip.3582436.jsonl,
31
+ ! results/nested/main/gate_reruns.part.wingtip.3637854.jsonl,
32
+ ! results/nested/main/rows.part.tioga37.2691037.jsonl, results/nested/main/rows.part.wingtip.3363229.jsonl,
33
+ ! results/nested/main/rows.part.wingtip.3363230.jsonl)
34
+ ! - programs (2): nd-f-omp-tdata_nested-chain-d3-0fae50d2, nd-f-omp-tdata_nested-chain-d3-b0edb43f
35
+ ! - legality: the rules (offload.engine.rules) accept it and AFAR's flang front end accepts it
36
+ program t
37
+ use omp_lib
38
+ implicit none
39
+ type :: n1
40
+ integer, pointer :: a(:) => null()
41
+ end type n1
42
+ type :: n0
43
+ integer, pointer :: a(:) => null()
44
+ type(n1), allocatable :: nx(:)
45
+ end type n0
46
+ type(n0) :: r
47
+ integer :: q, hf, tot
48
+ logical :: ok
49
+ hf = 1
50
+ !$omp target map(from: hf)
51
+ hf = merge(1, 0, omp_is_initial_device())
52
+ !$omp end target
53
+ allocate(r%nx(2))
54
+ allocate(r%a(4))
55
+ allocate(r%nx(1)%a(4))
56
+ allocate(r%nx(2)%a(4))
57
+ r%a = 1
58
+ r%nx(1)%a = 2
59
+ r%nx(2)%a = 3
60
+ !$omp target enter data map(to: r)
61
+ !$omp target enter data map(to: r%a) map(to: r%nx(1)%a) map(to: r%nx(2)%a)
62
+ !$omp target map(tofrom: tot)
63
+ tot = sum(r%nx(1)%a) + sum(r%nx(2)%a) + sum(r%a)
64
+ !$omp end target
65
+ !$omp target exit data map(release: r%a) map(release: r%nx(1)%a) map(release: r%nx(2)%a)
66
+ !$omp target exit data map(release: r)
67
+ ok = tot == 24
68
+ print '(a,i0)', 'tot= ', tot
69
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
70
+ end program t
71
+
72
+ ! site:
73
+ ! title: GCC Fortran: compiler crash on root and element pointer components in one map list
74
+ ! summary: GCC crashes in gimplify_adjust_omp_clauses on a root pointer component and element pointer components in one map list.
75
+ ! control: nested/controls/g5-ctl-element-pointers-only.f90 one change from the finding; correct on gcc_g90, gcc_sm80
76
+ ! control: nested/controls/g5-ctl-root-pointer-only.f90 one change from the finding; correct on gcc_g90, gcc_sm80
77
+ ! end site
@@ -0,0 +1,55 @@
1
+ // # Finding (nested-data): NVHPC, separate memory: a target construct that lists the pointee of a pointer member before the
2
+ // # structure that holds the pointer fails with CUDA_ERROR_ILLEGAL_ADDRESS (the other order is correct)
3
+ //
4
+ // - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy; -O2
5
+ // - build: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ // - failure: run_error
7
+ // - observed: `exit_status: 1; without mandatory: exit_status: 1`; identical signature on 2 of 2 failing cells
8
+ // - expected: compiles and prints `tot= 1638` with `check=pass`
9
+ // - rule: attachment is decided on the storage of the whole construct: OpenMP 6.0 §7.9.6 p.284 l.8-10: "for which a
10
+ // corresponding pointer exists in the device data environment after all mappable storage blocks are mapped" (the
11
+ // OpenMP 5.2 text at §5.8.3 p.152 l.5-7 is worded for the state on entry and is weaker; the finding rests on the 6.0
12
+ // wording), so the order of the clauses of one construct does not change the result
13
+ // - same-compiler control: controls/v2-ctl-parent-first.c (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
14
+ // (NVHPC 26.9); rows results/nested/red/red13.jsonl, results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl,
15
+ // results/nested/red/wnv.jsonl); controls/v4-ctl-embedded-member.c (one change from this file; correct on nvhpc (NVHPC 25.11),
16
+ // nvhpc269 (NVHPC 26.9); rows results/nested/red/red13.jsonl, results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl,
17
+ // results/nested/red/wnv.jsonl)
18
+ // - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), gcc_g90
19
+ // (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run the file correctly (rows results/nested/red/red13.jsonl,
20
+ // results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl)
21
+ // - gate and confirmer: 2 of 2 cells reproduce in all four environments (a-d; (c) node not recorded for every cell; rows
22
+ // results/nested/red/wgate_abd.jsonl, results/nested/red/wgate_c.jsonl, results/nested/red/wnv.jsonl)
23
+ // - legality: the rules (offload.engine.rules) accept it; AFAR and CCE compile and run it correctly (front ends of two other
24
+ // families)
25
+ #include <stdio.h>
26
+ #include <stdlib.h>
27
+ #include <omp.h>
28
+ struct s1 { int a[8]; };
29
+ struct s0 { int v; struct s1 *nx; };
30
+ int main(void)
31
+ {
32
+ int hf = 1, i, tot = 0, ok;
33
+ #pragma omp target map(from: hf)
34
+ hf = omp_is_initial_device() ? 1 : 0;
35
+ struct s0 *r = malloc(sizeof *r);
36
+ r->v = 10;
37
+ r->nx = malloc(sizeof *r->nx);
38
+ for (i = 0; i < 8; i++) r->nx->a[i] = 200 + i;
39
+ #pragma omp target map(tofrom: tot) map(to: r->nx[0:1]) map(to: r[0:1])
40
+ {
41
+ tot += r->v;
42
+ for (int q = 0; q < 8; q++) tot += r->nx->a[q];
43
+ }
44
+ ok = tot == 1638;
45
+ printf("tot= %d\n", tot);
46
+ printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
47
+ return 0;
48
+ }
49
+
50
+ // site:
51
+ // title: NVHPC: pointee listed before its parent in one map list faults in separate memory
52
+ // summary: In separate memory NVHPC faults when a map list names a pointee before the structure holding the pointer.
53
+ // control: nested/controls/v2-ctl-parent-first.c one change from the finding; correct on nvhpc, nvhpc269
54
+ // control: nested/controls/v4-ctl-embedded-member.c one change from the finding; correct on nvhpc, nvhpc269
55
+ // end site
@@ -0,0 +1,86 @@
1
+ // # Finding (nested-data): NVHPC, separate memory: target update from() or exit data map(from:) of a structure whose pointer
2
+ // # member is attached copies the device pointer back, and the next host access to the pointee crashes
3
+ // # (SIGSEGV)
4
+ //
5
+ // - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy; -O2
6
+ // - build: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ // - failure: crash
8
+ // - observed: `crash: SIGSEGV; without mandatory: crash: SIGSEGV` (killed by signal SEGV); identical signature on 2 of 2 failing
9
+ // cells
10
+ // - expected: compiles and prints `ha= 4028` with `check=pass`
11
+ // - rule: OpenMP 5.2 §5.9 p.166 l.5-7: "if the corresponding list item is an attached pointer, the original list item
12
+ // will have the value it had on entry to the region": a target update from() of a structure must not overwrite its
13
+ // pointer member while the member is attached (the same holds when exit data map(from:) copies the structure back
14
+ // before the pointee is released)
15
+ // - same-compiler control: controls/nu3-ctl-update-pointee-only.c (one change from this file; correct on nvhpc (NVHPC 25.11),
16
+ // nvhpc269 (NVHPC 26.9); rows results/nested/red/tuo23.jsonl, results/nested/red/wgs6.jsonl, results/nested/red/wnv6.jsonl);
17
+ // controls/ns8-ctl-enter-together-exit-split.c (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9);
18
+ // rows results/nested/red/tuo22.jsonl, results/nested/red/tuo23.jsonl, results/nested/red/wgs4.jsonl,
19
+ // results/nested/red/wnv4.jsonl); controls/ns4-ctl-two-directives-struct-then-pointee.c (one change from this file; correct on
20
+ // nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/nested/red/red16.jsonl, results/nested/red/tuo22.jsonl,
21
+ // results/nested/red/wgs3.jsonl, results/nested/red/wnv3.jsonl)
22
+ // - other families: afar (AFAR 24.3.0), cce21_4 (CCE 21.0.4), gcc_sm80 (GCC 16.2.0) run the file correctly (rows
23
+ // results/nested/red/tuo23.jsonl, results/nested/red/wgs6.jsonl)
24
+ // - gate and confirmer: campaign gate of the programs below: 70 cells, 70 confirmed in the four environments (a-d; (c) on another
25
+ // node or GPU; rows results/nested/big/gate_reruns.part.wingtip.501872.jsonl,
26
+ // results/nested/big/gate_reruns.part.wingtip.501873.jsonl,
27
+ // results/nested/big/gate_reruns.part.wingtip.711615.jsonl,
28
+ // results/nested/big/gate_reruns.part.wingtip.724122.jsonl,
29
+ // results/nested/big/rows.part.wingtip.3693360.jsonl,
30
+ // results/nested/big/rows.part.wingtip.3790312.jsonl,
31
+ // results/nested/main/gate_reruns.part.wingtip.3582436.jsonl,
32
+ // results/nested/main/gate_reruns.part.wingtip.3582437.jsonl,
33
+ // results/nested/main/gate_reruns.part.wingtip.3637854.jsonl,
34
+ // results/nested/main/gate_reruns.part.wingtip.3639010.jsonl,
35
+ // results/nested/main/rows.part.wingtip.3363229.jsonl,
36
+ // results/nested/main/rows.part.wingtip.3363230.jsonl)
37
+ // - programs (35): nd-c-omp-enter-alias-d2-0f7b1c8d, nd-c-omp-enter-alias-d2-10f14204, nd-c-omp-enter-aliassub-d2-28acd136,
38
+ // nd-c-omp-enter-aliassub-d2-30b02f09, nd-c-omp-enter-aliassub-d2-3cc740c1, nd-c-omp-enter-aliassub-d2-fd23e3be,
39
+ // nd-c-omp-enter-chain-d1-7ce2e18f, nd-c-omp-enter-chain-d2-35aa80e0, nd-c-omp-enter-chain-d2-99ea7db8,
40
+ // nd-c-omp-enter-chain-d2-fb177d2e, nd-c-omp-enter-chain-d3-41b3b77f, nd-c-omp-enter-chain-d3-5bca046a,
41
+ // nd-c-omp-enter-chain-d3-c1680a02, nd-c-omp-enter-chain-d3-c2ca2645, nd-c-omp-enter-chain-d3-fc976865,
42
+ // nd-c-omp-enter-diamond-d3-07ab92f3, nd-c-omp-enter-diamond-d3-41750fb6, nd-c-omp-enter-diamond-d3-5e5ed99d,
43
+ // nd-c-omp-enter-diamond-d3-d5e537a9, nd-c-omp-enter-diamond-d3-f1a9c3e8, nd-c-omp-enter-list-d3-e11a72cd,
44
+ // nd-c-omp-enter-tree-d3-e0467211, nd-c-omp-update-alias-d2-684cb0b8, nd-c-omp-update-chain-d1-a679e114,
45
+ // nd-c-omp-update-chain-d2-1585f8af, nd-c-omp-update-chain-d2-2b8c33ae, nd-c-omp-update-chain-d2-44c37206,
46
+ // nd-c-omp-update-chain-d2-60aec85d, nd-c-omp-update-chain-d2-a3703a98, nd-c-omp-update-chain-d2-b6fcbb9f,
47
+ // nd-c-omp-update-chain-d2-cca853ce, nd-c-omp-update-chain-d2-db6ed5e2, nd-c-omp-update-chain-d3-5648fa65,
48
+ // nd-c-omp-update-chain-d3-a9134361, nd-c-omp-update-chain-d3-c5604bb2
49
+ // - legality: the rules (offload.engine.rules) accept it; AFAR and CCE compile and run it correctly (front ends of two other
50
+ // families)
51
+ #include <stdio.h>
52
+ #include <stdlib.h>
53
+ #include <omp.h>
54
+ enum { NM = 8 };
55
+ struct n0 { int s; int *a; };
56
+ int main(void)
57
+ {
58
+ int hf = 1, i, ha = 0, ok;
59
+ struct n0 *r = calloc(1, sizeof *r);
60
+ #pragma omp target map(from: hf)
61
+ hf = omp_is_initial_device() ? 1 : 0;
62
+ r->a = malloc(NM * sizeof(int));
63
+ r->s = -1;
64
+ for (i = 0; i < NM; i++) r->a[i] = -1;
65
+ #pragma omp target enter data map(alloc: r[0:1])
66
+ #pragma omp target enter data map(alloc: r->a[0:8])
67
+ #pragma omp target teams distribute parallel for
68
+ for (int q = 0; q < NM; q++) r->a[q] = 500 + q;
69
+ #pragma omp target update from(r[0:1])
70
+ #pragma omp target update from(r->a[0:8])
71
+ #pragma omp target exit data map(delete: r->a[0:8])
72
+ #pragma omp target exit data map(delete: r[0:1])
73
+ for (i = 0; i < NM; i++) ha += r->a[i];
74
+ ok = ha == 4028;
75
+ printf("ha= %d\n", ha);
76
+ printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
77
+ return 0;
78
+ }
79
+
80
+ // site:
81
+ // title: NVHPC: update from of a structure overwrites its attached pointer member
82
+ // summary: NVHPC update from() of a structure copies the device pointer back and the next host access crashes.
83
+ // control: nested/controls/nu3-ctl-update-pointee-only.c one change from the finding; correct on nvhpc, nvhpc269
84
+ // control: nested/controls/ns8-ctl-enter-together-exit-split.c one change from the finding; correct on nvhpc, nvhpc269
85
+ // control: nested/controls/ns4-ctl-two-directives-struct-then-pointee.c one change from the finding; correct on nvhpc, nvhpc269
86
+ // end site
@@ -0,0 +1,53 @@
1
+ ! NVHPC 25.11 and 26.9 (nvfortran), NVIDIA A100 80GB PCIe
2
+ ! (wingtip, sm_80): the Fortran form of nvhpc-c-acc-atomic-update-sum-ice.c.
3
+ ! nvfortran rejects the OpenACC atomic update b(i) = b(i) + 2*a(i) + 1
4
+ ! ("NVFORTRAN-S-0155-Invalid atomic update expression"), and in a gang loop
5
+ ! its front end then crashes ("nvfortran-Fatal-.../maintainers/fort2 TERMINATED by
6
+ ! signal 11"), at -O0 and -O2, for -acc=gpu and -acc=multicore. In a plain
7
+ ! parallel loop on a scalar (x = x + v + 1) it only rejects ("Invalid atomic
8
+ ! update expression", "Invalid atomic region"), without the crash.
9
+ ! Spec: one Fortran form of an atomic update is "x = x operator expr", and
10
+ ! "The expression x operator expr must be mathematically equivalent to x
11
+ ! operator (expr). This requirement is satisfied if the operators in expr
12
+ ! have precedence greater than operator, or by using parentheses around expr
13
+ ! or subexpressions of expr" (OpenACC 3.4 §2.12, p.79-80).
14
+ ! b(i) + 2*a(i) + 1 is (b(i) + 2*a(i)) + 1, which is b(i) + (2*a(i) + 1) for
15
+ ! integers: the precedence and parentheses forms are sufficient, not
16
+ ! necessary, so the statement is a legal update. Written
17
+ ! b(i) = b(i) + (2*a(i) + 1) it compiles and gives sum=4224.
18
+ ! Expected: "sum=4224" (a diagnostic would at least not be a crash).
19
+ ! Observed (2026-10-25, nvfortran 25.11-0 and 26.9-0, the flags below and
20
+ ! -O0, -acc=multicore): compile exit status 2 with the two messages above,
21
+ ! on both releases (log: data/evidence/acc_c_probe/atomic/run.log, gang.f90).
22
+ ! Found by the catalog: acc34-clause-gang, acc34-clause-gang-dim and
23
+ ! acc34-directive-loop, all gang loops: the front end crashes in 11 of their
24
+ ! 12 NVHPC cells (gang-dim on 25.11 in separate memory rejects without the
25
+ ! crash; results/acc_matrix.jsonl); reduced by hand. That rejection without the crash was 1 compile in 157;
26
+ ! the other 156 (the gate's reruns and the later repeats) crashed
27
+ ! (data/evidence/gate_probe/logs/wingtip1-4.log): the 12th cell crashes too, not
28
+ ! every time.
29
+ ! NVHPC: nvfortran -acc=gpu -gpu=cc80 -gpu=mem:separate -O2
30
+ program p
31
+ implicit none
32
+ integer, parameter :: n = 64
33
+ integer :: a(n), b(n), i
34
+ do i = 1, n
35
+ a(i) = i
36
+ b(i) = 0
37
+ end do
38
+ !$acc parallel num_gangs(4) copyin(a) copy(b)
39
+ !$acc loop gang
40
+ do i = 1, n
41
+ !$acc atomic update
42
+ b(i) = b(i) + 2*a(i) + 1
43
+ end do
44
+ !$acc end parallel
45
+ print '(a,i0)', 'sum=', sum(b)
46
+ end program p
47
+ ! site:
48
+ ! title: nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)
49
+ ! control: ../vendor/checks/src/nvhpc/control/nvhpc-acc-atomic-update-sum-fort2-crash-control.f90 b(i) = b(i) + (2*a(i) + 1), the
50
+ ! + right-hand side
51
+ ! + in parentheses
52
+ ! same_as: nvhpc-c-acc-atomic-update-sum-ice
53
+ ! end site
@@ -0,0 +1,43 @@
1
+ // NVHPC 25.11 and 26.9 (nvc), NVIDIA A100 80GB PCIe
2
+ // (wingtip, sm_80). nvc rejects the OpenACC atomic update x = x + v + 1
3
+ // ("NVC++-S-0155-Invalid atomic update expression") and then stops with an
4
+ // internal compiler error ("NVC++-F-0000-Internal compiler error. invalid ILM
5
+ // atomic region"), at -O0 and -O2, for -acc=gpu and -acc=multicore.
6
+ // Spec: one C form of an atomic update is "x = x binop expr", and "The
7
+ // expression x binop expr must be mathematically equivalent to x binop
8
+ // (expr). This requirement is satisfied if the operators in expr have
9
+ // precedence greater than binop, or by using parentheses around expr or
10
+ // subexpressions of expr" (OpenACC 3.4 §2.12, p.77-78). C parses the
11
+ // statement as (x + v) + 1, which is x + (v + 1) for int: the precedence and
12
+ // parentheses forms are sufficient, not necessary, so the statement is a
13
+ // legal update. The same update written x = x + (v + 1) or x += v + 1
14
+ // compiles and gives 2080.
15
+ // Fortran: nvfortran fails the same form the same way and, in a gang loop,
16
+ // its front end crashes (nvhpc-acc-atomic-update-sum-fort2-crash.f90).
17
+ // Expected: "x=2080" (a diagnostic would at least not be an internal error).
18
+ // Observed (2026-10-24, rerun 2026-10-25, nvc 25.11-0 and 26.9-0, the flags
19
+ // below, -O0 and -acc=multicore): compile exit status 2 with the two
20
+ // messages above, on both releases; the two other spellings print x=2080
21
+ // (log: data/evidence/acc_c_probe/atomic/run.log, sum.c, sum_paren.c,
22
+ // sum_compound.c).
23
+ // Found by the catalog: the C port of acc34-clause-gang, acc34-clause-gang-dim
24
+ // and acc34-directive-loop writes b[i - 1] = b[i - 1] + 2 * a[i - 1] + 1
25
+ // (the -binop programs: acc34-c-clause-gang-binop, acc34-c-clause-gang-dim-
26
+ // binop, acc34-c-directive-loop-binop); reduced by hand.
27
+ // NVHPC: nvc -acc=gpu -gpu=cc80 -gpu=mem:separate -O2
28
+ #include <stdio.h>
29
+ int main(void) {
30
+ int x = 0;
31
+ #pragma acc parallel loop copy(x)
32
+ for (int v = 0; v < 64; v++) {
33
+ #pragma acc atomic update
34
+ x = x + v + 1;
35
+ }
36
+ printf("x=%d\n", x);
37
+ return 0;
38
+ }
39
+ // site:
40
+ // title: nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)
41
+ // control: ../vendor/checks/src/nvhpc/control/nvhpc-c-acc-atomic-update-sum-ice-control.c x = x + (v + 1), the right-hand side in
42
+ // + parentheses
43
+ // end site
@@ -0,0 +1,41 @@
1
+ // NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80; the hang is
2
+ // in the compile on the x86-64 host), both memory modes: nvc does not
3
+ // finish compiling this program: its C front end (nvcpfe) runs until
4
+ // killed (more than 60 s here; the catalog's 900 s compile timeout in both
5
+ // memory modes). Without dist_schedule(static, 4), or with either of the
6
+ // two `if (i == 1)` statements removed, it compiles in a second.
7
+ // Spec: with dist_schedule(static, chunk_size) the chunks "are assigned to
8
+ // the initial teams of the league in a round-robin fashion in the order of
9
+ // the initial team number" (5.2 §11.6.1 p.256); the program is legal.
10
+ // Vendor: "The private, firstprivate, collapse, and dist_schedule(static [
11
+ // ,chunksize]) clauses are supported" (HPC Compilers User's Guide 25.11
12
+ // §7.4, 2.9.4).
13
+ // Expected: the compile ends (and the run prints "nt=<teams> host_flag=0").
14
+ // Observed (2026-10-24, nvc 25.11-0, -O2, with -gpu=mem:separate and with
15
+ // the default): `timeout 60 nvc ...` ends with status 124.
16
+ // Found by the catalog (omp52/60-c-clause-dist_schedule-chunk_size:
17
+ // compile_timeout, confirmer R10b-own-link-or-hang); reduced with a
18
+ // line-deletion script, then by hand.
19
+ // NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
20
+ // the same flags): still present -- the same: `timeout 120 nvc` ends with 124 in both modes.
21
+ // Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
22
+ // each with its own runtime libraries (LD_LIBRARY_PATH = the release's
23
+ // compilers/lib; the first 26.9 runs had loaded 25.11's): still present
24
+ // on both releases, the same output.
25
+ // NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
26
+ #include <stdio.h>
27
+ #include <omp.h>
28
+ int main(void) {
29
+ int nt = -1, host_flag = 1;
30
+ #pragma omp target teams distribute parallel for map(from: nt, host_flag) dist_schedule(static, 4)
31
+ for (int i = 1; i <= 64; i++) {
32
+ if (i == 1) nt = omp_get_num_teams();
33
+ if (i == 1) host_flag = (omp_is_initial_device() ? 1 : 0);
34
+ }
35
+ printf("nt=%d host_flag=%d\n", nt, host_flag);
36
+ return 0;
37
+ }
38
+ // site:
39
+ // title: nvc -mp=gpu: compile does not finish with dist_schedule(static, 4) on target teams distribute parallel for
40
+ // control: ../vendor/checks/src/nvhpc/control/nvhpc-c-dist-schedule-chunk-compile-hang-control.c dist_schedule(static, 4) removed
41
+ // end site
@@ -0,0 +1,42 @@
1
+ // NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory modes:
2
+ // nvc accepts the present map-type modifier and ignores it: a target
3
+ // construct with map(present, to: a) for an a that is not present runs on
4
+ // (it maps a), where the spec requires runtime error termination.
5
+ // Spec: "If a map clause with a present map-type-modifier appears on a
6
+ // construct and on entry to the region the corresponding list item is not
7
+ // present in the device data environment, runtime error termination is
8
+ // performed" (5.2 §5.8.3 p.152).
9
+ // Vendor: the 25.11 User's Guide names no present modifier (it lists
10
+ // always, close and mapper: §7.4, 2.19.7); nvfortran rejects the modifier
11
+ // at compile time (the Fortran catalog programs are rejected).
12
+ // Expected: runtime error termination before the printf.
13
+ // Observed (2026-10-24, nvc 25.11-0, -O2, OMP_TARGET_OFFLOAD=mandatory):
14
+ // "continued after map(present) of an absent a: b[63]=63", exit 0.
15
+ // The compile prints nothing (no warning, no message; exit 0) on 25.11 and
16
+ // 26.9.
17
+ // Found by the catalog (omp52/60-c-clause-map-present, negative probes:
18
+ // no_error_termination; confirmer R20-runtime-bug); reduced by hand.
19
+ // NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
20
+ // the same flags): still present -- the same: the run goes on (b[63]=63), both modes.
21
+ // Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
22
+ // each with its own runtime libraries (LD_LIBRARY_PATH = the release's
23
+ // compilers/lib; the first 26.9 runs had loaded 25.11's): still present
24
+ // on both releases, the same output.
25
+ // NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
26
+ // Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
27
+ #include <stdio.h>
28
+ int main(void) {
29
+ int a[64], b[64];
30
+ for (int i = 0; i < 64; i++) a[i] = i;
31
+ #pragma omp target map(present, to: a) map(from: b)
32
+ for (int i = 0; i < 64; i++)
33
+ b[i] = a[i];
34
+ printf("continued after map(present) of an absent a: b[63]=%d\n", b[63]);
35
+ return 0;
36
+ }
37
+ // site:
38
+ // title: nvc -mp=gpu: map(present, ...) of an absent variable is accepted and ignored (no error termination)
39
+ // control: ../vendor/checks/src/nvhpc/control/nvhpc-c-map-present-ignored-control.c a enclosed in target data map(to: a), so it is
40
+ // + present (the
41
+ // + run must reach the printf)
42
+ // end site
@@ -0,0 +1,92 @@
1
+ // (the reproduction gate's review queue): NVHPC 25.11 and 26.9 (nvc),
2
+ // NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory modes. nvc rejects the
3
+ // ordered construct in a target parallel for with the ordered clause
4
+ // ("NVC++-S-0155-for must have the ordered clause specified", at the ordered
5
+ // region), and
6
+ // its front end then INTERMITTENTLY crashes ("nvc-Fatal-.../maintainers/nvcpfe
7
+ // TERMINATED by signal 11", compile exit status 2) instead of ending with
8
+ // the diagnostic.
9
+ // Spec: an ordered region binds to the innermost enclosing worksharing-loop
10
+ // region; "An ordered clause with a parameter value equal to one must
11
+ // appear on the construct that corresponds to the binding region" (5.2
12
+ // §15.10.2 p.331 l.16-17), and "If n is not specified then the behavior is
13
+ // as if n is specified with the same value as is specified for the collapse
14
+ // clause on the construct" (§4.4.4 p.94 l.18-19), so the program is
15
+ // conforming (the ordered clause applies to the for leaf of the combined
16
+ // construct, §17.2).
17
+ // Vendor: "The ordered block construct is supported only for CPU targets"
18
+ // (HPC Compilers User's Guide 25.11 §7.4, 2.17.9;
19
+ // data/index/claims/nvidia-hpc-25.11-user-guide-openmp.txt:295, and :194 for the
20
+ // ordered clause): documented unsupported, so a diagnostic is expected
21
+ // (rule R11c: unsupported, not a bug). Two quality-of-implementation
22
+ // defects remain: the diagnostic's text is wrong (it says the for "must
23
+ // have the ordered clause specified" when the clause is there), and the
24
+ // front end then sometimes crashes. No spec text governs either: a LOWER
25
+ // TIER finding (fix; the compile fails either way, with
26
+ // the diagnostic printed first, as for nvhpc-parallel-if-in-target-nvvm-ice).
27
+ // Expected: "RESULT ran_on_host=0 check=pass", or the diagnostic alone.
28
+ // Observed (the source compiled by its absolute path in a fresh directory;
29
+ // nvcpfe crashes / compiles, by source):
30
+ // - nvc 26.9, -gpu=mem:separate: 31 of 58 = the logs 27 of 53 (wingtip2
31
+ // 21/32, wingtip3 4/15, wingtip4 2/6; data/evidence/gate_probe/logs/) + the
32
+ // reproduction gate's 4 reruns, 4 crashes + the
33
+ // stored catalog row, no crash (results/widen/matrix.jsonl);
34
+ // - nvc 25.11, -gpu=mem:managed: 26 of 52 = the logs 25 of 47 (wingtip2
35
+ // 18/32, wingtip3 3/9, wingtip4 4/6) + the gate's 4 reruns, no crash + the
36
+ // stored row, a crash (in its stderr);
37
+ // - nvc 26.9 managed: 6 of 7 (wingtip4 6/6; the stored row did not crash);
38
+ // - nvc 25.11 separate: 0 of 7 (wingtip4 0/6; the stored row did not).
39
+ // - A compile at a fixed path can crash or not (26.9 separate, a
40
+ // 37-character directory: 1 of 3; 25.11 managed, a 45-character path: 1
41
+ // of 3), so this is not a function of the path alone; long paths crash
42
+ // more often (26.9: none below 17 characters of directory name in the
43
+ // length sweep, wingtip2.log). Compiled as the relative name prog.c in the
44
+ // working directory: 0 of 80 (wingtip1.log; that also changes the file
45
+ // name, not only the path). The scripts: data/evidence/gate_probe/wingtip/round1-4/
46
+ // (those runs were not inside compliant.slice: see the scripts' notes).
47
+ // Control (same compilers, same flags): the same loop and ordered region
48
+ // without target (a host parallel for ordered, which the guide supports)
49
+ // compiles and prints "RESULT ran_on_host=1 check=pass" on both releases
50
+ // and both memory modes (data/evidence/gate_probe/logs/wingtip4.log).
51
+ // Another family: AFAR amdclang compiles the program and prints
52
+ // "RESULT ran_on_host=0 check=pass" on MI300A at HSA_XNACK 1 and 0 and on
53
+ // MI250X (results/widen/matrix*.jsonl). CCE craycc fails to link it
54
+ // (__kmpc_dispatch_init_4, data/findings/catalog/cce-c-ordered-link.c).
55
+ // Found by the widened catalog (omp52-c-w-ordered, the cells nvhpc/managed
56
+ // and nvhpc269/copy, reproduction-gate verdict environment); the program
57
+ // is the catalog program itself.
58
+ // NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2 $PWD/omp52-c-w-ordered.c
59
+ #include <stdio.h>
60
+ #include <stdbool.h>
61
+ #include <omp.h>
62
+
63
+ enum { n = 64 };
64
+
65
+ int main(void) {
66
+ int a[n], b[n], ref[n];
67
+ int host_flag = 1;
68
+ int cnt = 0;
69
+ for (int i = 0; i < n; i++) {
70
+ a[i] = i + 1;
71
+ b[i] = 0;
72
+ ref[i] = i + 1;
73
+ }
74
+ #pragma omp target parallel for ordered map(to: a) map(tofrom: b, cnt, host_flag)
75
+ for (int i = 0; i < n; i++) {
76
+ #pragma omp ordered
77
+ {
78
+ b[cnt] = a[i];
79
+ cnt = cnt + 1;
80
+ }
81
+ if (i == 0) host_flag = omp_is_initial_device();
82
+ }
83
+ bool ok = true;
84
+ for (int i = 0; i < n; i++)
85
+ ok = ok && (b[i] == ref[i]);
86
+ ok = ok && (cnt == n);
87
+ printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
88
+ return 0;
89
+ }
90
+ // site:
91
+ // title: nvc rejects ordered in a target parallel for with the ordered clause, and its front end then crashes intermittently
92
+ // end site
@@ -0,0 +1,62 @@
1
+ // NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory
2
+ // modes: nvc stops with "NVC++-F-0155-Compiler failed to translate OpenMP
3
+ // region" on a parallel for with firstprivate nested in a target region
4
+ // (the catalog's lastprivate program fails the same way; its
5
+ // schedule(monotonic: dynamic) program fails because it has
6
+ // firstprivate(mine), not because of the schedule).
7
+ // Spec: firstprivate on a worksharing-loop construct: each new list item
8
+ // "is initialized from the original list item that exists before the
9
+ // construct" (5.2 §5.4.4 p.112); the program is legal.
10
+ // Vendor: "The private, firstprivate, and collapse clauses are supported"
11
+ // (worksharing-loop) and "The num_threads, default, private,
12
+ // firstprivate, and shared clauses are supported" (parallel), HPC
13
+ // Compilers User's Guide 25.11 §7.4, 2.9.2 and 2.6. The guide's §2.20
14
+ // sentence "nested teams or parallel regions in a target region are not
15
+ // supported" is read as a parallel region nested in another parallel (or
16
+ // teams) region inside a target region; here the parallel region is the
17
+ // only one in the target region, the shape §7.4's parallel entry covers.
18
+ // Expected: "c=1 every b[i] % 100 == 1: yes", exit 0. Each thread's copy
19
+ // of c starts at 1 and grows by 100 per iteration it runs, so b[i] is
20
+ // 1 + 100k (k = iterations its thread ran before i; the schedule is
21
+ // implementation defined, so k is not known); the host's c is unchanged.
22
+ // Observed (2026-10-24, nvc 25.11-0, -O2; this check rerun the same day,
23
+ // separate and managed memory): compile exit status 2,
24
+ // "NVC++-F-0155-Compiler failed to translate OpenMP region (b1.c: 7)".
25
+ // The same with private(c) (c set in the loop) compiles and is correct;
26
+ // nvfortran compiles the Fortran form of the catalog program; gcc
27
+ // (host fallback) prints the expected line.
28
+ // Found by the catalog (omp52/60-c-clause-firstprivate, -lastprivate,
29
+ // -schedule-monotonic: confirmer R10-compile-ice); reduced by hand.
30
+ // NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
31
+ // the same flags): still present -- the same: "NVC++-F-0155-Compiler failed to translate OpenMP region", both modes.
32
+ // Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
33
+ // each with its own runtime libraries (LD_LIBRARY_PATH = the release's
34
+ // compilers/lib; the first 26.9 runs had loaded 25.11's): still present
35
+ // on both releases, the same output.
36
+ // NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
37
+ // Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
38
+ #include <stdio.h>
39
+ int main(void) {
40
+ int b[64];
41
+ int c = 1;
42
+ #pragma omp target map(from: b) map(tofrom: c)
43
+ {
44
+ #pragma omp parallel for default(none) shared(b) firstprivate(c)
45
+ for (int i = 0; i < 64; i++) {
46
+ b[i] = c;
47
+ c = c + 100;
48
+ }
49
+ }
50
+ int ok = (c == 1);
51
+ for (int i = 0; i < 64; i++)
52
+ ok = ok && (b[i] % 100 == 1);
53
+ printf("c=%d every b[i] %% 100 == 1: %s\n", c, ok ? "yes" : "no");
54
+ return ok ? 0 : 1;
55
+ }
56
+ // site:
57
+ // title: nvc -mp=gpu: "Compiler failed to translate OpenMP region" for firstprivate on a parallel for in a target region
58
+ // control: ../vendor/checks/src/nvhpc/control/nvhpc-c-parallel-for-firstprivate-in-target-control.c private(c) with c set to 1
59
+ // + in each
60
+ // + iteration
61
+ // + instead of firstprivate(c)
62
+ // end site