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,12 @@
1
+ program p
2
+ implicit none
3
+ integer :: r, i
4
+ r = 3
5
+ !$omp target parallel do map(tofrom: r) reduction(*: r)
6
+ do i = 1, 8
7
+ r = r * 2
8
+ end do
9
+ !$omp end target parallel do
10
+ print '(a,i0)', 'r= ', r
11
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', r == 768)
12
+ end program p
@@ -0,0 +1,15 @@
1
+ program p
2
+ implicit none
3
+ integer :: a(64), i, k
4
+ a = 0
5
+ k = 3
6
+ !$omp target parallel map(tofrom: a)
7
+ !$omp do
8
+ do i = 1, 64
9
+ a(i) = i + k
10
+ end do
11
+ !$omp end do nowait
12
+ !$omp end target parallel
13
+ print '(a,i0)', 'suma= ', sum(a)
14
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 2080 + 64 * 3)
15
+ end program p
@@ -0,0 +1,13 @@
1
+ program p
2
+ use omp_lib, only: omp_is_initial_device
3
+ implicit none
4
+ integer :: h
5
+ h = -1
6
+ !$omp target parallel map(tofrom: h)
7
+ !$omp single
8
+ h = merge(1, 0, omp_is_initial_device())
9
+ !$omp end single nowait
10
+ !$omp end target parallel
11
+ print '(a,i0)', 'h= ', h
12
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', h == 0)
13
+ end program p
@@ -0,0 +1,15 @@
1
+ program p
2
+ use omp_lib, only: omp_is_initial_device
3
+ implicit none
4
+ integer :: h
5
+ h = -1
6
+ !$omp target map(tofrom: h)
7
+ !$omp parallel
8
+ !$omp single
9
+ h = merge(1, 0, omp_is_initial_device())
10
+ !$omp end single
11
+ !$omp end parallel
12
+ !$omp end target
13
+ print '(a,i0)', 'h= ', h
14
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', h == 0)
15
+ end program p
@@ -0,0 +1,21 @@
1
+ program p
2
+ implicit none
3
+ integer, parameter :: n = 16, m = 4
4
+ integer :: ia(n), i, j
5
+ real(4) :: o1(n, m)
6
+ do i = 1, n
7
+ ia(i) = mod(i * 22 + 1, 97) - 35
8
+ end do
9
+ o1 = 0.0
10
+ !$omp target map(from: o1) map(to: ia)
11
+ !$omp simd collapse(2)
12
+ do i = 1, n
13
+ do j = 1, m
14
+ o1(i, j) = real(ia(i) + j, 4)
15
+ end do
16
+ end do
17
+ !$omp end simd
18
+ !$omp end target
19
+ print '(a,f0.2)', 'o1= ', o1(1, 1)
20
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', nint(o1(1, 1)) == ia(1) + 1)
21
+ end program p
@@ -0,0 +1,14 @@
1
+ program p
2
+ implicit none
3
+ integer :: a(16), b(16), i, t
4
+ b = 1
5
+ a = 0
6
+ !$omp target simd map(tofrom: a) map(to: b) private(t)
7
+ do i = 1, 16
8
+ t = b(i)
9
+ a(i) = t + i
10
+ end do
11
+ !$omp end target simd
12
+ print '(a,i0)', 'suma= ', sum(a)
13
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 152)
14
+ end program p
@@ -0,0 +1,19 @@
1
+ program p
2
+ implicit none
3
+ integer, parameter :: n = 16, m = 4
4
+ integer :: ia(n), i, j
5
+ real(4) :: o1(n, m)
6
+ do i = 1, n
7
+ ia(i) = mod(i * 22 + 1, 97) - 35
8
+ end do
9
+ o1 = 0.0
10
+ !$omp target simd map(from: o1) map(to: ia)
11
+ do i = 1, n
12
+ do j = 1, m
13
+ o1(i, j) = real(ia(i) + j, 4)
14
+ end do
15
+ end do
16
+ !$omp end target simd
17
+ print '(a,f0.2)', 'o1= ', o1(1, 1)
18
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', nint(o1(1, 1)) == ia(1) + 1)
19
+ end program p
@@ -0,0 +1,15 @@
1
+ program p
2
+ implicit none
3
+ integer :: a(16), b(16), i, t
4
+ b = 1
5
+ a = 0
6
+ !$omp target map(tofrom: a) map(to: b)
7
+ !$omp simd private(t)
8
+ do i = 1, 16
9
+ t = b(i)
10
+ a(i) = t + i
11
+ end do
12
+ !$omp end target
13
+ print '(a,i0)', 'suma= ', sum(a)
14
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 152)
15
+ end program p
@@ -0,0 +1,66 @@
1
+ ! # Finding (GCC 16.2, fuzz sample): a declare reduction in a module is not found through use association
2
+ !
3
+ ! - toolchains: gcc_g90 (GCC 16.2.0, AMD Instinct MI250X gfx90a, Tioga) and gcc_sm80 (GCC 16.2.0, NVIDIA A100 sm_80, wingtip);
4
+ ! separate memory only; -O2
5
+ ! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90);
6
+ ! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
7
+ ! - failure: rejected: !$OMP DECLARE REDUCTION padd not found
8
+ ! - observed: `Error: !$OMP DECLARE REDUCTION padd not found at (1)` at the reduction clause, on both targets; the same happens on a
9
+ ! host parallel do
10
+ ! - expected: compiles; prints `s%a= 5050 s%b= 100` and `RESULT ran_on_host=0 check=pass`
11
+ ! - rule: "If the reduction identifier is defined in a declare reduction directive, the declare reduction directive must be in the
12
+ ! same subprogram, or accessible by host or use association" (5.2 §5.5.5 p.133 l.10-11): the directive is in module pair_m, which
13
+ ! the program uses.
14
+ ! - same-compiler control (compiles; correct, gcc_sm80: mandatory pass 5 of 5; unset pass 5 of 5; gcc_g90: mandatory pass 5 of 5;
15
+ ! unset pass 5 of 5 (results/parity/<machine>/<tc>/probes.jsonl)): the same declare reduction directive in the program's own
16
+ ! specification part (controls/gcc-declare-reduction-module-control.f90).
17
+ ! - GCC's documentation: no row of libgomp.texi's tables names it (undocumented; user-defined reductions are OpenMP 4.0's).
18
+ ! - other families: no family runs this file: CCE 19/20/21/21.0.4 reject the reduction clause too, AFAR's front end accepts it and
19
+ ! its link fails (flang_rt_verbose_abort undefined) and NVHPC 25.11/26.9 do not implement declare reduction (site matrix); on the
20
+ ! fuzz programs every other family fails at another construct first. The claim rests on the rule and on GCC's own control. The
21
+ ! site's finding matrix runs this file on every compiler.
22
+ ! - fuzz programs (380 cells (190 gcc_g90, 190 gcc_sm80); gate: confirmed 380; confirmer: needs_human (R12b-compile-undecided) 380):
23
+ ! n1:121, n1:22, n1:234, n1:31, n1:312, n1:362, n1:371, n1:41, n1:428, n1:430, n1:511, n1:748, n1:804, n1:809, n1:813, n1:832,
24
+ ! n1:841, n1:939, n1:944, n1:987, s1:1198, s1:1204, s1:1205, s1:1222, s1:1240, s1:1261, s1:1300, s1:1344, s1:1362, s1:1375,
25
+ ! s1:1455, s1:1556, s1:1610, s1:1631, s1:1723, s1:1727, s1:1802, s1:1849, s1:1899, s1:1957, and 150 more (the index entry lists
26
+ ! them)
27
+ ! - legality: two witnesses that are neither GCC nor a compiler this finding is about, offload.engine.rules and AFAR flang's
28
+ ! front end,
29
+ ! accept this file and its control (offload.engine.prerun.check; results/parity/tioga/results/parity/legality.jsonl) and the fuzz
30
+ ! programs (the campaign's legality gate; its base-language check, gfortran -std=f2008 without OpenMP, is a syntax check of the
31
+ ! base language only and no witness). GCC is a compiler under test only and never a legality witness.
32
+ module pair_m
33
+ implicit none
34
+ type :: pair_t
35
+ integer :: a, b
36
+ end type pair_t
37
+ !$omp declare reduction(padd: pair_t: omp_out = &
38
+ !$omp& pair_t(omp_out%a + omp_in%a, omp_out%b + omp_in%b)) &
39
+ !$omp& initializer(omp_priv = pair_t(0, 0))
40
+ end module pair_m
41
+
42
+ program udr_use_association
43
+ use omp_lib, only: omp_is_initial_device
44
+ use pair_m
45
+ implicit none
46
+ type(pair_t) :: s
47
+ integer :: i, host_flag
48
+ s = pair_t(0, 0)
49
+ host_flag = 1
50
+ !$omp target teams distribute parallel do reduction(padd: s) map(tofrom: s, host_flag)
51
+ do i = 1, 100
52
+ if (i == 1) host_flag = merge(1, 0, omp_is_initial_device())
53
+ s%a = s%a + i
54
+ s%b = s%b + 1
55
+ end do
56
+ print '(a,i0,a,i0)', 's%a= ', s%a, ' s%b= ', s%b
57
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', s%a == 5050 .and. s%b == 100)
58
+ end program udr_use_association
59
+ ! site:
60
+ ! title: A declare reduction in a module is not found through use association
61
+ ! summary: A user-defined reduction declared in a module's specification part is accessible through use association. GCC
62
+ ! + 16.2's Fortran front end rejects its use in a target teams distribute parallel do reduction clause ("!$OMP DECLARE
63
+ ! + REDUCTION padd not found"), for both offload targets and on the host. With the declare reduction directive in the
64
+ ! + program's own specification part the program compiles and runs correctly.
65
+ ! control: fuzz/controls/gcc-declare-reduction-module-control.f90 the declare reduction directive in the program itself
66
+ ! end site
@@ -0,0 +1,58 @@
1
+ ! # Finding (GCC 16.2, fuzz sample): a Fortran array section with a stride in a target update motion clause is rejected
2
+ !
3
+ ! - toolchains: gcc_g90 (GCC 16.2.0, AMD Instinct MI250X gfx90a, Tioga) and gcc_sm80 (GCC 16.2.0, NVIDIA A100 sm_80, wingtip);
4
+ ! separate memory only; -O2
5
+ ! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90);
6
+ ! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
7
+ ! - failure: rejected: Array is not contiguous
8
+ ! - observed: `Error: Array is not contiguous at (1)` and `Error: Stride should not be specified for array section in FROM clause at
9
+ ! (1)` at the target update directive, on both targets
10
+ ! - expected: compiles; prints `bad= 0` and `RESULT ran_on_host=0 check=pass` (only the odd elements come back)
11
+ ! - rule: "The target update construct ... was modified to allow array sections that specify discontiguous storage" (5.2 §B.4 p.634
12
+ ! l.3-4, the changes from 4.5 to 5.0); the contiguous-storage restriction is the map clause's (5.2 §5.8.3 p.155 l.10), not the
13
+ ! motion clauses'.
14
+ ! - GCC's documentation: libgomp.texi, OpenMP 5.0 table: "Discontiguous array section with target update construct: N" (not
15
+ ! supported, documented). The C form is harvest/gcc-c-strided-section-rejected.c.
16
+ ! - other families: AFAR, CCE and NVHPC fail this file another way (site matrix; AFAR's own strided-update finding is
17
+ ! harvest/afar-flang-strided-target-update.f90). The site's finding matrix runs this file on every compiler.
18
+ ! - fuzz programs (116 cells (58 gcc_g90, 58 gcc_sm80); gate: confirmed 116; confirmer: needs_human (R12b-compile-undecided) 106,
19
+ ! compiler_bug (R11-compile-rejection) 10): s1:1040, s1:1692, s1:1792, s1:2014, s1:2084, s1:2160, s1:2267, s1:2617, s1:2744,
20
+ ! s1:2949, s1:2970, s1:3049, s1:3197, s1:3219, s1:3392, s1:3457, s1:3503, s1:3685, s1:4207, s1:4477, s1:4501, s1:4655, s1:4680,
21
+ ! s1:4788, s1:5088, s1:5371, s1:5383, s1:547, s1:5522, s1:562, s1:6125, s1:6197, s1:6430, s1:6554, s1:6670, s1:6685, s1:6831,
22
+ ! s1:6915, s1:7055, s1:7099, and 18 more (the index entry lists them)
23
+ ! - legality: two witnesses that are neither GCC nor a compiler this finding is about, offload.engine.rules and AFAR flang's front
24
+ ! end, accept this file (offload.engine.prerun.check; results/parity/tioga/results/parity/legality.jsonl) and the fuzz programs
25
+ ! (the campaign's legality gate; its base-language check, gfortran -std=f2008 without OpenMP, is a syntax check of the base
26
+ ! language only and no witness). GCC is a compiler under test only and never a legality witness.
27
+ program target_update_strided
28
+ use omp_lib, only: omp_is_initial_device
29
+ implicit none
30
+ integer, parameter :: n = 16
31
+ integer :: a(n), i, bad, host_flag
32
+ a = -1
33
+ !$omp target enter data map(to: a)
34
+ host_flag = 1
35
+ !$omp target map(tofrom: host_flag)
36
+ host_flag = merge(1, 0, omp_is_initial_device())
37
+ do i = 1, n
38
+ a(i) = i
39
+ end do
40
+ !$omp end target
41
+ ! every second element: a(1), a(3), ..., a(15)
42
+ !$omp target update from(a(1:n:2))
43
+ !$omp target exit data map(delete: a)
44
+ bad = 0
45
+ do i = 1, n
46
+ if (mod(i, 2) == 1 .and. a(i) /= i) bad = bad + 1
47
+ if (mod(i, 2) == 0 .and. a(i) /= -1) bad = bad + 1
48
+ end do
49
+ print '(a,i0)', 'bad= ', bad
50
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', bad == 0)
51
+ end program target_update_strided
52
+ ! site:
53
+ ! title: A Fortran array section with a stride in a target update motion clause is rejected
54
+ ! summary: OpenMP 5.0 allows array sections that specify discontiguous storage in target update. GCC 16.2 rejects
55
+ ! + from(a(1:n:2)) ("Array is not contiguous") for both offload targets; its documentation lists discontiguous array sections
56
+ ! + in target update as not supported.
57
+ ! same_as: harvest/gcc-c-strided-section-rejected
58
+ ! end site
@@ -0,0 +1,54 @@
1
+ ! # Finding (GCC 16.2, fuzz sample): the same array in map and nontemporal of target simd is rejected (Fortran)
2
+ !
3
+ ! - toolchains: gcc_g90 (GCC 16.2.0, AMD Instinct MI250X gfx90a, Tioga) and gcc_sm80 (GCC 16.2.0, NVIDIA A100 sm_80, wingtip);
4
+ ! separate memory only; -O2
5
+ ! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90);
6
+ ! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
7
+ ! - failure: rejected: present on multiple clauses
8
+ ! - observed: `Error: Symbol 'o' present on multiple clauses at (1)` at the nontemporal clause, on both targets; the C form
9
+ ! (results/parity/probes-r2/nontemporal_c.c) compiles and runs correctly on both (mandatory pass 5 of 5; unset pass 5 of 5)
10
+ ! - expected: compiles; prints `bad= 0` and `RESULT ran_on_host=0 check=pass`
11
+ ! - rule: on a combined construct each clause applies to the leaf constructs that allow it (5.2 §17.2 p.341): map to target,
12
+ ! nontemporal to simd; nontemporal is no data-sharing attribute clause, so the map restriction "A list item cannot appear in both
13
+ ! a map clause and a data-sharing attribute clause on the same construct" does not apply.
14
+ ! - same-compiler control (compiles; correct, gcc_sm80: mandatory pass 5 of 5; unset pass 5 of 5; gcc_g90: mandatory pass 5 of 5;
15
+ ! unset pass 5 of 5 (results/parity/<machine>/<tc>/probes.jsonl)): the same construct without nontemporal
16
+ ! (controls/gcc-target-simd-map-nontemporal-control.f90).
17
+ ! - GCC's documentation: no row of libgomp.texi's tables names it (undocumented; nontemporal is OpenMP 5.0's).
18
+ ! - other families: AFAR and CCE 19/20/21/21.0.4 run this file correctly in both memory modes; NVHPC 25.11/26.9 fail it another way
19
+ ! (site matrix). The site's finding matrix runs this file on every compiler.
20
+ ! - fuzz programs (44 cells (22 gcc_g90, 22 gcc_sm80); gate: confirmed 44; confirmer: needs_human (R12b-compile-undecided) 35,
21
+ ! compiler_bug (R11-compile-rejection) 9): b0:227, b0:294, c1:1350, c1:1688, c1:1721, c1:18, c1:209, c1:227, c1:427, c1:469,
22
+ ! s1:1336, s1:1608, s1:2321, s1:327, s1:3745, s1:4530, s1:9979, x0-alloc:191, x0-declare:70, x0-multitu:111, x0-multitu:227,
23
+ ! x0-types:220
24
+ ! - legality: two witnesses that are neither GCC nor a compiler this finding is about, offload.engine.rules and AFAR flang's
25
+ ! front end,
26
+ ! accept this file and its control (offload.engine.prerun.check; results/parity/tioga/results/parity/legality.jsonl) and the fuzz
27
+ ! programs (the campaign's legality gate; its base-language check, gfortran -std=f2008 without OpenMP, is a syntax check of the
28
+ ! base language only and no witness). GCC is a compiler under test only and never a legality witness.
29
+ program target_simd_map_nontemporal
30
+ use omp_lib, only: omp_is_initial_device
31
+ implicit none
32
+ integer, parameter :: n = 64
33
+ integer :: o(n), i, bad, host_flag
34
+ o = 0
35
+ host_flag = 1
36
+ !$omp target map(tofrom: host_flag)
37
+ host_flag = merge(1, 0, omp_is_initial_device())
38
+ !$omp end target
39
+ ! map applies to the target leaf, nontemporal to the simd leaf
40
+ !$omp target simd map(tofrom: o) nontemporal(o)
41
+ do i = 1, n
42
+ o(i) = 2 * i
43
+ end do
44
+ bad = count(o /= [(2 * i, i = 1, n)])
45
+ print '(a,i0)', 'bad= ', bad
46
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', bad == 0)
47
+ end program target_simd_map_nontemporal
48
+ ! site:
49
+ ! title: The same array in map and nontemporal clauses of a Fortran target simd construct is rejected
50
+ ! summary: On target simd, map applies to the target leaf and nontemporal to the simd leaf. GCC 16.2's Fortran front end
51
+ ! + rejects an array named in both ("present on multiple clauses") for both offload targets; the C form compiles and runs. Without
52
+ ! + nontemporal the program compiles and runs correctly.
53
+ ! control: fuzz/controls/gcc-target-simd-map-nontemporal-control.f90 the same construct without nontemporal
54
+ ! end site
@@ -0,0 +1,84 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: reading an allocatable component of a derived-type variable that the target construct maps
2
+ ! # whole (implicitly or with map(to:)) ends in CUDA_ERROR_ILLEGAL_ADDRESS in separate memory; with the component itself in a
3
+ ! # map clause the result is right
4
+ !
5
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy; -O2
6
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ ! - failure: run_error
8
+ ! - observed: `Accelerator Fatal Error: call to cuMemcpyDtoHAsync returned error 700 (CUDA_ERROR_ILLEGAL_ADDRESS): Illegal
9
+ ! address during kernel execution`, exit status 1, and the same without OMP_TARGET_OFFLOAD=mandatory (the rows' stderr; the
10
+ ! harness's reason reads `exit_status: 1; without mandatory: exit_status: 1`); identical signature on 2 of 2 failing cells
11
+ ! (separate memory; in managed memory the program is correct)
12
+ ! - expected: compiles and prints `sum= 1360` with `check=pass`
13
+ ! - rule: "If a variable is not a scalar then it is treated as if it had appeared in a map clause with a map-type of tofrom."
14
+ ! (5.2 §5.8.1 p.149 l.4-5) maps dr whole, and "If a component of a derived type list item is a map clause list item that
15
+ ! results from the predefined default mapper for that derived type" (5.2 §5.8.3 p.151 l.29-30) names the components the
16
+ ! default mapper maps; the only latitude for an allocatable component applies when it "is present in the device data
17
+ ! environment when the construct is encountered" (5.2 §5.8.3 p.151 l.34-37), which dr%q is not: its storage is mapped with dr
18
+ ! and the kernel may read it
19
+ ! - vendor: "The map clause is supported as described in 2.19.7" on the target construct (item 2.12.5) and "Data Mapping
20
+ ! Attribute Rules, Clauses, and Directives" (item 2.19.7) (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP;
21
+ ! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt); the guide names no limit on allocatable components
22
+ ! - same-compiler control: controls/nvhpc-allocatable-component-mapped-control.f90 (one change from this file; correct on nvhpc
23
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ac.jsonl, results/parity/nvs1/wt.ac.jsonl);
24
+ ! controls/nvhpc-allocatable-component-unreferenced-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11),
25
+ ! nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ac.jsonl, results/parity/nvs1/wt.ac.jsonl)
26
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
27
+ ! file correctly (rows results/parity/nvs1/tuo.ac.jsonl)
28
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.ac.jsonl (both releases,
29
+ ! separate and managed memory) and results/parity/nvs1/tuo.ac.jsonl: dr in map(to: dr)
30
+ ! (nvhpc-allocatable-component-map-to-variant.f90), the loop as teams distribute
31
+ ! (nvhpc-allocatable-component-teams-distribute-variant.f90), the kernel in an internal procedure with dr an intent(inout)
32
+ ! dummy (nvhpc-allocatable-component-dummy-variant.f90, the seeds' shape) and the output a declare target module array read
33
+ ! back with target update (nvhpc-allocatable-component-declare-target-output-variant.f90, seed 6329's shape) all fail the same
34
+ ! way in separate memory and are correct in managed memory. Every program below reads dr%q in its kernel with dr mapped whole.
35
+ ! Seed 1994 carries the c1 depend finding's message (cuEventQuery error 700) but not its trigger: its depend list names only
36
+ ! variables present through target enter data (the shape that finding leaves uncounted), and once its depend clauses are
37
+ ! removed it fails this way, at cuMemcpyDtoHAsync (exploration); it is counted nowhere. Seed 6719, which maps dr%q itself and
38
+ ! crashes AFAR and CCE 21 too, is not counted either
39
+ ! - gate and confirmer: 2 of 2 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
40
+ ! results/parity/nvs1/gate_abd.ac.jsonl, results/parity/nvs1/gate_c.ac.jsonl, results/parity/nvs1/wt.ac.jsonl); campaign gate of
41
+ ! the programs below: 14 cells, 14 confirmed in the four environments (a-d; (c) on another node or GPU; rows
42
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
43
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
44
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl,
45
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
46
+ ! - programs (7): par-s1-nvhpc-nvhpc269:2670, par-s1-nvhpc-nvhpc269:4516, par-s1-nvhpc-nvhpc269:4913, par-s1-nvhpc-nvhpc269:5351,
47
+ ! par-s1-nvhpc-nvhpc269:5538, par-s1-nvhpc-nvhpc269:6329, par-s1-nvhpc-nvhpc269:2004
48
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
49
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.ac.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
50
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.ac.jsonl). NVHPC is the compiler under
51
+ ! test and is not counted as a witness
52
+ program p
53
+ implicit none
54
+ type :: rec_t
55
+ integer :: a(16)
56
+ integer, allocatable :: q(:)
57
+ end type rec_t
58
+ type(rec_t) :: dr
59
+ integer :: o(16), i
60
+ allocate(dr%q(16))
61
+ do i = 1, 16
62
+ dr%a(i) = i
63
+ dr%q(i) = 10 * i
64
+ end do
65
+ o = 0
66
+ !$omp target map(from: o)
67
+ do i = 1, 16
68
+ o(i) = dr%q(i)
69
+ end do
70
+ !$omp end target
71
+ print '(a,i0)', 'sum= ', sum(o)
72
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(o) == 1360)
73
+ end program p
74
+
75
+ ! site:
76
+ ! title: allocatable component of a mapped structure: illegal address
77
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly when a target region reads an allocatable component of a derived-type
78
+ ! + variable that is mapped whole, implicitly or with map(to:), in separate memory: the kernel ends in
79
+ ! + CUDA_ERROR_ILLEGAL_ADDRESS. With the component itself in a map clause, when only a non-allocatable component is read, or in
80
+ ! + managed memory, the result is right.
81
+ ! control: fuzz/controls/nvhpc-allocatable-component-mapped-control.f90 one change from the finding; correct on nvhpc, nvhpc269
82
+ ! control: fuzz/controls/nvhpc-allocatable-component-unreferenced-control.f90 one change from the finding; correct on nvhpc,
83
+ ! + nvhpc269
84
+ ! end site
@@ -0,0 +1,69 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC 25.11: an assumed-length character dummy argument in a map clause of a target region stops
2
+ ! # the compile with an internal compiler error ("size_of: attempt to size assumed size character"); with an explicit length it
3
+ ! # compiles and runs correctly, and 26.9 compiles both
4
+ !
5
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11); modes: copy, managed; -O2
6
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ ! - failure: rejected
8
+ ! - observed: `NVFORTRAN-S-0000-Internal compiler error. size_of: attempt to size assumed size character 0
9
+ ! (<tmpdir>/nvhpc-assumed-length-character-dummy-map-`; identical signature on 2 of 2 failing cells
10
+ ! - expected: compiles and prints `r= 78` with `check=pass`
11
+ ! - rule: "The map clause specifies how an original list item is mapped from the current task's data environment to a
12
+ ! corresponding list item in the device data environment" (5.2 §5.8.3 p.151 l.8-9): an assumed-length character dummy is a
13
+ ! character scalar variable whose length is that of the actual argument, a list item like any other scalar
14
+ ! - vendor: "The map clause is supported as described in 2.19.7" on the target construct (NVIDIA HPC Compilers User's Guide
15
+ ! 26.9, Using OpenMP, item 2.12.5; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
16
+ ! - same-compiler control: controls/nvhpc-explicit-length-character-dummy-control.f90 (one change from this file; correct on nvhpc
17
+ ! (NVHPC 25.11); rows results/parity/nvs1/tuo.ch.jsonl, results/parity/nvs1/wt.ch.jsonl)
18
+ ! - other families: afar (AFAR 24.3.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the file correctly
19
+ ! (rows results/parity/nvs1/tuo.ch.jsonl); cce19 (CCE 19.0.0) fail it another way, e.g. `ftn-7032 ftn: ERROR KP1, File =
20
+ ! ../../nvhpc-assumed-length-character-dummy-map-ice.f90, Line = 15`
21
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.ch.jsonl (both releases,
22
+ ! separate and managed memory) and results/parity/nvs1/tuo.ch.jsonl: the dummy mapped implicitly
23
+ ! (nvhpc-assumed-length-character-dummy-implicit-variant.f90) fails the same way on 25.11 and is correct on 26.9; NVHPC 26.9
24
+ ! compiles and runs this file correctly in both memory modes (results/parity/nvs1/wt.ch.jsonl and the gate rows), the same
25
+ ! family, not a witness. The s1 program 8930 fails on 26.9 at run time ("Present table errors" at the same dummy): with the
26
+ ! dummy given an explicit length the whole seed runs with the expected checksum on both releases (exploration), but no small
27
+ ! program reproduced the 26.9 failure
28
+ ! - gate and confirmer: 2 of 2 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
29
+ ! results/parity/nvs1/gate_abd.ch.jsonl, results/parity/nvs1/gate_abd.ch.m2.jsonl, results/parity/nvs1/gate_c.ch.jsonl,
30
+ ! results/parity/nvs1/gate_c.ch.m2.jsonl, results/parity/nvs1/wt.ch.jsonl); campaign gate of the programs below: 1 cells, 1
31
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
32
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
33
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
34
+ ! - programs (1): par-s1-nvhpc-nvhpc269:8930; seed 8781 on 25.11 carries the same ICE message in its cell's stderr behind a
35
+ ! first diagnostic of SIMDLEN not implemented (a character(len=*) dummy in map(always, tofrom:)), so it is not counted; on
36
+ ! 26.9 that seed runs with a wrong checksum
37
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its control and the variant above
38
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.ch.txt); AFAR 24.3.0 and CCE 20/21/21.0.4
39
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.ch.jsonl); CCE 19 rejects character
40
+ ! data in target regions ("Unsupported OpenMP construct Fortran character"), its own documented limit
41
+ ! (afar-cce19-character-defaultmap.f90). NVHPC 26.9 compiles and runs this file correctly but is not counted as a witness:
42
+ ! NVHPC is the compiler under test
43
+ program p
44
+ implicit none
45
+ integer :: r
46
+ character(len=8) :: xs
47
+ xs = 'NnLXCqNL'
48
+ r = 0
49
+ call kp1(xs, r)
50
+ print '(a,i0)', 'r= ', r
51
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', r == ichar('N'))
52
+ contains
53
+ subroutine kp1(xs, r)
54
+ character(len=*), intent(in) :: xs
55
+ integer, intent(inout) :: r
56
+ !$omp target map(to: xs) map(tofrom: r)
57
+ r = ichar(xs(1:1))
58
+ !$omp end target
59
+ end subroutine kp1
60
+ end program p
61
+
62
+ ! site:
63
+ ! title: assumed-length character dummy in a map clause: ICE
64
+ ! summary: nvfortran 25.11 -mp=gpu appears to behave incorrectly on an assumed-length character dummy argument
65
+ ! + (character(len=*)) named in a map clause of a target region, or mapped implicitly: the compile stops with the internal
66
+ ! + compiler error "size_of: attempt to size assumed size character". With an explicit length it compiles and runs correctly;
67
+ ! + 26.9 compiles and runs both.
68
+ ! control: fuzz/controls/nvhpc-explicit-length-character-dummy-control.f90 one change from the finding; correct on nvhpc
69
+ ! end site
@@ -0,0 +1,70 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: a teams distribute parallel do with reduction, lastprivate and default(none) crashes the
2
+ ! # front end (fort1 killed by signal 11); without default(none), or with default(shared), it compiles and runs correctly
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: ice
7
+ ! - observed: `nvfortran-Fatal-$NVHPC_25_11/compilers/bin/tools/fort1 TERMINATED by signal 11`; identical signature on 4 of 4
8
+ ! failing cells
9
+ ! - expected: compiles and prints `suma= 36 r= 36` with `check=pass`
10
+ ! - rule: "If data-sharing-attribute is none, each variable that is referenced in the construct and does not have a
11
+ ! predetermined data-sharing attribute must have its data-sharing attribute explicitly determined by being listed in a
12
+ ! data-sharing attribute clause." (5.2 §5.4.1 p.109 l.15-17): r and lp are listed in the reduction and lastprivate clauses, a
13
+ ! in shared, and the loop variable i is predetermined private, so the program meets the restriction
14
+ ! - vendor: "The num_threads, default, private, firstprivate, and shared clauses" are supported on the parallel construct and
15
+ ! "The reduction clause is supported" (items 2.6 and 2.19.5); "The lastprivate clause is supported" on the worksharing loop
16
+ ! (item 2.9.2) (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
17
+ ! - same-compiler control: controls/nvhpc-default-none-removed-control.f90 (one change from this file; correct on nvhpc (NVHPC
18
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.st.jsonl, results/parity/nvs1/wt.st.jsonl);
19
+ ! controls/nvhpc-default-shared-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9);
20
+ ! rows results/parity/nvs1/tuo.st.jsonl, results/parity/nvs1/wt.st.jsonl)
21
+ ! - other families: cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the file correctly
22
+ ! (rows results/parity/nvs1/tuo.st.jsonl); afar (AFAR 24.3.0) fail it another way: `not yet implemented: lastprivate clause in
23
+ ! constructs other than simd/worksharing-loop/taskloop` in its lowering (AFAR's own limit; the same on both controls and the
24
+ ! variant)
25
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.st.jsonl (both releases,
26
+ ! separate and managed memory) and results/parity/nvs1/tuo.st.jsonl: default(none) kept and the reduction removed
27
+ ! (nvhpc-default-none-reduction-removed-variant.f90) compiles and is correct, so the crash needs the three clauses together.
28
+ ! The programs check the array and the reduction only: neither release copies the lastprivate value of a distribute loop back
29
+ ! (lp stays 0), the documented limit "The lastprivate clause is not supported" on distribute (item 2.9.4). The seed's simd,
30
+ ! firstprivate and num_threads clauses, its declare target module structure and its allocatable component are irrelevant
31
+ ! (exploration)
32
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
33
+ ! results/parity/nvs1/gate_abd.st.jsonl, results/parity/nvs1/gate_abd.st.m2.jsonl, results/parity/nvs1/gate_c.st.jsonl,
34
+ ! results/parity/nvs1/gate_c.st.m2.jsonl, results/parity/nvs1/wt.st.jsonl); campaign gate of the programs below: 2 cells, 2
35
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
37
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl)
38
+ ! - programs (1): par-s1-nvhpc-nvhpc269:8009
39
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variant above
40
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.st.txt); CCE 19/20/21/21.0.4 compile and run
41
+ ! all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.st.jsonl); AFAR 24.3.0 stops on every one of them in
42
+ ! its lowering (`not yet implemented: lastprivate clause in constructs other than simd/worksharing-loop/taskloop`,
43
+ ! results/parity/nvs1/tuo.st.jsonl), AFAR's own limit. NVHPC is the compiler under test and is not counted as a witness
44
+ program p
45
+ implicit none
46
+ integer :: a(8), i, lp, r
47
+ a = 0
48
+ lp = 0
49
+ r = 0
50
+ !$omp target map(tofrom: a, r) map(from: lp)
51
+ !$omp teams distribute parallel do reduction(+: r) lastprivate(lp) default(none) shared(a)
52
+ do i = 1, 8
53
+ a(i) = i
54
+ r = r + i
55
+ lp = i
56
+ end do
57
+ !$omp end teams distribute parallel do
58
+ !$omp end target
59
+ print '(a,i0,a,i0)', 'suma= ', sum(a), ' r= ', r
60
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 36 .and. r == 36)
61
+ end program p
62
+
63
+ ! site:
64
+ ! title: default(none) with reduction and lastprivate: compiler crash
65
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a teams distribute parallel do construct that has a reduction, a
66
+ ! + lastprivate and a default(none) clause: the front end is killed by signal 11. Without default(none), or with
67
+ ! + default(shared), it compiles and runs correctly.
68
+ ! control: fuzz/controls/nvhpc-default-none-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
69
+ ! control: fuzz/controls/nvhpc-default-shared-control.f90 one change from the finding; correct on nvhpc, nvhpc269
70
+ ! end site
@@ -0,0 +1,71 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: defaultmap(firstprivate: scalar) on a target construct whose parallel do has a lastprivate
2
+ ! # clause stops the compile with an internal compiler error ("offset should not be overridden"); without the clause, or with
3
+ ! # defaultmap(tofrom: scalar), it compiles and runs correctly
4
+ !
5
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
6
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ ! - failure: rejected
8
+ ! - observed: `NVFORTRAN-F-0000-Internal compiler error. offset should not be overridden 321
9
+ ! (<tmpdir>/nvhpc-defaultmap-firstprivate-lastprivate-ice.f90: 12)`; identical signature on 4 of 4 failing cells
10
+ ! - expected: compiles and prints `suma= 36 lp= 8` with `check=pass`
11
+ ! - rule: "If implicit-behavior is firstprivate, the attribute is a data-sharing attribute of firstprivate." (5.2 §5.8.7 p.162
12
+ ! l.5-6): the clause sets the implicit attribute of the scalars the construct does not list; here lp is mapped explicitly and
13
+ ! the loop variable is predetermined private, so the clause changes no variable's attribute
14
+ ! - vendor: "The defaultmap clause is supported using OpenMP 5.0 semantics" (NVIDIA HPC Compilers User's Guide 26.9, Using
15
+ ! OpenMP, item 2.12.5; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt); firstprivate is a 5.0 implicit-behavior
16
+ ! - same-compiler control: controls/nvhpc-defaultmap-firstprivate-removed-control.f90 (one change from this file; correct on nvhpc
17
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.dm.jsonl, results/parity/nvs1/wt.dm.jsonl);
18
+ ! controls/nvhpc-defaultmap-tofrom-lastprivate-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
19
+ ! (NVHPC 26.9); rows results/parity/nvs1/tuo.dm.jsonl, results/parity/nvs1/wt.dm.jsonl)
20
+ ! - other families: cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the file correctly (rows
21
+ ! results/parity/nvs1/tuo.dm.jsonl); afar (AFAR 24.3.0) fail it another way, e.g. `LLVM ERROR: aborting`
22
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.dm.jsonl (both releases,
23
+ ! separate and managed memory) and results/parity/nvs1/tuo.dm.jsonl: the lastprivate variable left unmapped, so that the
24
+ ! defaultmap applies to it (nvhpc-defaultmap-firstprivate-lastprivate-unmapped-variant.f90), fails the same way; the combined
25
+ ! target teams distribute parallel do with the same clauses (nvhpc-defaultmap-firstprivate-lastprivate-combined-variant.f90)
26
+ ! compiles but does not copy the lastprivate value back (lp = 0 on 26.9, an uninitialized value on 25.11), the documented
27
+ ! limit "The lastprivate clause is not supported" on distribute (item 2.9.4). The seed's kernel nests the parallel do
28
+ ! lastprivate in teams distribute lastprivate and adds schedule(dynamic, 7); without the defaultmap the seed's shape is
29
+ ! rejected for the dynamic schedule on 25.11 ("Only static schedule kind is supported for GPU") and compiles on 26.9
30
+ ! (exploration)
31
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
32
+ ! results/parity/nvs1/gate_abd.dm.jsonl, results/parity/nvs1/gate_abd.dm.m2.jsonl, results/parity/nvs1/gate_c.dm.jsonl,
33
+ ! results/parity/nvs1/gate_c.dm.m2.jsonl, results/parity/nvs1/wt.dm.jsonl); campaign gate of the programs below: 2 cells, 2
34
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
37
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl,
38
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
39
+ ! - programs (1): par-s1-nvhpc-nvhpc269:9895; the same ICE message is in the stderr of seed 1555's cells on both releases
40
+ ! (defaultmap(firstprivate: scalar) on a target construct with do lastprivate inside), whose first diagnostic is the
41
+ ! unrecognized declare directive of its module, so it is not counted
42
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
43
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.dm.txt); CCE 19/20/21/21.0.4 compile and run
44
+ ! this file, its controls and the unmapped variant correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.dm.jsonl); AFAR
45
+ ! 24.3.0 runs both controls correctly and stops on every file with defaultmap(firstprivate: scalar) in its lowering ("not yet
46
+ ! implemented", results/parity/nvs1/tuo.dm.jsonl), AFAR's own limit. NVHPC is the compiler under test and is not counted as a
47
+ ! witness
48
+ program p
49
+ implicit none
50
+ integer :: a(8), j, lp
51
+ a = 0
52
+ lp = 0
53
+ !$omp target map(tofrom: a, lp) defaultmap(firstprivate: scalar)
54
+ !$omp parallel do lastprivate(lp)
55
+ do j = 1, 8
56
+ a(j) = j
57
+ lp = j
58
+ end do
59
+ !$omp end target
60
+ print '(a,i0,a,i0)', 'suma= ', sum(a), ' lp= ', lp
61
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 36 .and. lp == 8)
62
+ end program p
63
+
64
+ ! site:
65
+ ! title: defaultmap(firstprivate: scalar) with lastprivate: ICE
66
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a target construct with defaultmap(firstprivate: scalar) that
67
+ ! + contains a parallel do with a lastprivate clause: the compile stops with the internal compiler error "offset should not be
68
+ ! + overridden". Without the defaultmap clause, or with defaultmap(tofrom: scalar), it compiles and runs correctly.
69
+ ! control: fuzz/controls/nvhpc-defaultmap-firstprivate-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
70
+ ! control: fuzz/controls/nvhpc-defaultmap-tofrom-lastprivate-control.f90 one change from the finding; correct on nvhpc, nvhpc269
71
+ ! end site