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 @@
1
+ [{"id":"afar-cce19-character-defaultmap","page":"afar-cce19-character-defaultmap","title":"A Fortran character scalar referenced in a target region is treated as a firstprivate scalar (writes lost)","constructs":["defaultmap"]},{"id":"cce19-target-parallel-guarded-loop","page":"cce19-target-parallel-guarded-loop","title":"A sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["target parallel"]},{"id":"cce19-target-parallel-single-ice","page":"cce19-target-parallel-single-ice","title":"Constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["single","target parallel"]},{"id":"afar-cce19-task-in-target-ice","page":"afar-cce19-task-in-target-ice","title":"Constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["task","taskwait"]},{"id":"afar-loop-bind-thread-in-teams","page":"afar-loop-bind-thread-in-teams","title":"amdflang: loop bind(thread) closely nested in teams rejected (\"BIND(TEAMS) must be specified\")","constructs":["bind","num_teams","loop","teams"]},{"id":"cce21-defaultmap-aggregate-flag","page":"cce21-defaultmap-aggregate-flag","title":"With a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with defaultmap(tofrom) an array in map(alloc) or map(to) is copied back","constructs":["defaultmap"]},{"id":"multithread-allocatable-section-maps","page":"multithread-allocatable-section-maps","title":"Two host threads mapping disjoint halves of an allocatable array lose one half","constructs":["num_threads","parallel do"]},{"id":"target-update-sections-in-parallel","page":"target-update-sections-in-parallel","title":"ftn: target update from(b(lo:hi)) inside a host parallel region moves no data in copy mode (HSA_XNACK=0)","constructs":["target update"]},{"id":"cce21-in-reduction-taskwait-link","page":"cce21-in-reduction-taskwait-link","title":"ftn: in_reduction on a target construct fails to link (undefined _cray$mt_taskwait in the device code)","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"cce-acc-init-set-runtime-assert","page":"cce-acc-init-set-runtime-assert","title":"ftn -h acc: !$acc init and !$acc set default_async abort in the runtime (\"Incorrect device type set\")","constructs":["async","copy","default_async","init","parallel loop","set","wait"]},{"id":"cce-acc-routine-bind-module-ice","page":"cce-acc-routine-bind-module-ice","title":"ftn -h acc: internal compiler error \"Object DEV_VAL is host associated to itself\" for routine bind between two module procedures","constructs":["bind","copyout","seq","parallel loop","routine"]},{"id":"cce-uses-allocators-traits-omp50","page":"cce-uses-allocators-traits-omp50","title":"ftn: OpenMP 5.0 form uses_allocators(my_alloc(my_traits)) rejected as a function reference (ftn-451)","constructs":["allocate","uses_allocators","parallel do"]},{"id":"afar-flang-task-reduction-max","page":"afar-flang-task-reduction-max","title":"amdflang: task_reduction(max: r) / in_reduction(max: r) rejected (\"Internal: no symbol found for 'max'\")","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"afar-flang-loop-bind-teams-reduction","page":"afar-flang-loop-bind-teams-reduction","title":"amdflang: reduction on loop bind(teams) nested in a target teams region rejected","constructs":["bind","reduction","loop","target teams"]},{"id":"afar-flang-thread-limit-target-parallel-do","page":"afar-flang-thread-limit-target-parallel-do","title":"amdflang: thread_limit on target parallel do rejected","constructs":["thread_limit","target parallel do"]},{"id":"afar-flang-firstprivate-map-two-targets","page":"afar-flang-firstprivate-map-two-targets","title":"amdflang: firstprivate(p1) on one target and map(to: p1) on a later target rejected as if on the same construct","constructs":[]},{"id":"clang-c-shared-declare-target-combined","page":"clang-c-shared-declare-target-combined","title":"A declare target variable listed in shared on target teams loop is read with its host value","constructs":["shared","target teams loop"]},{"id":"cce-c-map-present-assert","page":"cce-c-map-present-assert","title":"craycc: every map with the present (or close) modifier aborts in the runtime: Assertion `clang_flags == 0' failed","constructs":["target data"]},{"id":"afar-clang-requires-device-safesync-hang","page":"afar-clang-requires-device-safesync-hang","title":"amdclang -fopenmp-version=60: compile does not finish on #pragma omp requires device_safesync","constructs":["device_safesync","requires"]},{"id":"cce-c-parallel-for-in-target","page":"cce-c-parallel-for-in-target","title":"craycc: parallel for schedule(static) in a target region runs 1 of 64 iterations","constructs":["parallel for"]},{"id":"cce-c-dist-schedule-segv","page":"cce-c-dist-schedule-segv","title":"craycc: dist_schedule(static) on target teams distribute parallel for crashes (SIGSEGV) at HSA_XNACK=1","constructs":["dist_schedule"]},{"id":"cce-c-openmp45-device-link","page":"cce-c-openmp45-device-link","title":"craycc -fopenmp-version=45: omp_is_initial_device called in a target region is an undefined symbol at the device link","constructs":[]},{"id":"afar-c-error-directive-in-target-link","page":"afar-c-error-directive-in-target-link","title":"amdclang -fopenmp-version=60: error at(compilation) severity(warning) in a target region fails at the device link (__kmpc_error undefined)","constructs":["at","message","severity","error"]},{"id":"clang-c-linear-directive-name-hang","page":"clang-c-linear-directive-name-hang","title":"Linear(x: for, step(2)) sends the front end into an endless loop after \"too many errors\"","constructs":["linear","parallel for"]},{"id":"afar-nontemporal-assumed-shape-ice","page":"afar-nontemporal-assumed-shape-ice","title":"amdflang: \"verification of lowering to FIR failed\" for nontemporal on an assumed-shape dummy","constructs":["do","nontemporal","simd","target teams distribute parallel"]},{"id":"afar-xnack1-atomic-min-nested-parallel","page":"afar-xnack1-atomic-min-nested-parallel","title":"amdflang at HSA_XNACK=1: atomic min in a parallel do nested in target teams distribute with an allocatable array faults (write to a read-only page)","constructs":["min","atomic","parallel do"]},{"id":"afar-udr-derived-type-link","page":"afar-udr-derived-type-link","title":"amdflang: declare reduction on a derived type used in a target loop fails at the device link (flang runtime symbols undefined)","constructs":["do","initializer","reduction","declare","target teams distribute parallel"]},{"id":"cce-mapper-next-map-copy-back","page":"cce-mapper-next-map-copy-back","title":"ftn in copy mode: the map list item after a map clause with a mapper modifier is not copied back","constructs":["mapper"]},{"id":"afar-c-update-iterator-copy-mode","page":"afar-c-update-iterator-copy-mode","title":"amdclang at HSA_XNACK=0: target update with an iterator modifier moves no data","constructs":["iterator"]},{"id":"cce-c-map-delete-refcount","page":"cce-c-map-delete-refcount","title":"craycc: map(delete:) on target exit data acts as release for an array entered twice (still present)","constructs":["delete"]},{"id":"afar-xnack1-target-is-present","page":"afar-xnack1-target-is-present","title":"AFAR offload runtime at HSA_XNACK=1: omp_target_is_present returns false after target enter data, and map(present) of an absent item does not terminate","constructs":["target enter data"]},{"id":"afar-c-xnack1-target-is-present","page":"afar-c-xnack1-target-is-present","title":"AFAR offload runtime at HSA_XNACK=1: omp_target_is_present returns false after target enter data, and map(present) of an absent item does not terminate","constructs":["target enter data"]},{"id":"afar-xnack1-present-not-enforced","page":"afar-xnack1-present-not-enforced","title":"AFAR offload runtime at HSA_XNACK=1: omp_target_is_present returns false after target enter data, and map(present) of an absent item does not terminate","constructs":["present"]},{"id":"cce-defaultmap-tofrom-explicit-map","page":"cce-defaultmap-tofrom-explicit-map","title":"With a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with defaultmap(tofrom) an array in map(alloc) or map(to) is copied back","constructs":["defaultmap"]},{"id":"fortran-schedule-static-in-target","page":"fortran-schedule-static-in-target","title":"Schedule(static, 4) and schedule(static) on a parallel do in a target region deal iterations out one at a time","constructs":["schedule"]},{"id":"fortran-loop-bind-thread-in-parallel","page":"fortran-loop-bind-thread-in-parallel","title":"A sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["bind","loop"]},{"id":"clang-c-declare-target-to-omp52","page":"clang-c-declare-target-to-omp52","title":"Declare target to(f) rejected (\"unexpected 'to' clause, use 'enter' instead\")","constructs":["device_type","declare target"]},{"id":"clang-c-map-iterator-omp51","page":"clang-c-map-iterator-omp51","title":"OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":[]},{"id":"defaultmap-none-loop-variable","page":"defaultmap-none-loop-variable","title":"Defaultmap(none) rejected although every referenced variable has a data-environment attribute (ftn-1964)","constructs":["defaultmap"]},{"id":"cce21-linear-modifier-default-none","page":"cce21-linear-modifier-default-none","title":"ftn: internal compiler error \"ACC - barrier/reset/protected last private not supported\" for linear and lastprivate on a loop in a target region","constructs":["linear","parallel do"]},{"id":"fuzz/s1-4339-afar","page":"fuzz--s1-4339-afar","title":"AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)","constructs":[]},{"id":"fuzz/s1-6760-cce20","page":"fuzz--s1-6760-cce20","title":"ftn rejects the enter clause of declare target (the OpenMP 5.2 name of the to clause)","constructs":["enter"]},{"id":"fuzz/s1-6888-cce21","page":"fuzz--s1-6888-cce21","title":"ftn: target update to(a(1:n:2)) rejected (ftn-1747, stride must not be greater than 1)","constructs":["target update"]},{"id":"fuzz/s1-2370-cce21","page":"fuzz--s1-2370-cce21","title":"ftn: firstprivate(i) on a parallel do nested in a teams distribute loop over i rejected under default(none) (ftn-1510)","constructs":["parallel do"]},{"id":"fuzz/s1-8634-cce21","page":"fuzz--s1-8634-cce21","title":"ftn: internal compiler error (optcg signal 11) for a character scalar in target enter data / exit data","constructs":["target enter data","target exit data"]},{"id":"fuzz/s1-2592-cce21","page":"fuzz--s1-2592-cce21","title":"ftn: internal compiler error \"Should never reach this code (doehmke)\" for in_reduction on target reading a character substring","constructs":["defaultmap","in_reduction","task_reduction","taskgroup"]},{"id":"fuzz/s1-3463-cce21","page":"fuzz--s1-3463-cce21","title":"ftn: internal compiler error \"Error getting dope vector information\" mapping a component section of a structure dummy","constructs":["initializer","reduction","declare"]},{"id":"fuzz/s1-6085-cce21","page":"fuzz--s1-6085-cce21","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["initializer","reduction","declare","target teams","target teams loop"]},{"id":"fuzz/s1-9914-cce19","page":"fuzz--s1-9914-cce19","title":"ftn 19 does not finish compiling target regions with map(always, tofrom:) of a structure component and a depend on a declare target array","constructs":["depend","thread_limit","declare target"]},{"id":"fuzz/s1-91-cce21","page":"fuzz--s1-91-cce21","title":"ftn: default(none) on a parallel construct in one internal subroutine makes a variable of another subroutine's target region an error (ftn-1510)","constructs":["masked","parallel","target data"]},{"id":"catalog/afar-c-ordered-doacross-link","page":"catalog--afar-c-ordered-doacross-link","title":"amdclang: ordered(1) on a parallel for in a target region fails at the device link (__kmpc_doacross_init undefined)","constructs":["ordered","parallel for"]},{"id":"catalog/afar-c-reduction-task-link","page":"catalog--afar-c-reduction-task-link","title":"amdclang: reduction(task, +: s) on a worksharing loop in a target region fails at the device link (__kmpc_taskred_modifier_init undefined)","constructs":["reduction","for","parallel"]},{"id":"catalog/afar-flang-reduction-task-ice","page":"catalog--afar-flang-reduction-task-ice","title":"amdflang: \"Call parameter type does not match function signature!\" for sections, and for reduction(task), in a target region","constructs":["reduction","do","parallel"]},{"id":"catalog/afar-flang-linear-parallel-ice","page":"catalog--afar-flang-linear-parallel-ice","title":"amdflang: compiler crash in OpenMPIRBuilder::createParallel for linear on a parallel do in a target region","constructs":["linear","parallel do"]},{"id":"catalog/afar-flang-workdistribute-ice","page":"catalog--afar-flang-workdistribute-ice","title":"amdflang -fopenmp-version=60: compiler crash in MapInfoOp for target teams workdistribute","constructs":["target","declare","target teams workdistribute"]},{"id":"catalog/afar-flang-reduction-minus-rejected","page":"catalog--afar-flang-reduction-minus-rejected","title":"amdflang: the deprecated - reduction identifier in task_reduction/in_reduction is rejected as not supported","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"catalog/afar-flang-dist-schedule-chunk","page":"catalog--afar-flang-dist-schedule-chunk","title":"amdflang: dist_schedule(static, 4) is not applied: 64 iterations over 4 teams go to teams 0 and 1 in two blocks of 32","constructs":["dist_schedule","target teams distribute parallel"]},{"id":"catalog/afar-flang-ordered-wrong","page":"catalog--afar-flang-ordered-wrong","title":"amdflang: ordered regions in a parallel do in a target region do not run in iteration order","constructs":["ordered","ordered","parallel do"]},{"id":"catalog/cce-c-device-type-directive-name-ice","page":"catalog--cce-c-device-type-directive-name-ice","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["device_type","enter","declare target"]},{"id":"catalog/cce-c-map-iterator-ice","page":"catalog--cce-c-map-iterator-ice","title":"OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["target enter data","target exit data"]},{"id":"catalog/cce-c-reduction-inscan-ice","page":"catalog--cce-c-reduction-inscan-ice","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["inclusive","reduction","parallel for","scan"]},{"id":"catalog/cce21-c-target-loop-ice","page":"catalog--cce21-c-target-loop-ice","title":"craycc: internal compiler error on the 6.0 combined construct target loop instead of a diagnostic","constructs":["target","declare","target loop"]},{"id":"catalog/cce20-c-defaultmap-private-storage-rejected","page":"catalog--cce20-c-defaultmap-private-storage-rejected","title":"craycc rejects defaultmap(private) (OpenMP 6.0)","constructs":["defaultmap"]},{"id":"catalog/cce-c-allocate-align-link","page":"catalog--cce-c-allocate-align-link","title":"craycc: allocate(allocator(...), align(8): t) in a target region fails at the device link (__kmpc_aligned_alloc undefined)","constructs":["allocate","uses_allocators","parallel for"]},{"id":"catalog/cce-c-ordered-link","page":"catalog--cce-c-ordered-link","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["ordered","ordered","parallel for"]},{"id":"catalog/cce-c-ordered-doacross-link","page":"catalog--cce-c-ordered-doacross-link","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["ordered","parallel for"]},{"id":"catalog/cce-c-task-in-target-link","page":"catalog--cce-c-task-in-target-link","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["parallel","task","taskwait"]},{"id":"catalog/cce-c-reduction-task-link","page":"catalog--cce-c-reduction-task-link","title":"ftn/craycc: reduction(task, +: s) on a worksharing loop in a target region fails at the device link (taskred_modifier_init undefined)","constructs":["reduction","for","parallel"]},{"id":"catalog/cce-c-allocate-allocator-modifier-rejected","page":"catalog--cce-c-allocate-allocator-modifier-rejected","title":"craycc rejects the allocator modifier of the allocate clause","constructs":["allocate","uses_allocators","parallel for"]},{"id":"catalog/cce-c-motion-iterator-rejected","page":"catalog--cce-c-motion-iterator-rejected","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["target enter data","target exit data","target update"]},{"id":"catalog/cce-c-uses-allocators-traits-rejected","page":"catalog--cce-c-uses-allocators-traits-rejected","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["allocate","uses_allocators","parallel for"]},{"id":"catalog/cce21-c-declare-target-local-rejected","page":"catalog--cce21-c-declare-target-local-rejected","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["local","declare target"]},{"id":"catalog/cce-c-dist-schedule-chunk","page":"catalog--cce-c-dist-schedule-chunk","title":"craycc: dist_schedule(static, 4) on target teams distribute parallel for puts every iteration on team 0","constructs":["dist_schedule","for","num_teams","target teams distribute parallel"]},{"id":"catalog/cce-linear-lastprivate-ice","page":"catalog--cce-linear-lastprivate-ice","title":"ftn: internal compiler error \"ACC - barrier/reset/protected last private not supported\" for linear and lastprivate on a loop in a target region","constructs":["linear","parallel do"]},{"id":"catalog/cce-allocators-stack-ice","page":"catalog--cce-allocators-stack-ice","title":"ftn: internal compiler error \"Too few arguments on the stack\" for uses_allocators with an allocate clause in a target region","constructs":["allocate","uses_allocators","parallel do"]},{"id":"catalog/cce-reduction-inscan-ice","page":"catalog--cce-reduction-inscan-ice","title":"ftn: internal compiler error on reduction(inscan) with a scan directive","constructs":["inclusive","reduction","parallel do","scan"]},{"id":"catalog/cce19-reduction-task-addrspacecast-ice","page":"catalog--cce19-reduction-task-addrspacecast-ice","title":"ftn 19: internal compiler error (invalid addrspacecast) on reduction(task)","constructs":["reduction","do","parallel"]},{"id":"catalog/cce-atomic-default-mem-order-acquire-release-rejected","page":"catalog--cce-atomic-default-mem-order-acquire-release-rejected","title":"craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic","constructs":["atomic_default_mem_order","do","requires","target teams distribute parallel"]},{"id":"catalog/cce20-map-self-rejected","page":"catalog--cce20-map-self-rejected","title":"ftn 20 rejects the self map-type modifier (OpenMP 6.0)","constructs":[]},{"id":"catalog/cce-iterator-link","page":"catalog--cce-iterator-link","title":"ftn: target update from(iterator(k = 1:1): b(k:n)) fails at the host link (OmpIt$k undefined)","constructs":["target enter data","target exit data","target update"]},{"id":"catalog/cce-c-f-pointer-device-link","page":"catalog--cce-c-f-pointer-device-link","title":"ftn: C_F_POINTER called in a target region fails at the device link (_C_F_POINTER undefined)","constructs":["is_device_ptr","use_device_ptr","target data"]},{"id":"catalog/cce-reduction-task-link","page":"catalog--cce-reduction-task-link","title":"ftn/craycc: reduction(task, +: s) on a worksharing loop in a target region fails at the device link (taskred_modifier_init undefined)","constructs":["reduction","do","parallel"]},{"id":"nvhpc-acc-atomic-update-sum-fort2-crash","page":"nvhpc-acc-atomic-update-sum-fort2-crash","title":"nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)","constructs":["copy","copyin","gang","num_gangs","atomic update","loop","parallel"]},{"id":"nvhpc-c-acc-atomic-update-sum-ice","page":"nvhpc-c-acc-atomic-update-sum-ice","title":"nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)","constructs":["atomic update"]},{"id":"nvhpc-managed-acc-shutdown-host-access","page":"nvhpc-managed-acc-shutdown-host-access","title":"nvfortran -acc -gpu=mem:managed: host access to an allocatable after !$acc shutdown ends in SIGSEGV","constructs":["shutdown"]},{"id":"nvhpc-parallel-if-in-target-nvvm-ice","page":"nvhpc-parallel-if-in-target-nvvm-ice","title":"nvfortran/nvc -mp=gpu: if clause on a parallel loop in a target region gives an internal NVVM error instead of the documented diagnostic","constructs":["if"]},{"id":"nvhpc-c-parallel-for-firstprivate-in-target","page":"nvhpc-c-parallel-for-firstprivate-in-target","title":"nvc -mp=gpu: \"Compiler failed to translate OpenMP region\" for firstprivate on a parallel for in a target region","constructs":["firstprivate"]},{"id":"nvhpc-dist-schedule-chunk-illegal-address","page":"nvhpc-dist-schedule-chunk-illegal-address","title":"nvfortran -mp=gpu: dist_schedule(static, 4) on target teams distribute parallel do ends in CUDA_ERROR_ILLEGAL_ADDRESS","constructs":["dist_schedule"]},{"id":"nvhpc-defaultmap-from-allocatable-indexing","page":"nvhpc-defaultmap-from-allocatable-indexing","title":"nvfortran -mp=gpu: defaultmap(from) or defaultmap(alloc) shifts explicitly mapped allocatable arrays","constructs":["defaultmap"]},{"id":"nvhpc-defaultmap-firstprivate-explicit-map","page":"nvhpc-defaultmap-firstprivate-explicit-map","title":"Defaultmap(firstprivate) drops the copy-back of explicitly mapped variables","constructs":["defaultmap"]},{"id":"nvhpc-depend-inoutset-ignored","page":"nvhpc-depend-inoutset-ignored","title":"nvfortran -mp=gpu: depend(inoutset) on target nowait accepted and ignored, wrong answer","constructs":["depend"]},{"id":"nvhpc-c-map-present-ignored","page":"nvhpc-c-map-present-ignored","title":"Map(present, ...) of an absent variable is accepted and ignored (no error termination)","constructs":["map"]},{"id":"nvhpc-c-dist-schedule-chunk-compile-hang","page":"nvhpc-c-dist-schedule-chunk-compile-hang","title":"nvc -mp=gpu: compile does not finish with dist_schedule(static, 4) on target teams distribute parallel for","constructs":["dist_schedule"]},{"id":"nvhpc-c-parallel-if-in-target-nvvm-ice","page":"nvhpc-c-parallel-if-in-target-nvvm-ice","title":"nvfortran/nvc -mp=gpu: if clause on a parallel loop in a target region gives an internal NVVM error instead of the documented diagnostic","constructs":["if"]},{"id":"catalog/afar-flang-absent-optional-target-crash","page":"catalog--afar-flang-absent-optional-target-crash","title":"An absent OPTIONAL dummy array referenced with PRESENT() in a target region crashes the run","constructs":["base.device.optional_absent"]},{"id":"catalog/afar-flang-critical-target-parallel-wrong","page":"catalog--afar-flang-critical-target-parallel-wrong","title":"amdflang: an unnamed critical in a target parallel do does not exclude other threads (lost updates)","constructs":["critical","target parallel do"]},{"id":"catalog/afar-flang-named-critical-link","page":"catalog--afar-flang-named-critical-link","title":"amdflang/amdclang: a named critical (Fortran) or a critical with hint (C) in a target region fails at the device link (__kmpc_critical_with_hint undefined)","constructs":["critical","form.omp.critical_named"]},{"id":"catalog/afar-c-critical-hint-link","page":"catalog--afar-c-critical-hint-link","title":"amdflang/amdclang: a named critical (Fortran) or a critical with hint (C) in a target region fails at the device link (__kmpc_critical_with_hint undefined)","constructs":["hint","critical","target parallel for"]},{"id":"catalog/afar-flang-sections-in-target-ice","page":"catalog--afar-flang-sections-in-target-ice","title":"amdflang: \"Call parameter type does not match function signature!\" for sections, and for reduction(task), in a target region","constructs":["section","sections","target parallel"]},{"id":"catalog/c-allocate-const-mem-firstprivate-wrong","page":"catalog--c-allocate-const-mem-firstprivate-wrong","title":"A firstprivate scalar allocated with omp_const_mem_alloc has the wrong value on the device","constructs":["allocate","firstprivate","uses_allocators"]},{"id":"catalog/cce-flang-stop-in-target-crash","page":"catalog--cce-flang-stop-in-target-crash","title":"ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an internal compiler error (directly in a target region)","constructs":["base.device.stop"]},{"id":"catalog/cce-acc-stop-in-compute-crash","page":"catalog--cce-acc-stop-in-compute-crash","title":"ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an internal compiler error (directly in a target region)","constructs":["base.device.stop"]},{"id":"catalog/cce-flang-allocate-in-target-crash","page":"catalog--cce-flang-allocate-in-target-crash","title":"ftn: ALLOCATE/DEALLOCATE of a local allocatable in device code aborts (SIGABRT), OpenMP and OpenACC","constructs":["base.device.allocate"]},{"id":"catalog/cce-acc-allocate-in-compute-crash","page":"catalog--cce-acc-allocate-in-compute-crash","title":"ftn: ALLOCATE/DEALLOCATE of a local allocatable in device code aborts (SIGABRT), OpenMP and OpenACC","constructs":["base.device.allocate"]},{"id":"catalog/cce-flang-lastprivate-parallel-in-seq-loop-wrong","page":"catalog--cce-flang-lastprivate-parallel-in-seq-loop-wrong","title":"ftn: lastprivate on a parallel do in a target region gives a wrong final value when the variable is firstprivate in the target region (not mapped)","constructs":["lastprivate","base.device.parallel_in_seq_loop"]},{"id":"catalog/cce-c-lastprivate-parallel-in-seq-loop-wrong","page":"catalog--cce-c-lastprivate-parallel-in-seq-loop-wrong","title":"craycc: lastprivate and linear on a parallel for in a target region do not return the final value","constructs":["lastprivate","base.device.parallel_in_seq_loop"]},{"id":"catalog/cce-c-sections-in-target-wrong","page":"catalog--cce-c-sections-in-target-wrong","title":"craycc: sections in a target parallel region is accepted without a message and gives a wrong result","constructs":["section","sections","target parallel"]},{"id":"catalog/cce-c-single-masked-task-link","page":"catalog--cce-c-single-masked-task-link","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["single","target parallel"]},{"id":"catalog/cce-flang-allocate-const-mem-ice","page":"catalog--cce-flang-allocate-const-mem-ice","title":"ftn: internal compiler error \"Too few arguments on the stack\" for uses_allocators with an allocate clause in a target region","constructs":["allocate","firstprivate","uses_allocators"]},{"id":"catalog/cce-c-long-double-ice","page":"catalog--cce-c-long-double-ice","title":"craycc: internal compiler error on long double arithmetic in a target loop","constructs":["base.device.long_double"]},{"id":"catalog/cce-c-recursive-function-ice","page":"catalog--cce-c-recursive-function-ice","title":"craycc: compiler crash on a recursive function called in a target region","constructs":["base.device.recursion"]},{"id":"catalog/cce-acc-loop-seq-in-routine-wrong","page":"catalog--cce-acc-loop-seq-in-routine-wrong","title":"ftn -h acc: a loop seq construct inside a routine seq procedure gives wrong sums","constructs":["base.device.loop_in_routine"]},{"id":"catalog/defaultmap-present-private-array-abort","page":"catalog--defaultmap-present-private-array-abort","title":"AFAR at HSA_XNACK=0: defaultmap(present: aggregate) checks the presence of an array that is private on the same construct and aborts","constructs":["defaultmap","base.device.private_array"]},{"id":"catalog/cce-acc-character-dummy-routine-ice","page":"catalog--cce-acc-character-dummy-routine-ice","title":"ftn -h acc: internal compiler error \"Bad cast from fcd\" for a CHARACTER(len=*) dummy of a routine seq procedure","constructs":["base.device.character","base.device.routine_call"]},{"id":"catalog/nvhpc-flang-type-bound-kernel-missing","page":"catalog--nvhpc-flang-type-bound-kernel-missing","title":"nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time (\"Failed to find device function\") for function pointers, static locals, VLAs, long double, type-bound calls","constructs":["base.device.type_bound"]},{"id":"catalog/nvhpc-c-function-pointer-kernel-missing","page":"catalog--nvhpc-c-function-pointer-kernel-missing","title":"nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time (\"Failed to find device function\") for function pointers, static locals, VLAs, long double, type-bound calls","constructs":["base.device.function_pointer"]},{"id":"catalog/nvhpc-acc-associate-illegal-address","page":"catalog--nvhpc-acc-associate-illegal-address","title":"nvfortran -acc: ASSOCIATE construct in a parallel loop ends in CUDA_ERROR_ILLEGAL_ADDRESS","constructs":["base.device.associate"]},{"id":"catalog/nvhpc-c-static-local-kernel-missing","page":"catalog--nvhpc-c-static-local-kernel-missing","title":"nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time (\"Failed to find device function\") for function pointers, static locals, VLAs, long double, type-bound calls","constructs":["base.device.save_local"]},{"id":"catalog/nvhpc-c-vla-kernel-missing","page":"catalog--nvhpc-c-vla-kernel-missing","title":"nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time (\"Failed to find device function\") for function pointers, static locals, VLAs, long double, type-bound calls","constructs":["base.device.vla"]},{"id":"catalog/nvhpc-c-long-double-kernel-missing","page":"catalog--nvhpc-c-long-double-kernel-missing","title":"nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time (\"Failed to find device function\") for function pointers, static locals, VLAs, long double, type-bound calls","constructs":["base.device.long_double"]},{"id":"fresh/cce-list-directed-print-in-target-copy-crash","page":"fresh--cce-list-directed-print-in-target-copy-crash","title":"ftn: a list-directed PRINT in a target region aborts the run in copy mode","constructs":[]},{"id":"fresh/cce19-acc-automatic-array-copyout-copy-crash","page":"fresh--cce19-acc-automatic-array-copyout-copy-crash","title":"ftn 19 (OpenACC): a two-dimensional automatic array in copyout crashes the run in copy mode","constructs":["collapse","copyout","data","parallel loop"]},{"id":"fresh/cce21-combined-if-runtime-expr-loop-skipped","page":"fresh--cce21-combined-if-runtime-expr-loop-skipped","title":"ftn: target teams distribute parallel do with if(<run-time true>) runs no iterations at all","constructs":["if","target teams distribute parallel"]},{"id":"fresh/nvhpc-teams-loop-module-allocatable-assign-fort2-crash","page":"fresh--nvhpc-teams-loop-module-allocatable-assign-fort2-crash","title":"nvfortran -mp=gpu: fort2 crashes (signal 11) on a whole-array assignment to a module allocatable in target teams loop","constructs":["target teams loop"]},{"id":"fresh/nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost","page":"fresh--nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost","title":"nvfortran -acc: gang worker collapse(2) reduction with a nested vector reduction loses whole inner loops","constructs":["collapse","copy","gang","reduction","vector","worker","loop","parallel"]},{"id":"fresh/cce-common-block-name-in-map-rejected","page":"fresh--cce-common-block-name-in-map-rejected","title":"ftn: a common block name in a map clause is rejected (ftn-534)","constructs":[]},{"id":"fresh/cce-if-stop-in-target-ice","page":"fresh--cce-if-stop-in-target-ice","title":"ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an internal compiler error (directly in a target region)","constructs":[]},{"id":"fresh/cce-if-stop-in-target-ice-one-condition","page":"fresh--cce-if-stop-in-target-ice-one-condition","title":"ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an internal compiler error (directly in a target region)","constructs":[]},{"id":"stress/afar-target-scalar-implicit-firstprivate","page":"stress--afar-target-scalar-implicit-firstprivate","title":"Scalar with the TARGET attribute is treated as firstprivate in a target region (device write lost)","constructs":[]},{"id":"stress/cce-teams-reduction-many-teams-wrap","page":"stress--cce-teams-reduction-many-teams-wrap","title":"A reduction on target teams distribute parallel do with num_teams(65536) gives a wrong sum (8192 teams is correct)","constructs":["num_teams","reduction"]},{"id":"stress/cce21-declare-target-scalar-map-write-lost","page":"stress--cce21-declare-target-scalar-map-write-lost","title":"ftn: write to a declare target module scalar named in map(tofrom:) is lost","constructs":["map","declare","target update"]},{"id":"stress/cce-lastprivate-num-threads-collapse-simd","page":"stress--cce-lastprivate-num-threads-collapse-simd","title":"Lastprivate on target teams distribute parallel do simd collapse(2) with num_threads gives a varying wrong value","constructs":["lastprivate","num_threads"]},{"id":"stress/cce-c-flto-offload-dropped","page":"stress--cce-c-flto-offload-dropped","title":"craycc -flto: the offload code is dropped; the program fails under OMP_TARGET_OFFLOAD=mandatory","constructs":["target teams distribute"]},{"id":"stress/nvhpc-target-scalar-implicit-firstprivate","page":"stress--nvhpc-target-scalar-implicit-firstprivate","title":"Scalar with the TARGET attribute is treated as firstprivate in a target region (device write lost)","constructs":[]},{"id":"stress/nvhpc-declare-target-scalar-write-lost","page":"stress--nvhpc-declare-target-scalar-write-lost","title":"nvfortran -mp=gpu: write to a declare target module scalar in a target region is lost (implicit map)","constructs":["declare","target update"]},{"id":"stress/nvhpc-acc-derived-type-component-not-copied","page":"stress--nvhpc-acc-derived-type-component-not-copied","title":"nvfortran -acc: derived-type variable without a data clause is not copied back from a serial region","constructs":["serial"]},{"id":"stress/nvhpc-lastprivate-combined-target-not-mapped","page":"stress--nvhpc-lastprivate-combined-target-not-mapped","title":"nvfortran -mp=gpu: lastprivate on target parallel do does not imply map(tofrom), final value lost","constructs":["lastprivate"]},{"id":"stress/cce-acc-declare-create-scalar-serial-firstprivate","page":"stress--cce-acc-declare-create-scalar-serial-firstprivate","title":"ftn -h acc: a module scalar in declare create is treated as firstprivate in a serial region (write lost)","constructs":["create","device","self","declare","serial","update"]},{"id":"stress/nvhpc-c-lastprivate-teams-distribute-parallel-for-lost","page":"stress--nvhpc-c-lastprivate-teams-distribute-parallel-for-lost","title":"Lastprivate on target teams distribute parallel for accepted silently, value lost","constructs":["lastprivate"]},{"id":"stress/afar-c-lastprivate-combined-target-not-mapped","page":"stress--afar-c-lastprivate-combined-target-not-mapped","title":"Lastprivate on target teams distribute parallel for does not imply map(tofrom), value lost","constructs":["lastprivate"]},{"id":"stress/cce-c-distribute-lastprivate-lost","page":"stress--cce-c-distribute-lastprivate-lost","title":"Lastprivate on distribute in a target region loses the final value, even with an explicit map","constructs":["lastprivate"]},{"id":"stress/cce-ftn-cif-record-split-abort","page":"stress--cce-ftn-cif-record-split-abort","title":"ftn: compiler aborts (free(): invalid pointer) when an optimizer message record has \"-1\" at its 1024th character (path-dependent)","constructs":["do","target","declare","declare target","target teams distribute parallel","target update"]},{"id":"apps/afar-cce-teams-private-array-nested-parallel-wrong","page":"apps--afar-cce-teams-private-array-nested-parallel-wrong","title":"An array private to target teams distribute and shared by a nested parallel do loses the parallel region's writes","constructs":["private","parallel do","target teams distribute"]},{"id":"apps/cce21-private-array-loaded-subscript-wrong","page":"apps--cce21-private-array-loaded-subscript-wrong","title":"ftn: a private array subscripted by an element of a mapped or declare target array reads the wrong element in a target loop","constructs":["private","target parallel do"]},{"id":"apps/cce20-device-link-infer-address-spaces-crash","page":"apps--cce20-device-link-infer-address-spaces-crash","title":"ftn 20: the device link crashes in \"Infer address spaces\" (an MFC kernel, reduced)","constructs":["target teams distribute parallel","base.device.nested_type","base.device.routine_call"]},{"id":"apps/cce21-device-link-agpr-copy-mfma-assert","page":"apps--cce21-device-link-agpr-copy-mfma-assert","title":"ftn: device link (lld LTO) asserts \"Attempt to compare reserved index\" in AMDGPU Rewrite AGPR-Copy-MFMA","constructs":["target teams distribute parallel","base.device.implicit_routine"]},{"id":"nvhpc-c-ordered-in-target-nvcpfe-crash","page":"nvhpc-c-ordered-in-target-nvcpfe-crash","title":"nvc rejects ordered in a target parallel for with the ordered clause, and its front end then crashes intermittently","constructs":["ordered"]},{"id":"cce19-c-reduction-63-scalars-one-wrong","page":"cce19-c-reduction-63-scalars-one-wrong","title":"craycc 19: with 63 or more int64 sum reductions on target teams distribute parallel for, one is wrong","constructs":["for","reduction","target teams distribute parallel"]},{"id":"cce-acc-reduction-200-int8-scalars-wrong","page":"cce-acc-reduction-200-int8-scalars-wrong","title":"ftn (OpenACC): some of 200 integer(8) sum reductions on one parallel loop are wrong","constructs":["reduction","parallel loop"]},{"id":"cce21-alloc-2e32-sum-wrong","page":"cce21-alloc-2e32-sum-wrong","title":"ftn 21: target teams distribute parallel do over 2**32 iterations skips its last 256-iteration block","constructs":["do","reduction","target enter data","target exit data","target teams distribute parallel"]},{"id":"cce21-in-reduction-assumed-shape-write-lost","page":"cce21-in-reduction-assumed-shape-write-lost","title":"ftn 21: writes to an assumed-shape dummy in a target region with in_reduction are lost","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"dataenv/cce-value-dummy-target-write-visible","page":"dataenv--cce-value-dummy-target-write-visible","title":"ftn at -O2: a target region's write to a VALUE dummy, firstprivate there, becomes visible to the host","constructs":["target"]},{"id":"afar-c-teams-distribute-reduction-first-team","page":"afar-c-teams-distribute-reduction-first-team","title":"amdclang keeps only the first team's partial result of a reduction on target teams distribute","constructs":["reduction","target teams distribute"]},{"id":"afar-c-lastprivate-distribute-parallel-for-small-type","page":"afar-c-lastprivate-distribute-parallel-for-small-type","title":"A lastprivate item smaller than 8 bytes on target teams distribute parallel for comes back as 0 or a garbage value","constructs":["lastprivate","map","target teams distribute parallel"]},{"id":"harvest/cce-named-constant-array-declare-target-routine-rejected","page":"harvest--cce-named-constant-array-declare-target-routine-rejected","title":"ftn rejects a module's named-constant array referenced in a declare target routine","constructs":["do","declare target","target teams distribute parallel"]},{"id":"harvest/nvhpc-named-constant-array-declare-target-routine-rejected","page":"harvest--nvhpc-named-constant-array-declare-target-routine-rejected","title":"nvfortran rejects a module's named-constant array referenced in a declare target routine","constructs":["do","declare target","target teams distribute parallel"]},{"id":"harvest/nvhpc-c-target-data-if-false-use-device-ptr-garbage","page":"harvest--nvhpc-c-target-data-if-false-use-device-ptr-garbage","title":"nvc: use_device_ptr gives a garbage pointer when the if clause of target data is false","constructs":["if","use_device_ptr","target data","target enter data","target exit data"]},{"id":"harvest/nvhpc-use-device-ptr-c-ptr-not-found","page":"harvest--nvhpc-use-device-ptr-c-ptr-not-found","title":"nvfortran aborts on use_device_ptr of a C_PTR to mapped data (\"data in use_device clause was not found\")","constructs":["use_device_ptr","target data","target enter data","target exit data"]},{"id":"harvest/cce-use-device-ptr-c-ptr-not-converted","page":"harvest--cce-use-device-ptr-c-ptr-not-converted","title":"use_device_ptr does not convert a C_PTR list item: the region sees the host address","constructs":["use_device_ptr","target data","target enter data","target exit data"]},{"id":"harvest/nvhpc2511-target-nowait-in-parallel-for-ice","page":"harvest--nvhpc2511-target-nowait-in-parallel-for-ice","title":"nvc 25.11 crashes compiling a target nowait region in the worksharing loop of a parallel region","constructs":["nowait"]},{"id":"harvest/cce-acc-declare-create-module-allocatable-xnack1-fault","page":"harvest--cce-acc-declare-create-module-allocatable-xnack1-fault","title":"ftn (OpenACC): a module allocatable in declare create faults at HSA_XNACK=1","constructs":["copy","create","host","num_gangs","present","declare","parallel","parallel loop","update"]},{"id":"harvest/cce-c-strided-target-update","page":"harvest--cce-c-strided-target-update","title":"target update of a strided array section (C) copies the contiguous range instead of every second element","constructs":["from","target update","strided_section"]},{"id":"harvest/afar-flang-strided-target-update","page":"harvest--afar-flang-strided-target-update","title":"amdflang: target update from a strided array section copies the whole array","constructs":["from","target update","strided_section"]},{"id":"harvest/cce-ftn-target-parallel-thread-query-ice","page":"harvest--cce-ftn-target-parallel-thread-query-ice","title":"ftn: internal compiler error (\"Could not find call\") when a target parallel region assigns omp_get_num_threads() or omp_get_thread_num()","constructs":["target parallel"]},{"id":"harvest/cce-c-implicit-struct-map-partly-present","page":"harvest--cce-c-implicit-struct-map-partly-present","title":"craycc stops with \"overlaps present region but is not contained\" when a target region implicitly maps a partly mapped structure","constructs":["target","target data"]},{"id":"harvest/cce21-declare-target-link-module-variable-write-lost","page":"harvest--cce21-declare-target-link-module-variable-write-lost","title":"ftn 21 loses a target region's write to a declare target link module variable mapped tofrom","constructs":["link","declare target","base.device.module_variable"]},{"id":"harvest/cce21-internal-procedure-calls-internal-in-target-fault","page":"harvest--cce21-internal-procedure-calls-internal-in-target-fault","title":"ftn 21: a target region calling an internal function that calls another internal function faults on the GPU","constructs":["target","base.device.internal_procedure"]},{"id":"gcc/gcc-c-target-in-task-mandatory-device-not-found","page":"gcc--gcc-c-target-in-task-mandatory-device-not-found","title":"libgomp: with OMP_TARGET_OFFLOAD=mandatory, a target region in an explicit task, a parallel region or a task_reduction taskgroup stops with \"device not found\"","constructs":["task"]},{"id":"gcc/gcc-target-in-task-mandatory-device-not-found","page":"gcc--gcc-target-in-task-mandatory-device-not-found","title":"libgomp: with OMP_TARGET_OFFLOAD=mandatory, a target region in an explicit task stops with \"device not found\" (Fortran)","constructs":["task"]},{"id":"gcc/gcc-defaultmap-to-pointer-copy-back","page":"gcc--gcc-defaultmap-to-pointer-copy-back","title":"defaultmap(to: pointer) on a target region copies the pointer target back to the host","constructs":["defaultmap"]},{"id":"gcc/gcc-acc-detach-delete-attach-underflow","page":"gcc--gcc-acc-detach-delete-attach-underflow","title":"OpenACC: exit data delete after exit data detach stops with \"attach count underflow\"","constructs":["copy","copyin","copyout","delete","detach","present","enter data","exit data","parallel loop"]},{"id":"gcc/gcc-acc-c-detach-delete-attach-underflow","page":"gcc--gcc-acc-c-detach-delete-attach-underflow","title":"OpenACC: exit data delete after exit data detach stops with \"attach count underflow\" (C)","constructs":["copy","copyin","copyout","delete","detach","present","enter data","exit data","parallel loop"]},{"id":"gcc/gcc-c-omp60-unimplemented-rejected","page":"gcc--gcc-c-omp60-unimplemented-rejected","title":"OpenMP 6.0 features that GCC 16.2 lists as not implemented are rejected (directive-name modifiers, induction, taskgraph clauses, map and defaultmap self/storage, and more)","constructs":["induction","parallel for"]},{"id":"gcc/gcc-omp60-unimplemented-rejected","page":"gcc--gcc-omp60-unimplemented-rejected","title":"OpenMP 6.0 features that GCC 16.2 lists as not implemented are rejected (Fortran)","constructs":["induction","parallel do"]},{"id":"gcc/gcc-c-omp60-undocumented-rejected","page":"gcc--gcc-c-omp60-undocumented-rejected","title":"OpenMP 6.0 requires device_safesync and defaultmap(private) are rejected (not in GCC's implementation status table)","constructs":["device_safesync","for","requires","target teams distribute parallel"]},{"id":"gcc/gcc-omp60-undocumented-rejected","page":"gcc--gcc-omp60-undocumented-rejected","title":"OpenMP 6.0 requires device_safesync and defaultmap(private) are rejected (Fortran)","constructs":["device_safesync","do","requires","target teams distribute parallel"]},{"id":"gcc/gcc-c-uses-allocators-traits-unimplemented","page":"gcc--gcc-c-uses-allocators-traits-unimplemented","title":"uses_allocators with allocator traits or a memory space: \"sorry, unimplemented\"","constructs":["allocate","uses_allocators","parallel for"]},{"id":"gcc/gcc-uses-allocators-traits-unimplemented","page":"gcc--gcc-uses-allocators-traits-unimplemented","title":"uses_allocators with allocator traits or a memory space: \"sorry, unimplemented\" (Fortran)","constructs":["allocate","uses_allocators","parallel do"]},{"id":"gcc/gcc-declare-mapper-rejected","page":"gcc--gcc-declare-mapper-rejected","title":"gfortran: declare mapper is not accepted (\"Unclassifiable OpenMP directive\")","constructs":["mapper","declare"]},{"id":"gcc/gcc-c-motion-mapper-rejected","page":"gcc--gcc-c-motion-mapper-rejected","title":"target update to(mapper(m): x) and from(mapper(m): x) are rejected: \"clause with modifier other than 'iterator' or 'present'\"","constructs":["mapper","declare","target enter data","target exit data","target update"]},{"id":"gcc/gcc-loop-bind-default-none-rejected","page":"gcc--gcc-loop-bind-default-none-rejected","title":"gfortran: loop bind(thread) or bind(teams) inside parallel or teams with default(none) is rejected (\"'i' not specified in enclosing 'parallel'\")","constructs":["bind","loop","parallel"]},{"id":"gcc/gcc-acc-init-set-shutdown-rejected","page":"gcc--gcc-acc-init-set-shutdown-rejected","title":"gfortran: OpenACC init, set and shutdown directives are not accepted (\"Unclassifiable OpenACC directive\")","constructs":["copy","copyin","copyout","init","parallel loop"]},{"id":"gcc/gcc-acc-bind-device-type-rejected","page":"gcc--gcc-acc-bind-device-type-rejected","title":"OpenACC device_type clause and routine bind clause are rejected (\"Failed to match clause\")","constructs":["copy","copyin","copyout","device_type","vector_length","parallel loop"]},{"id":"gcc/gcc-acc-c-bind-device-type-rejected","page":"gcc--gcc-acc-c-bind-device-type-rejected","title":"OpenACC device_type clause and routine bind clause are rejected (C)","constructs":["copy","copyin","copyout","device_type","vector_length","parallel loop"]},{"id":"gcc/gcc-acc-link-in-routine-rejected","page":"gcc--gcc-acc-link-in-routine-rejected","title":"OpenACC: a declare link variable used in a routine is rejected (\"with 'link' clause used in 'routine' function\")","constructs":["copy","copyin","copyout","link","seq","declare","parallel loop","routine"]},{"id":"gcc/gcc-acc-c-link-in-routine-rejected","page":"gcc--gcc-acc-c-link-in-routine-rejected","title":"OpenACC: a declare link variable used in a routine is rejected (C)","constructs":["copy","copyin","copyout","link","seq","declare","parallel loop","routine"]},{"id":"gcc/gcc-acc-use-device-allocatable-rejected","page":"gcc--gcc-acc-use-device-allocatable-rejected","title":"gfortran: an allocatable array in host_data use_device is rejected (\"ALLOCATABLE object ... in USE_DEVICE clause\")","constructs":["copy","copyin","copyout","deviceptr","use_device","data","host_data","parallel loop","serial"]},{"id":"gcc/gcc-acc-gang-dim-collapse-force-rejected","page":"gcc--gcc-acc-gang-dim-collapse-force-rejected","title":"OpenACC 3.3 gang(dim:) and collapse(force:) are rejected (newer than GCC's OpenACC 2.6)","constructs":["collapse","copy","copyin","copyout","parallel loop"]},{"id":"gcc/gcc-acc-c-gang-dim-rejected","page":"gcc--gcc-acc-c-gang-dim-rejected","title":"OpenACC 3.3 gang(dim:) is rejected (C)","constructs":["copy","copyin","gang","num_gangs","atomic update","loop","parallel"]},{"id":"harvest/gcc-c-strided-section-rejected","page":"harvest--gcc-c-strided-section-rejected","title":"C array sections with a stride ([lower-bound:length:stride]) are rejected","constructs":["target enter data","target exit data","target update"]},{"id":"harvest/gcc-c-target-data-two-maps-ice","page":"harvest--gcc-c-target-data-two-maps-ice","title":"The same variable in two map clauses of a target data construct: internal compiler error","constructs":["target data"]},{"id":"harvest/gcc-c-target-data-struct-pointer-section-ice","page":"harvest--gcc-c-target-data-struct-pointer-section-ice","title":"Members of one structure in a target data construct: internal compiler error","constructs":["target data"]},{"id":"harvest/gcc-teams-simd-matmul-allocatable-ice","page":"harvest--gcc-teams-simd-matmul-allocatable-ice","title":"matmul of allocatable array sections in target teams distribute parallel do simd: internal compiler error","constructs":["do","simd","target teams distribute parallel"]},{"id":"harvest/gcc-c-same-item-two-maps-rejected","page":"harvest--gcc-c-same-item-two-maps-rejected","title":"The same variable in two map clauses of one target construct is rejected","constructs":[]},{"id":"harvest/gcc-same-item-two-maps-rejected","page":"harvest--gcc-same-item-two-maps-rejected","title":"The same variable in two map clauses of one target construct is rejected","constructs":[]},{"id":"harvest/gcc-acc-declare-create-allocatable-not-mapped","page":"harvest--gcc-acc-declare-create-allocatable-not-mapped","title":"OpenACC: declare create of a Fortran allocatable gives no device copy at the allocate statement","constructs":["copy","create","host","num_gangs","present","declare","parallel","parallel loop","update"]},{"id":"stress/gcc-declare-target-allocatable-component-ice","page":"stress--gcc-declare-target-allocatable-component-ice","title":"declare target module variable with an allocatable component used in a target region: internal compiler error","constructs":["do","target","declare","target enter data","target exit data","target teams distribute parallel"]},{"id":"apps/gcc-acc-c-tile-partial-tiles-wrong","page":"apps--gcc-acc-c-tile-partial-tiles-wrong","title":"OpenACC tile(32, 32) over loops whose trip counts are not multiples of the tile size computes wrong elements","constructs":["copy","num_gangs","tile","parallel","parallel loop"]},{"id":"apps/gcc-acc-tile-partial-tiles-wrong","page":"apps--gcc-acc-tile-partial-tiles-wrong","title":"OpenACC tile(32, 32) over loops whose trip counts are not multiples of the tile size computes wrong elements","constructs":["copy","num_gangs","tile","parallel","parallel loop"]},{"id":"fuzz/gcc-declare-reduction-module-not-found","page":"fuzz--gcc-declare-reduction-module-not-found","title":"A declare reduction in a module is not found through use association","constructs":["do","initializer","reduction","declare","target teams distribute parallel"]},{"id":"fuzz/gcc-strided-target-update-rejected","page":"fuzz--gcc-strided-target-update-rejected","title":"A Fortran array section with a stride in a target update motion clause is rejected","constructs":["target enter data","target exit data","target update"]},{"id":"fuzz/gcc-target-simd-map-nontemporal-rejected","page":"fuzz--gcc-target-simd-map-nontemporal-rejected","title":"The same array in map and nontemporal clauses of a Fortran target simd construct is rejected","constructs":["nontemporal","target simd"]},{"id":"oop/cce-select-type-guard-not-taken","page":"oop--cce-select-type-guard-not-taken","title":"SELECT TYPE in a device procedure takes the CLASS DEFAULT branch for mapped objects","constructs":["base.device.derived_scalar","base.device.routine_call"]},{"id":"oop/cce-polymorphic-dispatch-device-link","page":"oop--cce-polymorphic-dispatch-device-link","title":"dynamic dispatch of a type-bound procedure in device code fails at the link","constructs":["declare target"]},{"id":"oop/cce-class-is-device-link","page":"oop--cce-class-is-device-link","title":"a CLASS IS guard of SELECT TYPE in device code fails at the link","constructs":["declare target"]},{"id":"oop/cce-udr-derived-type-unsupported","page":"oop--cce-udr-derived-type-unsupported","title":"declare reduction on a derived type cannot be used in a target region","constructs":["do","initializer","reduction","declare","declare target","target teams distribute parallel"]},{"id":"oop/cce-pdt-default-mapper-rejected","page":"oop--cce-pdt-default-mapper-rejected","title":"a derived type with a length type parameter cannot be mapped","constructs":[]},{"id":"oop/cce-copy-alloc-component-section-fault","page":"oop--cce-copy-alloc-component-section-fault","title":"mapping a section of an allocatable component faults on the GPU with separate memory","constructs":["base.device.alloc_component"]},{"id":"oop/cce-copy-second-member-section-lost","page":"oop--cce-copy-second-member-section-lost","title":"the second of two member sections of a structure is not copied back","constructs":[]},{"id":"oop/cce-element-component-map-lost","page":"oop--cce-element-component-map-lost","title":"a component of an array element mapped tofrom does not come back with separate memory","constructs":[]},{"id":"oop/cce21-element-component-map-lost","page":"oop--cce21-element-component-map-lost","title":"a component of an array element mapped tofrom does not come back (CCE 21, both memory modes)","constructs":[]},{"id":"oop/cce-copy-parent-to-component-tofrom-lost","page":"oop--cce-copy-parent-to-component-tofrom-lost","title":"map(to: x) with map(tofrom: x%a) loses the component's copy back","constructs":["base.device.alloc_component_whole"]},{"id":"oop/cce-section-of-element-component-overlap","page":"oop--cce-section-of-element-component-overlap","title":"mapping the allocatable component of an array element aborts as a partial overlap","constructs":["base.device.alloc_component"]},{"id":"oop/cce-final-dealloc-device-abort","page":"oop--cce-final-dealloc-device-abort","title":"deallocating a finalizable object in device code aborts","constructs":["base.device.allocate_derived"]},{"id":"oop/afar-pdt-length-parameter-not-implemented","page":"oop--afar-pdt-length-parameter-not-implemented","title":"length type parameters of derived types are not implemented in offload code","constructs":[]},{"id":"oop/gcc-vtab-not-marked-for-offload","page":"oop--gcc-vtab-not-marked-for-offload","title":"SELECT TYPE in a device procedure is rejected: the type's vtable is not offloaded","constructs":["declare target"]},{"id":"oop/gcc-polymorphic-dispatch-abort","page":"oop--gcc-polymorphic-dispatch-abort","title":"dynamic dispatch of a type-bound procedure in device code aborts","constructs":["base.device.type_bound_pass"]},{"id":"oop/gcc-pdt-length-parameter-abort","page":"oop--gcc-pdt-length-parameter-abort","title":"mapping a derived type with a length type parameter aborts","constructs":[]},{"id":"oop/gcc-acc-parent-and-member-data-rejected","page":"oop--gcc-acc-parent-and-member-data-rejected","title":"OpenACC: a structure and its member in one data construct are rejected","constructs":["copy","copyin","data","parallel loop","serial"]},{"id":"oop/afar-final-dealloc-device-link","page":"oop--afar-final-dealloc-device-link","title":"deallocating a finalizable object in device code fails at the link","constructs":["base.device.allocate_derived"]},{"id":"oop/nvhpc-copy-alloc-component-illegal-address","page":"oop--nvhpc-copy-alloc-component-illegal-address","title":"the allocatable component of a mapped structure is not mapped with separate memory","constructs":["base.device.alloc_component_whole"]},{"id":"oop/nvhpc-copy-pdt-length-parameter-illegal-address","page":"oop--nvhpc-copy-pdt-length-parameter-illegal-address","title":"mapping a derived type with a length type parameter faults with separate memory","constructs":[]},{"id":"oop/nvhpc-type-bound-call-rejected","page":"oop--nvhpc-type-bound-call-rejected","title":"type-bound procedure calls in device code are rejected","constructs":["declare target"]},{"id":"oop/nvhpc-polymorphism-runtime-unsupported","page":"oop--nvhpc-polymorphism-runtime-unsupported","title":"SELECT TYPE, CLASS(*) and finalization are not supported in device code","constructs":["declare target"]},{"id":"oop/nvhpc-polymorphic-dispatch-translate-failure","page":"oop--nvhpc-polymorphic-dispatch-translate-failure","title":"dynamic dispatch of a type-bound procedure in device code makes the compiler fail","constructs":["declare target"]},{"id":"oop/nvhpc-udr-derived-type-rejected","page":"oop--nvhpc-udr-derived-type-rejected","title":"declare reduction on a derived type is not implemented","constructs":["do","initializer","reduction","declare","declare target","target teams distribute parallel"]},{"id":"oop/nvhpc-named-mapper-rejected","page":"oop--nvhpc-named-mapper-rejected","title":"a named declare mapper (map(mapper(id), ...)) is not supported","constructs":["do","mapper","declare","target teams distribute parallel"]},{"id":"malloc/afar-device-malloc-in-kernel-corrupts-records","page":"malloc--afar-device-malloc-in-kernel-corrupts-records","title":"amdclang on MI300A: free() in a kernel appears not to release the stores to the block before it can be reused, so records written through malloc'd temporaries come out wrong (HSA_XNACK=1)","constructs":["for","reduction","target enter data","target teams distribute parallel","target update"]},{"id":"fuzz/nvhpc-depend-implicit-map-illegal-address","page":"fuzz--nvhpc-depend-implicit-map-illegal-address","title":"depend naming an implicitly mapped array: illegal address","constructs":["depend","nowait","taskwait"]},{"id":"fuzz/nvhpc-num-threads-reduction-identity-lost","page":"fuzz--nvhpc-num-threads-reduction-identity-lost","title":"num_threads with a * reduction gives 0","constructs":["num_threads","reduction","target parallel do"]},{"id":"fuzz/nvhpc-target-parallel-firstprivate-translate-failure","page":"fuzz--nvhpc-target-parallel-firstprivate-translate-failure","title":"firstprivate on target parallel with a do loop: translation failure","constructs":["do","target parallel"]},{"id":"fuzz/nvhpc-target-parallel-single-hang","page":"fuzz--nvhpc-target-parallel-single-hang","title":"barrier in combined target parallel: hang","constructs":["single","target parallel"]},{"id":"fuzz/nvhpc-distribute-parallel-num-threads-writes-lost","page":"fuzz--nvhpc-distribute-parallel-num-threads-writes-lost","title":"parallel num_threads inside distribute: writes lost (25.11)","constructs":["num_threads","distribute","do","parallel","teams"]},{"id":"fuzz/nvhpc-defaultmap-to-scalar-reduction-lost","page":"fuzz--nvhpc-defaultmap-to-scalar-reduction-lost","title":"defaultmap(to: scalar) drops a reduction's copy-back","constructs":["defaultmap","reduction","target parallel do"]},{"id":"fuzz/nvhpc-map-always-after-map-to-not-copied-back","page":"fuzz--nvhpc-map-always-after-map-to-not-copied-back","title":"map(always, tofrom:) after map(to:): not copied back","constructs":[]},{"id":"fuzz/nvhpc-allocatable-component-implicit-map-illegal-address","page":"fuzz--nvhpc-allocatable-component-implicit-map-illegal-address","title":"allocatable component of a mapped structure: illegal address","constructs":[]},{"id":"fuzz/nvhpc-end-distribute-simd-rejected","page":"fuzz--nvhpc-end-distribute-simd-rejected","title":"end distribute simd: syntax error","constructs":["distribute simd","teams"]},{"id":"fuzz/nvhpc-target-simd-collapse-translate-failure","page":"fuzz--nvhpc-target-simd-collapse-translate-failure","title":"collapse on target simd: translation failure","constructs":["collapse","target simd"]},{"id":"fuzz/nvhpc-defaultmap-firstprivate-lastprivate-ice","page":"fuzz--nvhpc-defaultmap-firstprivate-lastprivate-ice","title":"defaultmap(firstprivate: scalar) with lastprivate: ICE","constructs":["defaultmap","lastprivate","parallel do"]},{"id":"fuzz/nvhpc-loop-character-achar-unsupported","page":"fuzz--nvhpc-loop-character-achar-unsupported","title":"character value in a loop construct: unsupported","constructs":["loop","target teams"]},{"id":"fuzz/nvhpc-default-none-reduction-lastprivate-fort1-crash","page":"fuzz--nvhpc-default-none-reduction-lastprivate-fort1-crash","title":"default(none) with reduction and lastprivate: compiler crash","constructs":["lastprivate","reduction","teams distribute parallel do"]},{"id":"fuzz/nvhpc-target-simd-no-end-directive-rejected","page":"fuzz--nvhpc-target-simd-no-end-directive-rejected","title":"target simd without end directive: rejected","constructs":["target simd"]},{"id":"fuzz/nvhpc-assumed-length-character-dummy-map-ice","page":"fuzz--nvhpc-assumed-length-character-dummy-map-ice","title":"assumed-length character dummy in a map clause: ICE","constructs":[]},{"id":"nested/afar-cce-c-update-struct-and-member-rejected","page":"nested--afar-cce-c-update-struct-and-member-rejected","title":"target update with a structure and a member array in one clause rejected","constructs":["target enter data","target exit data","target update"]},{"id":"nested/afar-flang-pointer-root-allocatable-component-enter-data-fault","page":"nested--afar-flang-pointer-root-allocatable-component-enter-data-fault","title":"AFAR: pointer-root derived type with allocatable component faults in copy mode","constructs":["do","reduction","target enter data","target exit data","target teams distribute parallel"]},{"id":"nested/cce-c-struct-and-nested-pointee-sections-ice","page":"nested--cce-c-struct-and-nested-pointee-sections-ice","title":"CCE: compiler crash on nested pointee sections in one target construct","constructs":[]},{"id":"nested/cce-fortran-nested-allocatable-component-copy-fault","page":"nested--cce-fortran-nested-allocatable-component-copy-fault","title":"CCE: nested allocatable component faults in copy mode","constructs":["do","reduction","target enter data","target exit data","target teams distribute parallel"]},{"id":"nested/gcc-acc-c-parent-and-shared-pointee-one-directive","page":"nested--gcc-acc-c-parent-and-shared-pointee-one-directive","title":"GCC OpenACC: second parent of a present pointee stops at run time","constructs":["copy","copyin","delete","present","enter data","exit data","serial"]},{"id":"nested/gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs","page":"nested--gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs","title":"GCC OpenACC: exit data of a pointer-array element target hangs","constructs":["copy","copyin","delete","present","enter data","exit data","serial"]},{"id":"nested/nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault","page":"nested--nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault","title":"NVHPC: pointee listed before its parent in one map list faults in separate memory","constructs":[]},{"id":"nested/cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer","page":"nested--cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer","title":"CCE: \"unsupported flags for typed transfer\" for a nested allocatable scalar component","constructs":["target enter data","target exit data"]},{"id":"nested/gcc-c-declare-mapper-pointer-member-section-gpu-fault","page":"nested--gcc-c-declare-mapper-pointer-member-section-gpu-fault","title":"GCC: declare mapper with a pointer-member section faults on the GPU","constructs":["for","mapper","declare","target teams distribute parallel"]},{"id":"nested/gcc-c-always-on-pointer-member-section-ice","page":"nested--gcc-c-always-on-pointer-member-section-ice","title":"GCC: compiler crash on map(always) of a pointer-member section","constructs":[]},{"id":"nested/nvhpc-c-update-from-structure-overwrites-attached-pointer-segv","page":"nested--nvhpc-c-update-from-structure-overwrites-attached-pointer-segv","title":"NVHPC: update from of a structure overwrites its attached pointer member","constructs":["for","target enter data","target exit data","target teams distribute parallel","target update"]},{"id":"nested/cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object","page":"nested--cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object","title":"CCE: update to of a pointer root with an allocatable scalar component fails","constructs":["do","reduction","target enter data","target exit data","target teams distribute parallel","target update"]},{"id":"nested/afar-cce-c-call-result-member-in-target-rejected","page":"nested--afar-cce-c-call-result-member-in-target-rejected","title":"AFAR and CCE: member of a function result in a target region rejected","constructs":["declare target"]},{"id":"nested/gcc-fortran-pointer-component-alloc-bounds-lost","page":"nested--gcc-fortran-pointer-component-alloc-bounds-lost","title":"GCC Fortran: pointer component entered with alloc comes back with wrong values","constructs":["target enter data","target exit data"]},{"id":"nested/gcc-fortran-root-and-element-pointer-components-ice","page":"nested--gcc-fortran-root-and-element-pointer-components-ice","title":"GCC Fortran: compiler crash on root and element pointer components in one map list","constructs":["target enter data","target exit data"]},{"id":"nested/gcc-c-from-struct-and-pointee-section-rejected","page":"nested--gcc-c-from-struct-and-pointee-section-rejected","title":"GCC: map(from:) of a structure with a pointee section rejected","constructs":[]},{"id":"nested/gcc-acc-c-struct-and-member-array-one-directive","page":"nested--gcc-acc-c-struct-and-member-array-one-directive","title":"GCC OpenACC: structure and member array in one data directive stops at run time","constructs":["copy","copyin","present","data","serial"]},{"id":"hecbench/gcc-c-float16-array-in-target-lto-ice","page":"hecbench--gcc-c-float16-array-in-target-lto-ice","title":"GCC: compiler crash on _Float16 data in a target region","constructs":[]},{"id":"hecbench/gcc-c-swar-popcount-assembler-error","page":"hecbench--gcc-c-swar-popcount-assembler-error","title":"GCC: invalid assembly for a bit-counting loop on MI250X","constructs":[]},{"id":"fuzz/1131-afar","page":"fuzz--1131-afar","title":"AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)","constructs":["target enter data"]},{"id":"fuzz/1391-cce20","page":"fuzz--1391-cce20","title":"ftn: internal compiler error \"ACC - barrier/reset/protected last private not supported\" for linear and lastprivate on a loop in a target region","constructs":["lastprivate","do","parallel"]},{"id":"fuzz/14-cce20","page":"fuzz--14-cce20","title":"Lastprivate on distribute in a target region loses the final value, even with an explicit map","constructs":["lastprivate","num_threads","distribute parallel do simd","target teams"]},{"id":"fuzz/1505-cce20","page":"fuzz--1505-cce20","title":"ftn 20: a reduction(min) loop in parallel if(false) calling a declare target function crashed on the device (not reproducible now)","constructs":["if","reduction","declare target","do","parallel"]},{"id":"fuzz/1540-afar","page":"fuzz--1540-afar","title":"\"'omp.target' op SPMD kernel must capture an 'omp.loop_nest' operation\" for lastprivate(conditional:) on target parallel do","constructs":["lastprivate","target parallel do"]},{"id":"fuzz/158-afar","page":"fuzz--158-afar","title":"AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)","constructs":["declare target","target enter data"]},{"id":"fuzz/16-cce20","page":"fuzz--16-cce20","title":"ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["parallel"]},{"id":"fuzz/1644-cce21","page":"fuzz--1644-cce21","title":"ftn: with a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with defaultmap(tofrom) an array in map(alloc) or map(to) is copied back","constructs":["defaultmap"]},{"id":"fuzz/165-cce19","page":"fuzz--165-cce19","title":"ftn: internal compiler error for lastprivate(conditional:) on a parallel loop in a target region","constructs":["depend","lastprivate","declare target","parallel do"]},{"id":"fuzz/1749-cce20","page":"fuzz--1749-cce20","title":"ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["target parallel"]},{"id":"fuzz/1936-afar","page":"fuzz--1936-afar","title":"amdflang: an unnamed critical in a target parallel do does not exclude other threads (lost updates)","constructs":["critical","declare target","do","parallel"]},{"id":"fuzz/1978-cce19","page":"fuzz--1978-cce19","title":"An array mapped always, from next to defaultmap(firstprivate: aggregate) is not copied back (fuzz seed 1978)","constructs":["defaultmap"]},{"id":"fuzz/2014-cce19","page":"fuzz--2014-cce19","title":"ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["parallel"]},{"id":"fuzz/2224-cce19","page":"fuzz--2224-cce19","title":"ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal compiler errors or device link failures instead of a diagnostic","constructs":["masked"]},{"id":"fuzz/2334-cce19","page":"fuzz--2334-cce19","title":"ftn: internal compiler error \"Couldn't find an atomic update statement\" for an atomic update whose factor folds to a constant","constructs":["atomic","declare target","do"]},{"id":"fuzz/536-cce19","page":"fuzz--536-cce19","title":"ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations (-O2)","constructs":["target parallel"]},{"id":"fuzz/591-cce19","page":"fuzz--591-cce19","title":"ftn: internal compiler error \"Unhandled contexts must be fixed!!!\" for teams distribute simd with lastprivate, private and nontemporal","constructs":["lastprivate","nontemporal","teams distribute simd"]},{"id":"fuzz/650-afar","page":"fuzz--650-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["do","parallel","target teams distribute"]},{"id":"fuzz/698-afar","page":"fuzz--698-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["dist_schedule","num_threads","proc_bind","reduction","distribute","parallel do","target teams"]},{"id":"fuzz/700-afar","page":"fuzz--700-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["distribute","do","parallel","teams"]},{"id":"fuzz/775-cce21","page":"fuzz--775-cce21","title":"ftn: with a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with defaultmap(tofrom) an array in map(alloc) or map(to) is copied back","constructs":["defaultmap"]},{"id":"fuzz/87-afar","page":"fuzz--87-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["distribute","do","parallel","teams"]},{"id":"fuzz/916-afar","page":"fuzz--916-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["reduction","distribute","do","parallel","teams"]},{"id":"fuzz/958-cce20","page":"fuzz--958-cce20","title":"ftn: internal compiler error for lastprivate(conditional:) on a parallel loop in a target region","constructs":["lastprivate","declare target","target parallel do"]},{"id":"fuzz/98-cce19","page":"fuzz--98-cce19","title":"An array mapped tofrom next to defaultmap(firstprivate: aggregate) is not copied back (fuzz seed 98)","constructs":["defaultmap"]},{"id":"fuzz/b1-121-afar","page":"fuzz--b1-121-afar","title":"amdflang: teams reduction(iand: r) with firstprivate and an empty body sets r to 0","constructs":["reduction","teams"]},{"id":"fuzz/b1-183-afar","page":"fuzz--b1-183-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["atomic","parallel do","target teams distribute"]},{"id":"fuzz/b1-22-cce20","page":"fuzz--b1-22-cce20","title":"Lastprivate on distribute in a target region loses the final value, even with an explicit map","constructs":["lastprivate","distribute","parallel do","target teams"]},{"id":"fuzz/b1-231-afar","page":"fuzz--b1-231-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["atomic","distribute","do","parallel","teams"]},{"id":"fuzz/b1-268-afar","page":"fuzz--b1-268-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["distribute","do","parallel","teams"]},{"id":"fuzz/b2-183-afar","page":"fuzz--b2-183-afar","title":"amdflang at HSA_XNACK=1: atomic min in a parallel do nested in target teams distribute with an allocatable array faults (write to a read-only page)","constructs":["atomic","parallel do","target teams distribute"]},{"id":"fuzz/b2-209-cce19","page":"fuzz--b2-209-cce19","title":"ftn: lastprivate(conditional:) on target simd does not imply map(tofrom), value lost","constructs":["lastprivate","target simd"]},{"id":"fuzz/b2-213-afar","page":"fuzz--b2-213-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["reduction","distribute","do","parallel","teams"]},{"id":"fuzz/b2-52-afar","page":"fuzz--b2-52-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["distribute","do","parallel","teams"]},{"id":"fuzz/b2-68-afar","page":"fuzz--b2-68-afar","title":"amdflang: loop reduction inside parallel if(.false.) in a target region counts the contribution more than once","constructs":["if","reduction","loop","parallel"]},{"id":"fuzz/b2-85-cce20","page":"fuzz--b2-85-cce20","title":"A minimized program with defaultmap and teams distribute computes checksum 0 on the device (fuzz seed 85)","constructs":["defaultmap","teams distribute"]},{"id":"fuzz/b3-188-cce19","page":"fuzz--b3-188-cce19","title":"ftn: internal compiler error \"Unexpected schedule\" for distribute parallel do schedule(dynamic) dist_schedule(static, 16)","constructs":["dist_schedule","schedule","distribute parallel do","target teams"]},{"id":"fuzz/b3-190-cce21","page":"fuzz--b3-190-cce21","title":"ftn: map(to: zopt) of an absent optional dummy in an internal subroutine crashes the run (SIGSEGV)","constructs":["declare target"]},{"id":"fuzz/b3-197-cce19","page":"fuzz--b3-197-cce19","title":"ftn: a target construct with in_reduction in an internal subroutine loses the writes to an implicitly mapped dummy array","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"fuzz/b3-250-cce20","page":"fuzz--b3-250-cce20","title":"ftn: a target construct with in_reduction in an internal subroutine loses the writes to an implicitly mapped dummy array","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"fuzz/b3-278-cce19","page":"fuzz--b3-278-cce19","title":"ftn: target teams with reduction(max) reading an allocatable component of an implicitly mapped structure ends in an illegal memory access","constructs":["reduction","distribute","target teams"]},{"id":"fuzz/b3-45-cce21","page":"fuzz--b3-45-cce21","title":"Map(to: zopt) of an absent optional dummy in an internal subroutine crashes the run (SIGSEGV)","constructs":["do","parallel"]},{"id":"fuzz/b3-54-afar","page":"fuzz--b3-54-afar","title":"amdflang: an empty target nowait with depend(inout:) on a derived-type variable with an allocatable component crashes (SIGSEGV)","constructs":["depend","nowait","taskwait"]},{"id":"fuzz/b3-61-cce20","page":"fuzz--b3-61-cce20","title":"ftn: a target construct with in_reduction in an internal subroutine loses the writes to an implicitly mapped dummy array","constructs":["in_reduction","task_reduction","taskgroup"]},{"id":"fuzz/b3-9-afar","page":"fuzz--b3-9-afar","title":"amdflang: \"verification of lowering to FIR failed\" for nontemporal on an assumed-shape dummy","constructs":["nontemporal","simd"]},{"id":"fuzz/b3-9-cce21","page":"fuzz--b3-9-cce21","title":"Map(to: zopt) of an absent optional dummy in an internal subroutine crashes the run (SIGSEGV)","constructs":["num_teams","teams loop"]},{"id":"fuzz/b3-94-afar","page":"fuzz--b3-94-afar","title":"amdflang: a parallel region with firstprivate nested in a distribute loop loses the writes of its worksharing loop","constructs":["distribute","do","parallel","teams"]},{"id":"fuzz/b4-39-afar","page":"fuzz--b4-39-afar","title":"amdflang at HSA_XNACK=1: a parallel region with a reduction (or atomic) nested in a distribute loop of a reducing teams region aborts","constructs":["device","mapper","proc_bind","reduction","thread_limit","declare","declare target","distribute","do","parallel","target data","target update","teams"]},{"id":"fuzz/b4-86-cce19","page":"fuzz--b4-86-cce19","title":"ftn 19 and 20: target teams distribute with map(mapper(...)) of a use-associated declare mapper aborts (SIGABRT)","constructs":["mapper","declare","distribute","target teams"]},{"id":"fuzz/par-s1-2082-gcc_g90","page":"fuzz--par-s1-2082-gcc_g90","title":"A complex pointer array written in a target region: internal compiler error in the amdgcn offload compiler","constructs":[]},{"id":"fuzz/s1-7882-cce20","page":"fuzz--s1-7882-cce20","title":"ftn: map(present, tofrom: xc) of an allocatable character array mapped by the enclosing target data stops with \"Variable not found in present table\"","constructs":["target data"]},{"id":"fuzz/s1-9443-afar","page":"fuzz--s1-9443-afar","title":"AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)","constructs":["target data"]}]
@@ -0,0 +1,288 @@
1
+ #!/usr/bin/env python3
2
+ """Build the vendor packets' checks.
3
+
4
+ python3 -I data/vendor/checks/build.py src # cases.yaml -> src/, cases.json
5
+ python3 -I data/vendor/checks/build.py summary # results/*.jsonl -> summary.json
6
+
7
+ src: a case's reproducer is its finding file (data/findings/) with the
8
+ catalog's comments removed, then the case's `edits` (or its `text`, a hand
9
+ reduction). Its control is the reproducer with the case's `control` edits,
10
+ or a named file trimmed the same way. Constant ran_on_host fields and
11
+ unused omp_is_initial_device imports are dropped.
12
+ summary: each result row is matched against its case's `repro` and `pass`
13
+ patterns, and each (case, toolchain, mode) gets the gate verdict over
14
+ environments a, b, c, d (offload/engine/gate.py): confirmed, nondeterministic,
15
+ environment or not_reproduced. Patterns: compile:RE, hang, crash:RE,
16
+ runhang, wrong[:RE], out:S, ok, re:RE."""
17
+ import json
18
+ import re
19
+ import sys
20
+ from collections import defaultdict
21
+ from pathlib import Path
22
+
23
+ import yaml
24
+
25
+ HERE = Path(__file__).resolve().parent
26
+ ROOT = HERE.parents[2]
27
+ FINDINGS = ROOT / "data" / "findings"
28
+
29
+
30
+ def trim(text: str, lang: str) -> str:
31
+ out = []
32
+ if lang == "c":
33
+ text = re.sub(r"/\*.*?\*/\n?", "", text, flags=re.S)
34
+ for ln in text.splitlines():
35
+ if ln.lstrip().startswith("//"):
36
+ continue
37
+ out.append(ln.rstrip())
38
+ else:
39
+ for ln in text.splitlines():
40
+ s = ln.lstrip()
41
+ if s.startswith("!") and not s.startswith("!$") and \
42
+ not s.lower().startswith("!dir$"):
43
+ continue
44
+ out.append(ln.rstrip())
45
+ while out and not out[0].strip():
46
+ out.pop(0)
47
+ while out and not out[-1].strip():
48
+ out.pop()
49
+ return "\n".join(out) + "\n"
50
+
51
+
52
+ def apply_edits(text: str, edits, where: str) -> str:
53
+ for old, new in edits or []:
54
+ n = text.count(old)
55
+ if n != 1:
56
+ raise SystemExit(f"{where}: edit {old!r} occurs {n} times")
57
+ text = text.replace(old, new)
58
+ return text
59
+
60
+
61
+ RAN0 = re.compile(r"print '\(a,i0,a,i0\)', ('RESULT checksum=', .+?), ' ran_on_host=', 0$", re.M)
62
+
63
+
64
+ RANMAX = re.compile(r"print '\(a,i0,a,i0\)', ('RESULT checksum=', .+?), ' ran_on_host=', max\(\w+(?:, \w+)*, 0\)$", re.M)
65
+
66
+
67
+ def drop_literal_flag(text: str, lang: str) -> str:
68
+ if lang != "f90":
69
+ return text
70
+ text = RAN0.sub(r"print '(a,i0)', \1", text)
71
+ if not re.search(r"omp_is_initial_device\s*\(", text, re.I): # a flag that nothing sets
72
+ text = RANMAX.sub(r"print '(a,i0)', \1", text)
73
+ if len(re.findall(r"omp_is_initial_device", text, re.I)) == 1:
74
+ text = re.sub(r"^\s*use omp_lib, only: omp_is_initial_device\n", "", text, flags=re.M | re.I)
75
+ text = re.sub(r"(use omp_lib, only: .*?), omp_is_initial_device$",
76
+ lambda m: m.group(0) if len(re.findall("omp_is_initial_device", text)) > 1 else m.group(1),
77
+ text, flags=re.M)
78
+ return text
79
+
80
+
81
+ def load():
82
+ return yaml.safe_load((HERE / "cases.yaml").read_text())
83
+
84
+
85
+ def lang_of(path: str) -> str:
86
+ return "c" if path.endswith(".c") else "f90"
87
+
88
+
89
+ def cmd_src():
90
+ cases = load()
91
+ seen = set()
92
+ out = []
93
+ for c in cases:
94
+ cid = c["id"]
95
+ if cid in seen:
96
+ raise SystemExit(f"duplicate case {cid}")
97
+ seen.add(cid)
98
+ f = FINDINGS / c["finding"]
99
+ lang = lang_of(c["finding"])
100
+ raw = f.read_text()
101
+ model = c.get("model") or ("acc" if re.search(r"^\s*(!\$acc|#pragma acc)", raw, re.M | re.I)
102
+ else "omp")
103
+ if "text" in c:
104
+ text = c["text"].rstrip() + "\n"
105
+ else:
106
+ text = raw if c.get("trim") is False else trim(raw, lang)
107
+ text = apply_edits(text, c.get("edits"), cid)
108
+ ext = ".c" if lang == "c" else ".f90"
109
+ d = HERE / "src" / (re.match(r"cce|fuzz|afar|nvhpc", cid).group(0) if re.match(r"cce|fuzz|afar|nvhpc", cid) else "other")
110
+ d.mkdir(parents=True, exist_ok=True)
111
+ rp = d / (cid + ext)
112
+ rp.write_text(drop_literal_flag(text, lang))
113
+ rec = {k: v for k, v in c.items() if k not in ("control", "edits", "text")}
114
+ rec.update(lang=lang, model=model, repro=str(rp.relative_to(HERE)))
115
+ ctl = c.get("control")
116
+ if ctl:
117
+ if "text" in ctl:
118
+ ct = ctl["text"].rstrip() + "\n"
119
+ elif "file" in ctl:
120
+ ct = trim((ROOT / ctl["file"]).read_text(), lang)
121
+ ct = apply_edits(ct, ctl.get("edits"), cid + " control")
122
+ else:
123
+ ct = apply_edits(text, ctl["edits"], cid + " control")
124
+ (d / "control").mkdir(exist_ok=True)
125
+ cp = d / "control" / (cid + "-control" + ext)
126
+ cp.write_text(drop_literal_flag(ct, lang))
127
+ rec["control"] = str(cp.relative_to(HERE))
128
+ rec["control_what"] = ctl.get("what", "")
129
+ out.append(rec)
130
+ (HERE / "cases.json").write_text(json.dumps(out, indent=1) + "\n")
131
+ print(f"{len(out)} cases, {sum(1 for r in out if r.get('control'))} controls")
132
+
133
+
134
+ def matches(pat: str, obs: str) -> bool:
135
+ stage = obs.split(" ", 1)[0].split("\n", 1)[0]
136
+ body = obs.split("\n", 1)[1] if "\n" in obs else ""
137
+ kind, _, arg = pat.partition(":")
138
+ if kind == "compile":
139
+ return stage == "COMPILE_FAIL" and re.search(arg, body, re.S) is not None
140
+ if kind == "hang":
141
+ return stage == "COMPILE_TIMEOUT"
142
+ if kind == "crash":
143
+ return stage == "RUN_FAIL" and (arg in ("", ".") or re.search(arg, body, re.S) is not None)
144
+ if kind == "runhang":
145
+ return stage == "RUN_TIMEOUT"
146
+ if kind == "out":
147
+ return stage == "RUN_OK" and arg in body
148
+ if kind == "outre":
149
+ return stage == "RUN_OK" and re.search(arg, body, re.S) is not None
150
+ if kind == "ok": # ran to completion and its own self-check, if it prints one, passed
151
+ return stage == "RUN_OK" and re.search(r"\bcheck=fail\b", body) is None
152
+ if kind == "re":
153
+ return re.search(arg, obs, re.S) is not None
154
+ raise ValueError(pat)
155
+
156
+
157
+ def classify(case, obs: str, variant: str = "repro") -> str:
158
+ """R reproduces, P passes, X something else, NA not applicable."""
159
+ if variant == "control":
160
+ case = dict(case, **{k[8:]: v for k, v in case.items() if k.startswith("control_")})
161
+ if obs.startswith("NOT_APPLICABLE"):
162
+ return "NA"
163
+ if obs.startswith("HARNESS_ERROR"):
164
+ return "H"
165
+ pats = case["symptom"] if isinstance(case["symptom"], list) else [case["symptom"]]
166
+ passp = case.get("expect", "ok")
167
+ stage = obs.split(" ", 1)[0]
168
+ if matches(passp, obs):
169
+ return "P"
170
+ for p in pats:
171
+ if p.startswith("wrong"):
172
+ _, _, arg = p.partition(":")
173
+ sig = re.search(r"^RUN_FAIL rc=-?\d+ signal=", obs) is not None
174
+ if stage in ("RUN_OK", "RUN_FAIL") and not sig and \
175
+ (not arg or re.search(arg, obs, re.S)):
176
+ return "R"
177
+ elif matches(p, obs):
178
+ return "R"
179
+ return "X"
180
+
181
+
182
+ def verdict(per_env: dict) -> str:
183
+ """per_env: env -> list of classes (R/P/X) over its rows."""
184
+ valid = {e: [c for c in v if c not in ("H", "NA")] for e, v in per_env.items()}
185
+ valid = {e: v for e, v in valid.items() if v}
186
+ if not valid:
187
+ return "no_rows"
188
+ if not any("R" in v for v in valid.values()):
189
+ return "not_reproduced"
190
+ if any(len(set(v)) > 1 for v in valid.values()):
191
+ return "nondeterministic"
192
+ a, d = valid.get("a"), valid.get("d")
193
+ if a and d and set(a) != set(d):
194
+ return "nondeterministic"
195
+ if all(set(v) == {"R"} for v in valid.values()):
196
+ return "confirmed" if all(e in valid for e in "abcd") else "confirmed_partial"
197
+ return "environment"
198
+
199
+
200
+ def result_lines(skip=("versions",), only=None, source="raw"):
201
+ """The result rows: the raw files (results/*.jsonl, git-ignored) or, with source="compact" or
202
+ when there are no raw files, the committed compact copies (results-compact/, what render.py reads,
203
+ so a clean checkout renders the same pages)."""
204
+ import gzip
205
+ raw = sorted((HERE / "results").glob("*.jsonl"))
206
+ if raw and source == "raw":
207
+ for f in raw:
208
+ if (only and f.name.startswith(only)) or (not only and not f.name.startswith(skip)):
209
+ yield from (l for l in f.read_text().splitlines() if l.strip())
210
+ return
211
+ for f in sorted((HERE / "results-compact").glob("*.jsonl.gz")):
212
+ if (only and f.name.startswith(only)) or (not only and not f.name.startswith(skip)):
213
+ with gzip.open(f, "rt") as fh:
214
+ yield from (l for l in fh.read().splitlines() if l.strip())
215
+
216
+
217
+ # committed and vendor-facing text names no user, host or private path
218
+ SCRUB = [(re.compile(r"[^\s'\"]*/therock-afar-24\.3\.0-multiarch-10\.1\.0-592954c"), "$AFAR"), # wherever the release is installed
219
+ (re.compile(r"/fastscratch/[^/\s]+/nvhpc/Linux_x86_64/26\.9"), "$NVHPC_26_9"),
220
+ (re.compile(r"/opt/nvidia/hpc_sdk/Linux_x86_64/25\.11"), "$NVHPC_25_11"),
221
+ (re.compile(r"/tmp/[\w.-]*-t44/(harness_[0-9a-f]{8}|GATE[A-Z]{14})/[^/\s]+/"), "<dir>/"),
222
+ (re.compile(r"/tmp/cce-cif/\S+?/"), "<dir>/"),
223
+ (re.compile(r"/tmp/[\w.-]*-t44/\S*"), "<dir>"),
224
+ (re.compile(r"/(g/g\d+|nethome|p/lustre5|p/vast1|fastscratch|usr/workspace|work1|var/tmp)/[A-Za-z0-9_]+\b"), "<home>"),
225
+ (re.compile(r"\b(tuolumne\d+|tioga\d+|wingtip-gpu\d+(\.cc\.gatech\.edu)?)\b"), "<host>")]
226
+
227
+
228
+ def scrub(t):
229
+ for rx, rp in SCRUB:
230
+ t = rx.sub(rp, t)
231
+ return t
232
+
233
+
234
+
235
+
236
+ def cmd_summary():
237
+ cases = {c["id"]: c for c in json.loads((HERE / "cases.json").read_text())}
238
+ rows = []
239
+ for ln in result_lines():
240
+ r = json.loads(ln)
241
+ if r.get("case") in cases and "obs" in r and "machine" in r:
242
+ if r.get("variant") == "control" and not cases[r["case"]].get("control"):
243
+ continue # a control dropped from its case (its rows stay in the results)
244
+ rows.append(r)
245
+ cells = defaultdict(lambda: defaultdict(list))
246
+ for r in rows:
247
+ c = cases[r["case"]]
248
+ cls = classify(c, r["obs"], r["variant"])
249
+ key = (r["case"], r["variant"], r["tc"], r["machine"], r.get("mode"))
250
+ cells[key][r["env"]].append(cls)
251
+ summ = defaultdict(dict)
252
+ for (cid, var, tc, mach, mode), per_env in cells.items():
253
+ k = f"{var}|{tc}|{mach}|{mode}"
254
+ summ[cid][k] = {"verdict": verdict(per_env),
255
+ "envs": {e: "".join(v) for e, v in sorted(per_env.items())}}
256
+ (HERE / "summary.json").write_text(json.dumps(summ, indent=1, sort_keys=True) + "\n")
257
+ print(f"{len(rows)} rows, {len(summ)} cases")
258
+
259
+
260
+ def cmd_pack():
261
+ """results/*.jsonl -> results-compact/*.jsonl.gz (committed; render.py reads only these): the
262
+ compile log, host name and build directory are dropped, and the observation, the command and the
263
+ version strings are scrubbed of users, hosts and private paths (scrub)."""
264
+ import gzip
265
+ out = HERE / "results-compact"
266
+ out.mkdir(exist_ok=True)
267
+ for f in sorted((HERE / "results").glob("*.jsonl")):
268
+ rows = []
269
+ for ln in f.read_text().splitlines():
270
+ if not ln.strip():
271
+ continue
272
+ r = json.loads(ln)
273
+ for k in ("compile_log", "host", "build_dir"):
274
+ r.pop(k, None)
275
+ for k in ("obs", "cmd", "os"):
276
+ if isinstance(r.get(k), str):
277
+ r[k] = scrub(r[k])
278
+ if isinstance(r.get("tc"), dict):
279
+ r["tc"] = {k: scrub(v) for k, v in r["tc"].items()}
280
+ rows.append(json.dumps(r, sort_keys=True))
281
+ with open(out / (f.name + ".gz"), "wb") as raw_fh, \
282
+ gzip.GzipFile(filename="", mode="wb", fileobj=raw_fh, mtime=0) as fh:
283
+ fh.write(("\n".join(rows) + "\n").encode())
284
+ print(f.name, len(rows))
285
+
286
+
287
+ if __name__ == "__main__":
288
+ {"src": cmd_src, "summary": cmd_summary, "pack": cmd_pack}[sys.argv[1]]()
offload/_version.py ADDED
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.1.0'
22
+ __version_tuple__ = version_tuple = (0, 1, 0)
23
+
24
+ __commit_id__ = commit_id = None