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,82 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: a reduction on a combined target construct that also has defaultmap(to: scalar) is not copied
2
+ ! # back; the reduction variable keeps its initial value on the host
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: wrong_answer (check=fail)
7
+ ! - observed: `r= 0 h= 0` with `check=fail`; identical signature on 4 of 4 failing cells
8
+ ! - expected: compiles and prints `r= 2080 h= 0` with `check=pass`
9
+ ! - rule: "When specified, explicit data-environment attribute clauses on target directives determine the attributes for variables
10
+ ! referenced in a target construct. Otherwise, the first matching rule from the following list determines the implicit
11
+ ! data-mapping (or data-sharing) attribute" (5.2 §5.8.1 p.148 l.2-5); the first rule that matches r is "If a variable is the base
12
+ ! variable of a list item in a reduction, lastprivate or linear clause on a combined target construct then the list item is
13
+ ! treated as if it had appeared in a map clause with a map-type of tofrom if Section 17.2 specifies this behavior" (5.2 §5.8.1
14
+ ! p.148 l.12-14), which comes before the defaultmap rule (5.2 §5.8.1 p.148 l.18-19), and Section 17.2 does specify it: "If a list
15
+ ! item in a reduction clause on a combined target construct does not have the same base variable or base pointer as a list item
16
+ ! in a map clause on the construct, then the effect is as if the list item in the reduction clause appears as a list item in a
17
+ ! map clause with a map-type of tofrom" (5.2 §17.2 p.341 l.10-13). OpenMP 5.0 orders the rules the same way: "If a list item
18
+ ! appears in a reduction, lastprivate or linear clause on a combined target construct then it is treated as if it also appears
19
+ ! in a map clause with a map-type of tofrom" (5.0 §2.19.7 p.314 l.14-16) precedes its defaultmap rule (5.0 §2.19.7 p.314 l.20-21)
20
+ ! - vendor: "The defaultmap clause is supported using OpenMP 5.0 semantics." and "The reduction clause is supported." (NVIDIA HPC
21
+ ! Compilers User's Guide 26.9, Using OpenMP, items 2.19.7 and 2.19.5; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
22
+ ! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.dm.jsonl (both releases, separate
23
+ ! and managed memory) and results/parity/nvc1/tuo.dm.jsonl: target teams distribute parallel do
24
+ ! (nvhpc-defaultmap-to-scalar-reduction-teams-variant.f90), target simd (nvhpc-defaultmap-to-scalar-reduction-simd-variant.f90)
25
+ ! and the seed's reduction(min:) with the same reduction on a nested simd loop
26
+ ! (nvhpc-defaultmap-to-scalar-reduction-min-nested-simd-variant.f90) lose the value too on both releases; with defaultmap(tofrom:
27
+ ! scalar) in place of defaultmap(to: scalar) (nvhpc-defaultmap-tofrom-scalar-reduction-variant.f90) the result is right. Not
28
+ ! evidence: with defaultmap(firstprivate: scalar) (nvhpc-defaultmap-firstprivate-scalar-reduction-variant.f90) both releases stop
29
+ ! in the LLVM optimizer (`opt: ... error: integer constant must have integer type`, a harness error) and AFAR's flang reports
30
+ ! "not yet implemented: Firstprivate is currently unsupported defaultmap behaviour"; a lead, not reduced
31
+ ! - found by: c1 program par-c1-nvhpc-nvhpc269:962, whose campaign failure is the depend fault of
32
+ ! nvhpc-depend-implicit-map-illegal-address.f90 (error 719 at cuEventQuery); with its depend and nowait clauses removed it runs
33
+ ! and only r1a is wrong, the reduction(min: r1a) of a target parallel do with defaultmap(to: scalar)
34
+ ! (exploration, not rows). No campaign cell has this signature alone, so no programs are counted
35
+ ! here (962's
36
+ ! campaign cell is related to, and not counted in, the depend finding either)
37
+ ! - same-compiler control: controls/nvhpc-defaultmap-to-scalar-removed-control.f90 (one change from this file; correct on nvhpc
38
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.dm.jsonl, results/parity/nvc1/wt.dm.jsonl);
39
+ ! controls/nvhpc-defaultmap-to-scalar-reduction-mapped-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11),
40
+ ! nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.dm.jsonl, results/parity/nvc1/wt.dm.jsonl)
41
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2) run the file correctly (rows
42
+ ! results/parity/nvc1/tuo.dm.jsonl); cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) fail it another way, e.g. `r= 2080 h= -1` with
43
+ ! `check=fail`
44
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
45
+ ! results/parity/nvc1/gate_abd.dm.jsonl, results/parity/nvc1/gate_abd.dm.m2.jsonl, results/parity/nvc1/gate_c.dm.jsonl,
46
+ ! results/parity/nvc1/gate_c.dm.m2.jsonl, results/parity/nvc1/wt.dm.jsonl)
47
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, both controls and the four
48
+ ! defaultmap(to:)
49
+ ! and defaultmap(tofrom:) variants (offload.engine.prerun.check on a Tuolumne compute node;
50
+ ! results/parity/nvc1/prerun.dm.txt); AFAR
51
+ ! 24.3.0 and CCE 19/20 compile and run the file, both controls and those four variants correctly with HSA_XNACK 0 and 1
52
+ ! (results/parity/nvc1/tuo.dm.jsonl). The firstprivate variant is not evidence: AFAR stops at "not yet implemented" and only CCE
53
+ ! 19/20 run it. CCE 21/21.0.4 reduce r correctly on the file and every variant but do not copy back the explicitly mapped h
54
+ ! (`r= 2080 h= -1`): their documented defect cce21-defaultmap-aggregate-flag.f90 (a defaultmap clause on target stops the
55
+ ! copy-back of a map(tofrom:) scalar), not this one. NVHPC is the compiler under test and is not counted as a witness
56
+ program p
57
+ use omp_lib, only: omp_is_initial_device
58
+ implicit none
59
+ integer :: a(64)
60
+ integer :: i, r, h
61
+ a = [(i, i = 1, 64)]
62
+ r = 0
63
+ h = -1
64
+ !$omp target parallel do map(to: a) map(tofrom: h) defaultmap(to: scalar) reduction(+: r)
65
+ do i = 1, 64
66
+ if (i == 1) h = merge(1, 0, omp_is_initial_device())
67
+ r = r + a(i)
68
+ end do
69
+ !$omp end target parallel do
70
+ print '(a,i0,a,i0)', 'r= ', r, ' h= ', h
71
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', r == 2080 .and. h == 0)
72
+ end program p
73
+
74
+ ! site:
75
+ ! title: defaultmap(to: scalar) drops a reduction's copy-back
76
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a reduction on a combined target construct that also has
77
+ ! + defaultmap(to: scalar): the reduction variable keeps its initial value on the host. Without the defaultmap clause, or with the
78
+ ! + variable in a map(tofrom:) clause, the result is right.
79
+ ! control: fuzz/controls/nvhpc-defaultmap-to-scalar-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
80
+ ! control: fuzz/controls/nvhpc-defaultmap-to-scalar-reduction-mapped-control.f90 one change from the finding; correct on nvhpc,
81
+ ! + nvhpc269
82
+ ! end site
@@ -0,0 +1,81 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: a target construct whose depend clause names an array that the construct maps only implicitly
2
+ ! # ends in CUDA_ERROR_ILLEGAL_ADDRESS
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: run_error
7
+ ! - observed: `Accelerator Fatal Error: call to cuEventQuery returned error 700 (CUDA_ERROR_ILLEGAL_ADDRESS): Illegal address during
8
+ ! kernel execution`, exit status 1, and the same without OMP_TARGET_OFFLOAD=mandatory (the rows' stderr; the harness's reason
9
+ ! reads `exit_status: 1; without mandatory: exit_status: 1`); identical signature on 4 of 4 failing cells
10
+ ! - expected: compiles and prints `sum= 2080` with `check=pass`
11
+ ! - rule: "If a variable is not a scalar then it is treated as if it had appeared in a map clause with a map-type of tofrom" (5.2
12
+ ! §5.8.1 p.149 l.4-5), and on a target construct "If a depend clause is present, it is associated with the target task" (5.2 §13.8
13
+ ! p.284 l.14-15): the depend clause orders the target task and does not change how `a` is mapped
14
+ ! - vendor: "Any task-generating target construct can have depend and nowait clauses" (NVIDIA HPC Compilers User's Guide 26.9, Using
15
+ ! OpenMP, the mapping of depend and nowait to CUDA streams; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt), and the
16
+ ! target
17
+ ! construct's depend clause is listed as supported (the guide's OpenMP subset, item 2.12.5)
18
+ ! - same-compiler control: controls/nvhpc-depend-explicit-map-control.f90 (one change from this file; correct on nvhpc (NVHPC
19
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.dep.jsonl, results/parity/nvc1/wt.dep.jsonl);
20
+ ! controls/nvhpc-depend-removed-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9);
21
+ ! rows results/parity/nvc1/tuo.dep.jsonl, results/parity/nvc1/wt.dep.jsonl)
22
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
23
+ ! file correctly (rows results/parity/nvc1/tuo.dep.jsonl)
24
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
25
+ ! results/parity/nvc1/gate_abd.dep.jsonl, results/parity/nvc1/gate_abd.dep.m2.jsonl, results/parity/nvc1/gate_c.dep.jsonl,
26
+ ! results/parity/nvc1/gate_c.dep.m2.jsonl, results/parity/nvc1/wt.dep.jsonl); campaign gate of the programs below: 22 cells,
27
+ ! 20 confirmed in the four environments (a-d; (c) on another node or GPU; rows
28
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
29
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
30
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
31
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
32
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl,
33
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl,
34
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl,
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl); the campaign gate's
36
+ ! verdict is confirmed for all 22 cells; the other 2 (1766 on both releases) were rerun in (b) and (c) only
37
+ ! - programs (11): par-c1-nvhpc-nvhpc269:1014, par-c1-nvhpc-nvhpc269:1115, par-c1-nvhpc-nvhpc269:1147,
38
+ ! par-c1-nvhpc-nvhpc269:1274, par-c1-nvhpc-nvhpc269:1316, par-c1-nvhpc-nvhpc269:1766, par-c1-nvhpc-nvhpc269:1878,
39
+ ! par-c1-nvhpc-nvhpc269:2302, par-s1-nvhpc-nvhpc269:1984, par-s1-nvhpc-nvhpc269:2459, par-s1-nvhpc-nvhpc269:4050. The three s1
40
+ ! programs name an array the construct maps only implicitly (ds, ic, xr8) in a depend clause with nowait, fail with
41
+ ! cuEventQuery error 700 on both releases, and give the expected checksum with their depend and nowait clauses removed
42
+ ! (exploration)
43
+ ! - related, not counted: par-c1-nvhpc-nvhpc269:962 ends with error 719 (CUDA_ERROR_LAUNCH_FAILED) at cuEventQuery rather than 700,
44
+ ! and its depend lists name arrays that are present through an enclosing target data region (o1 also in an explicit map clause)
45
+ ! rather than arrays the construct maps implicitly; with depend and nowait removed it runs, with one wrong value that is the
46
+ ! defect of nvhpc-defaultmap-to-scalar-reduction-lost.f90 (exploration, not rows)
47
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file and both controls
48
+ ! (offload.engine.prerun.check on
49
+ ! a Tuolumne compute node; results/parity/nvc1/prerun.dep.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4 compile and run it correctly
50
+ ! with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.dep.jsonl). NVHPC is the compiler under test and is not counted as a witness
51
+ program p
52
+ use omp_lib, only: omp_is_initial_device
53
+ implicit none
54
+ integer :: a(64)
55
+ integer :: i, s, host
56
+ a = 0
57
+ host = 1
58
+ !$omp target map(tofrom: host) nowait depend(inout: a)
59
+ do i = 1, 64
60
+ a(i) = i
61
+ end do
62
+ if (omp_is_initial_device()) then
63
+ host = 1
64
+ else
65
+ host = 0
66
+ end if
67
+ !$omp end target
68
+ !$omp taskwait
69
+ s = sum(a)
70
+ print '(a,i0)', 'sum= ', s
71
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host, ' check=', merge('pass', 'fail', s == 2080)
72
+ end program p
73
+
74
+ ! site:
75
+ ! title: depend naming an implicitly mapped array: illegal address
76
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly when a target construct's depend clause names an array that the construct
77
+ ! + maps only implicitly: the kernel ends in CUDA_ERROR_ILLEGAL_ADDRESS. With the array in a map clause, or without the depend
78
+ ! + clause, the result is right.
79
+ ! control: fuzz/controls/nvhpc-depend-explicit-map-control.f90 one change from the finding; correct on nvhpc, nvhpc269
80
+ ! control: fuzz/controls/nvhpc-depend-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
81
+ ! end site
@@ -0,0 +1,79 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC 25.11: the writes of a worksharing loop in a parallel region with a num_threads clause nested in
2
+ ! # a distribute loop never reach the array (26.9 correct)
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: wrong_answer (check=fail)
7
+ ! - observed: `sum= 0 h= 0` with `check=fail`; identical signature on 2 of 2 failing cells
8
+ ! - expected: compiles and prints `sum= 2432 h= 0` with `check=pass`
9
+ ! - rule: "The num_threads clause specifies the desired number of threads to execute a parallel region." (5.2 §10.1.2 p.227 l.23)
10
+ ! and "If a variable is not a scalar then it is treated as if it had appeared in a map clause with a map-type of tofrom" (5.2
11
+ ! §5.8.1 p.149 l.4-5): the clause only sizes the team; o2 is shared by the teams, the distribute loop and the nested parallel
12
+ ! region, written by the worksharing loop and copied back when the target region ends
13
+ ! - vendor: "The num_threads, default, private, firstprivate, and shared clauses are supported" (NVIDIA HPC Compilers User's Guide
14
+ ! 26.9, Using OpenMP, item 2.6 Parallel Construct), "The distribute construct is supported within a teams construct." (item
15
+ ! 2.9.4), and the guide's own example of "nested parallelism in the target teams distribute construct" (a parallel loop inside
16
+ ! it, with thread_limit recommended); item 2.20 says "nested teams or parallel regions in a target region are not supported",
17
+ ! which could also be read as excluding this form; the guide's own example and NVHPC 26.9's correct run of this file are the
18
+ ! reasons to read it as a second level of parallelism, and the program is legal by the specification either way
19
+ ! (data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
20
+ ! - exploration (not result rows): num_threads(3), num_teams(2) on the
21
+ ! teams, do simd, an
22
+ ! allocatable o2 and an explicit map(tofrom: o2) all give sum= 0 on 25.11 and the right sum on 26.9
23
+ ! - same-compiler control: controls/nvhpc-distribute-parallel-num-threads-removed-control.f90 (one change from this file; correct on
24
+ ! nvhpc (NVHPC 25.11); rows results/parity/nvc1/tuo.dp.jsonl, results/parity/nvc1/wt.dp.jsonl);
25
+ ! controls/nvhpc-distribute-parallel-removed-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11); rows
26
+ ! results/parity/nvc1/tuo.dp.jsonl, results/parity/nvc1/wt.dp.jsonl)
27
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc269
28
+ ! (NVHPC 26.9) run the file correctly (rows results/parity/nvc1/gate_abd.dp.jsonl, results/parity/nvc1/gate_abd.dp.m2.jsonl,
29
+ ! results/parity/nvc1/gate_c.dp.jsonl, results/parity/nvc1/gate_c.dp.m2.jsonl, results/parity/nvc1/tuo.dp.jsonl,
30
+ ! results/parity/nvc1/wt.dp.jsonl)
31
+ ! - gate and confirmer: 2 of 2 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
32
+ ! results/parity/nvc1/gate_abd.dp.jsonl, results/parity/nvc1/gate_abd.dp.m2.jsonl, results/parity/nvc1/gate_c.dp.jsonl,
33
+ ! results/parity/nvc1/gate_c.dp.m2.jsonl, results/parity/nvc1/wt.dp.jsonl); campaign gate of the programs below: 2 cells, 2
34
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
37
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl,
38
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl)
39
+ ! - programs (2): par-c1-nvhpc-nvhpc269:1098, par-c1-nvhpc-nvhpc269:1733
40
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file and both controls
41
+ ! (offload.engine.prerun.check on
42
+ ! a Tuolumne compute node; results/parity/nvc1/prerun.dp.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4 compile and run all three
43
+ ! correctly with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.dp.jsonl). NVHPC is the compiler under test and is not counted as a
44
+ ! witness (26.9 runs the file correctly, 25.11 does not)
45
+ program p
46
+ use omp_lib, only: omp_is_initial_device
47
+ implicit none
48
+ integer, parameter :: n = 32, m = 4
49
+ integer :: o2(n, m)
50
+ integer :: i, j, h
51
+ h = -1
52
+ o2 = 0
53
+ !$omp target map(tofrom: h)
54
+ !$omp teams
55
+ !$omp distribute
56
+ do i = 1, n
57
+ if (i == 1) h = merge(1, 0, omp_is_initial_device())
58
+ !$omp parallel num_threads(1)
59
+ !$omp do
60
+ do j = 1, m
61
+ o2(i, j) = i + j
62
+ end do
63
+ !$omp end do
64
+ !$omp end parallel
65
+ end do
66
+ !$omp end teams
67
+ !$omp end target
68
+ print '(a,i0,a,i0)', 'sum= ', sum(o2), ' h= ', h
69
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', sum(o2) == 2432 .and. h == 0)
70
+ end program p
71
+
72
+ ! site:
73
+ ! title: parallel num_threads inside distribute: writes lost (25.11)
74
+ ! summary: nvfortran 25.11 -mp=gpu appears to behave incorrectly on a worksharing loop in a parallel region with a num_threads
75
+ ! + clause nested in a distribute loop: the array it writes stays zero on the host. Without the num_threads clause, or without the
76
+ ! + nested parallel region, the result is right; NVHPC 26.9 is correct.
77
+ ! control: fuzz/controls/nvhpc-distribute-parallel-num-threads-removed-control.f90 one change from the finding; correct on nvhpc
78
+ ! control: fuzz/controls/nvhpc-distribute-parallel-removed-control.f90 one change from the finding; correct on nvhpc
79
+ ! end site
@@ -0,0 +1,70 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: the end directive of a distribute simd construct is rejected ("Syntax error at or near
2
+ ! # identifier simd"); the construct without its end directive compiles and runs correctly
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: rejected
7
+ ! - observed: `NVFORTRAN-S-0034-Syntax error at or near identifier simd (<tmpdir>/nvhpc-end-distribute-simd-rejected.f90: 11)`;
8
+ ! identical signature on 4 of 4 failing cells
9
+ ! - expected: compiles and prints `sum= 2080` with `check=pass`
10
+ ! - rule: "If directive-name-A is distribute then directive-name-B may be simd" (5.2 §17.3 p.342 l.17) names the composite
11
+ ! distribute simd construct; the directive-name of its paired end directive is "end directive-name unless otherwise specified"
12
+ ! (5.2 §3.1 p.49 l.14) and "For a loop-associated directive, the paired end directive is optional." (5.2 §3.1 p.52 l.26):
13
+ ! `!$omp end distribute simd` is the construct's end directive, which may be written or left out
14
+ ! - vendor: "The distribute simd construct is treated as a distribute construct and is supported for GPU targets; valid
15
+ ! supported distribute clauses are accepted; simd clauses are ignored." (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP,
16
+ ! item 2.9.4; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
17
+ ! - same-compiler control: controls/nvhpc-distribute-simd-no-end-directive-control.f90 (one change from this file; correct on nvhpc
18
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ds.jsonl, results/parity/nvs1/wt.ds.jsonl);
19
+ ! controls/nvhpc-distribute-end-distribute-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC
20
+ ! 26.9); rows results/parity/nvs1/tuo.ds.jsonl, results/parity/nvs1/wt.ds.jsonl)
21
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
22
+ ! file correctly (rows results/parity/nvs1/tuo.ds.jsonl)
23
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.ds.jsonl (both releases,
24
+ ! separate and managed memory) and results/parity/nvs1/tuo.ds.jsonl: the combined teams distribute simd with its end directive
25
+ ! (nvhpc-end-teams-distribute-simd-unmatched-variant.f90) is rejected with `NVFORTRAN-F-1225-Unmatched directive END - TEAMS
26
+ ! DISTRIBUTE`; the combined target teams distribute simd with its end directive
27
+ ! (nvhpc-end-target-teams-distribute-simd-variant.f90) compiles and is correct. The two s1 programs end their distribute simd
28
+ ! loops with the end directive (fuzz_prog.f90 lines 75 and 90 of seeds 9906 and 8744, the lines the compiler names)
29
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
30
+ ! results/parity/nvs1/gate_abd.ds.jsonl, results/parity/nvs1/gate_abd.ds.m2.jsonl, results/parity/nvs1/gate_c.ds.jsonl,
31
+ ! results/parity/nvs1/gate_c.ds.m2.jsonl, results/parity/nvs1/wt.ds.jsonl); campaign gate of the programs below: 4 cells, 4
32
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
33
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
34
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
37
+ ! - programs (2): par-s1-nvhpc-nvhpc269:9906, par-s1-nvhpc-nvhpc269:8744; the same syntax error is in the stderr of seeds 2146,
38
+ ! 3062 and 6056 (`!$omp end distribute simd`) and the Unmatched directive message of the variant in those of 671 and 5847
39
+ ! (`!$omp end teams distribute simd`), both releases, whose cells' first diagnostics are other rejections (an unrecognized
40
+ ! declare directive, a syntax error at `:`, thread_limit on target), so they are not counted
41
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
42
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.ds.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
43
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.ds.jsonl). NVHPC is the compiler under
44
+ ! test and is not counted as a witness
45
+ program p
46
+ implicit none
47
+ integer :: a(64), i
48
+ a = 0
49
+ !$omp target map(from: a)
50
+ !$omp teams
51
+ !$omp distribute simd
52
+ do i = 1, 64
53
+ a(i) = i
54
+ end do
55
+ !$omp end distribute simd
56
+ !$omp end teams
57
+ !$omp end target
58
+ print '(a,i0)', 'sum= ', sum(a)
59
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 2080)
60
+ end program p
61
+
62
+ ! site:
63
+ ! title: end distribute simd: syntax error
64
+ ! summary: nvfortran -mp=gpu appears not to support the end directive of a distribute simd construct: `!$omp end distribute
65
+ ! + simd` stops the compile with a syntax error at `simd`, and `!$omp end teams distribute simd` with "Unmatched directive END -
66
+ ! + TEAMS DISTRIBUTE". The same construct without its end directive, or a distribute construct with its end directive, compiles
67
+ ! + and runs correctly.
68
+ ! control: fuzz/controls/nvhpc-distribute-simd-no-end-directive-control.f90 one change from the finding; correct on nvhpc, nvhpc269
69
+ ! control: fuzz/controls/nvhpc-distribute-end-distribute-control.f90 one change from the finding; correct on nvhpc, nvhpc269
70
+ ! end site
@@ -0,0 +1,75 @@
1
+ ! # Finding (parity-fuzz-s1): NVHPC: a character value computed in the region (achar, a concatenation) assigned to a character
2
+ ! # array element inside a loop construct of a target region fails to translate ("Character local variable unsupported on
3
+ ! # device"); the same assignment in a distribute construct compiles and runs correctly
4
+ !
5
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
6
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
7
+ ! - failure: ice
8
+ ! - observed: `NVFORTRAN-F-0155-Compiler failed to translate accelerator region (see -Minfo messages): Character local variable
9
+ ! unsupported on device (<tmpdir>/nvhpc`; identical signature on 4 of 4 failing cells
10
+ ! - expected: compiles and prints `s= 1160` with `check=pass`
11
+ ! - rule: "A loop construct specifies that the logical iterations of the associated loops may execute concurrently and permits
12
+ ! the encountering threads to execute the loop accordingly." (5.2 §11.7 p.257 l.8-9); the loop body is a character assignment,
13
+ ! which no restriction of the construct excludes
14
+ ! - vendor: "The private, bind, and collapse clauses are supported" on the loop construct (NVIDIA HPC Compilers User's Guide
15
+ ! 26.9, Using OpenMP, item 2.9.5; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt); the guide names no character limit
16
+ ! - same-compiler control: controls/nvhpc-loop-character-distribute-control.f90 (one change from this file; correct on nvhpc
17
+ ! (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.cl.jsonl, results/parity/nvs1/wt.cl.jsonl);
18
+ ! controls/nvhpc-loop-character-array-value-control.f90 (the value copied from a mapped character array instead of computed:
19
+ ! four edits from this file, the array, its initialization, its map clause and the assignment; correct on nvhpc (NVHPC 25.11),
20
+ ! nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.cl.jsonl, results/parity/nvs1/wt.cl.jsonl)
21
+ ! - other families: afar (AFAR 24.3.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the file correctly (rows
22
+ ! results/parity/nvs1/tuo.cl.jsonl); cce19 (CCE 19.0.0) fail it another way, e.g. `ftn-7032 ftn: ERROR P, File =
23
+ ! ../../nvhpc-loop-character-achar-unsupported.f90, Line = 10`
24
+ ! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.cl.jsonl (both releases,
25
+ ! separate and managed memory) and results/parity/nvs1/tuo.cl.jsonl: the seed's concatenation `achar(...) // xc(i)(2:4)` in a
26
+ ! loop construct of a target parallel region (nvhpc-loop-character-concatenation-target-parallel-variant.f90) fails the same
27
+ ! way; the same concatenation in a do construct of the target parallel region compiles
28
+ ! (nvhpc-loop-character-concatenation-do-control.f90) but its run does not end on either release, the implicit barrier of a
29
+ ! worksharing loop in a combined target parallel construct (the c1 finding nvhpc-target-parallel-single-hang.f90), so it is
30
+ ! not a control of this finding. A substring copy `o2(i)(2:4) = xc(i)(2:4)` in the loop construct compiles (exploration)
31
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
32
+ ! results/parity/nvs1/gate_abd.cl.jsonl, results/parity/nvs1/gate_abd.cl.m2.jsonl, results/parity/nvs1/gate_c.cl.jsonl,
33
+ ! results/parity/nvs1/gate_c.cl.m2.jsonl, results/parity/nvs1/wt.cl.jsonl); campaign gate of the programs below: 2 cells, 2
34
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
37
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl,
38
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
39
+ ! - programs (1): par-s1-nvhpc-nvhpc269:2564
40
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
41
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.cl.txt); AFAR 24.3.0 and CCE 20/21/21.0.4
42
+ ! compile and run this file and its controls correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.cl.jsonl); CCE 19
43
+ ! rejects character data in target regions ("Unsupported OpenMP construct Fortran character"), its own documented limit
44
+ ! (afar-cce19-character-defaultmap.f90). NVHPC is the compiler under test and is not counted as a witness
45
+ program p
46
+ implicit none
47
+ integer, parameter :: n = 16
48
+ character(len=4) :: o2(n)
49
+ integer :: i, s
50
+ o2 = ' '
51
+ !$omp target teams map(from: o2)
52
+ !$omp loop
53
+ do i = 1, n
54
+ o2(i) = achar(64 + i)
55
+ end do
56
+ !$omp end loop
57
+ !$omp end target teams
58
+ s = 0
59
+ do i = 1, n
60
+ s = s + ichar(o2(i)(1:1))
61
+ end do
62
+ print '(a,i0)', 's= ', s
63
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', s == 16 * 64 + 136)
64
+ end program p
65
+
66
+ ! site:
67
+ ! title: character value in a loop construct: unsupported
68
+ ! summary: nvfortran -mp=gpu appears not to support assigning a character value computed in the region (achar, a concatenation)
69
+ ! + to a character array element inside a loop construct of a target region: the compile stops with "Character local variable
70
+ ! + unsupported on device". The same assignment in a distribute construct, or the copy of a mapped character element in the loop
71
+ ! + construct, compiles and runs correctly.
72
+ ! control: fuzz/controls/nvhpc-loop-character-distribute-control.f90 one change from the finding; correct on nvhpc, nvhpc269
73
+ ! control: fuzz/controls/nvhpc-loop-character-array-value-control.f90 the value copied from a mapped character array (four
74
+ ! + edits from the finding); correct on nvhpc, nvhpc269
75
+ ! end site
@@ -0,0 +1,70 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: a map clause with the always modifier (tofrom or from) that follows a map(to:) clause on the
2
+ ! # same target directive is not copied back; its list items keep their host values
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: wrong_answer (check=fail)
7
+ ! - observed: `r= 0 h= 0` with `check=fail`; identical signature on 4 of 4 failing cells
8
+ ! - expected: compiles and prints `r= 5 h= 0` with `check=pass`
9
+ ! - rule: on exit from the region, "If the reference count of the corresponding list item is one or if the always map-type-modifier
10
+ ! is specified, and if the map-type is from or tofrom, the original list item is updated as if the list item appeared in a from
11
+ ! clause on a target update directive." (5.2 §5.8.3 p.154 l.2-5): r is in a tofrom map with the always modifier and its reference
12
+ ! count is one, so the device value (a(5) = 5) must reach the host either way; the order of the map clauses on the directive
13
+ ! carries no meaning
14
+ ! - vendor: "The map([[mapmod[,]...] maptype:] datalist) clause is supported. Of the map-type-modifiers, always is supported, close
15
+ ! is ignored, and mapper(mapid) is not supported." (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP, item 2.19.7;
16
+ ! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
17
+ ! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.al.jsonl (both releases, separate
18
+ ! and managed memory) and results/parity/nvc1/tuo.al.jsonl (AFAR and CCE correct on all of them): map(always, from: r)
19
+ ! (nvhpc-map-always-from-after-map-to-variant.f90), the always clause separated from the map(to:) clause by another map clause
20
+ ! (nvhpc-map-always-after-map-to-separated-variant.f90), two list items in the always clause, both lost
21
+ ! (nvhpc-map-always-after-map-to-two-items-variant.f90), and the write inside a parallel worksharing loop
22
+ ! (nvhpc-map-always-after-map-to-parallel-do-variant.f90) fail on both releases too
23
+ ! - exploration (not result rows): the items of the always clause do arrive
24
+ ! on the device (a
25
+ ! mapped array summed there, a scalar read there); a preceding map(from:) or map(tofrom:) clause does not trigger the loss, a
26
+ ! preceding map(always, to:) clause does; scalars in map(always, tofrom:) with no preceding map(to:) clause are right with and
27
+ ! without teams or parallel regions. In c1 program 2019 the three kernels' reductions and arrays were wrong this way (a teams
28
+ ! reduction variable in map(always, tofrom:) after map(always, to:), the array of the same clause read as zeros); with the always
29
+ ! modifiers removed, or with the always clauses written first, the program prints its expected checksum on both releases
30
+ ! - same-compiler control: controls/nvhpc-map-always-removed-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11),
31
+ ! nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.al.jsonl, results/parity/nvc1/wt.al.jsonl);
32
+ ! controls/nvhpc-map-always-first-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9);
33
+ ! rows results/parity/nvc1/tuo.al.jsonl, results/parity/nvc1/wt.al.jsonl)
34
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
35
+ ! file correctly (rows results/parity/nvc1/tuo.al.jsonl)
36
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
37
+ ! results/parity/nvc1/gate_abd.al.jsonl, results/parity/nvc1/gate_abd.al.m2.jsonl, results/parity/nvc1/gate_c.al.jsonl,
38
+ ! results/parity/nvc1/gate_c.al.m2.jsonl, results/parity/nvc1/wt.al.jsonl); campaign gate of the programs below: 2 cells, 2
39
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
40
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
41
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl)
42
+ ! - programs (1): par-c1-nvhpc-nvhpc269:2019
43
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, both controls and the variants
44
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvc1/prerun.al.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
45
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.al.jsonl). NVHPC is the compiler under
46
+ ! test and is not counted as a witness
47
+ program p
48
+ use omp_lib, only: omp_is_initial_device
49
+ implicit none
50
+ integer :: a(64)
51
+ integer :: i, r, h
52
+ a = [(i, i = 1, 64)]
53
+ r = 0
54
+ h = -1
55
+ !$omp target map(to: a) map(always, tofrom: r) map(tofrom: h)
56
+ h = merge(1, 0, omp_is_initial_device())
57
+ r = a(5)
58
+ !$omp end target
59
+ print '(a,i0,a,i0)', 'r= ', r, ' h= ', h
60
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', r == 5 .and. h == 0)
61
+ end program p
62
+
63
+ ! site:
64
+ ! title: map(always, tofrom:) after map(to:): not copied back
65
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a map clause with the always modifier (tofrom or from) that follows a
66
+ ! + map(to:) clause on the same target directive: its list items are not copied back and keep their host values. Without the
67
+ ! + modifier, or with the always clause written before the map(to:) clause, the result is right.
68
+ ! control: fuzz/controls/nvhpc-map-always-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
69
+ ! control: fuzz/controls/nvhpc-map-always-first-control.f90 one change from the finding; correct on nvhpc, nvhpc269
70
+ ! end site
@@ -0,0 +1,54 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: a reduction(*) (also max, iand) on the worksharing loop of a parallel region with
2
+ ! # num_threads(2) in a target region gives 0
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: wrong_answer (check=fail)
7
+ ! - observed: `r= 0` with `check=fail`; identical signature on 4 of 4 failing cells
8
+ ! - expected: compiles and prints `r= 768` with `check=pass`
9
+ ! - rule: "For each list item, a private copy is created for each implicit task or SIMD lane and is initialized with the initializer
10
+ ! value of the reduction-identifier. After the end of the region, the original list item is updated with the values of the private
11
+ ! copies using the combiner associated with the reduction-identifier." (5.2 §5.5.8 p.134 l.21-24); the initializer of * is 1
12
+ ! (Table 5.2), so r is 3 times 2**8 = 768 whatever the number of threads
13
+ ! - vendor: on GPU targets the parallel construct supports "The num_threads, default, private, firstprivate, and shared clauses",
14
+ ! and "The reduction clause is supported. The optional modifier is not supported." (NVIDIA HPC Compilers User's Guide 26.9, Using
15
+ ! OpenMP, items 2.6 and 2.19.5; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
16
+ ! - same-compiler control: controls/nvhpc-num-threads-removed-control.f90 (one change from this file; correct on nvhpc (NVHPC
17
+ ! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.nt.jsonl, results/parity/nvc1/wt.nt.jsonl)
18
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
19
+ ! file correctly (rows results/parity/nvc1/tuo.nt.jsonl)
20
+ ! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.nt.jsonl (both releases, separate
21
+ ! and managed memory) and results/parity/nvc1/tuo.nt.jsonl: reduction(max: r) (nvhpc-num-threads-reduction-max-variant.f90) and
22
+ ! reduction(iand: r) (nvhpc-num-threads-reduction-iand-variant.f90) print `r= 0` too, as does the same loop written as target,
23
+ ! parallel num_threads(2) and do (nvhpc-num-threads-split-variant.f90); reduction(+: r) with num_threads(2)
24
+ ! (nvhpc-num-threads-reduction-sum-variant.f90) is correct. The reduction identifiers whose initializer is not 0 lose their result
25
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
26
+ ! results/parity/nvc1/gate_abd.nt.jsonl, results/parity/nvc1/gate_abd.nt.m2.jsonl, results/parity/nvc1/gate_c.nt.jsonl,
27
+ ! results/parity/nvc1/gate_c.nt.m2.jsonl, results/parity/nvc1/wt.nt.jsonl); campaign gate of the programs below: 2 cells, 2
28
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
29
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
30
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl)
31
+ ! - programs (1): par-c1-nvhpc-nvhpc269:2123
32
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its control and the variants above
33
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvc1/prerun.nt.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
34
+ ! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.nt.jsonl). NVHPC is the compiler under
35
+ ! test and is not counted as a witness
36
+ program p
37
+ implicit none
38
+ integer :: r, i
39
+ r = 3
40
+ !$omp target parallel do map(tofrom: r) num_threads(2) reduction(*: r)
41
+ do i = 1, 8
42
+ r = r * 2
43
+ end do
44
+ !$omp end target parallel do
45
+ print '(a,i0)', 'r= ', r
46
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', r == 768)
47
+ end program p
48
+
49
+ ! site:
50
+ ! title: num_threads with a * reduction gives 0
51
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a worksharing-loop reduction with *, max or iand in a parallel region
52
+ ! + with num_threads(2) inside a target region: the result is 0. Without num_threads, or with a + reduction, the result is right.
53
+ ! control: fuzz/controls/nvhpc-num-threads-removed-control.f90 one change from the finding; correct on nvhpc, nvhpc269
54
+ ! end site
@@ -0,0 +1,66 @@
1
+ ! # Finding (parity-fuzz-c1): NVHPC: nvfortran fails with "Compiler failed to translate OpenMP region" on firstprivate on a target
2
+ ! # parallel construct that contains a worksharing loop
3
+ !
4
+ ! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
5
+ ! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
6
+ ! - failure: compiler failure (NVFORTRAN-F-0155, exit status 2 at compile time); the harness files it as rejected, the index as
7
+ ! ice, as the C sibling nvhpc-c-parallel-for-firstprivate-in-target.c does
8
+ ! - observed: `NVFORTRAN-F-0155-Compiler failed to translate OpenMP region
9
+ ! (<tmpdir>/nvhpc-target-parallel-firstprivate-translate-failure.f90: 6)`; identical signature on 4 of 4 failing cells
10
+ ! - expected: compiles and prints `suma= 2272` with `check=pass`
11
+ ! - rule: the target construct's clauses include firstprivate (5.2 §13.8 p.284 l.4-6), and "The semantics of the combined constructs
12
+ ! are identical to that of explicitly specifying the first construct containing one instance of the second construct and no other
13
+ ! statements." (5.2 §17.4 p.343 l.7-8): the program is target firstprivate(k) containing a parallel region with a worksharing
14
+ ! loop, which nvfortran compiles (variants)
15
+ ! - vendor: "The if, private, firstprivate, is_device_ptr, and nowait clauses are supported" on the target construct and "Combined
16
+ ! constructs are supported to the extent that the component constructs are themselves supported." (NVIDIA HPC Compilers User's
17
+ ! Guide 26.9, Using OpenMP, items 2.12.5 and 2.13; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt). The C sibling,
18
+ ! firstprivate on a parallel for in a target region, is nvhpc-c-parallel-for-firstprivate-in-target.c (the same message)
19
+ ! - same-compiler control: controls/nvhpc-target-parallel-firstprivate-dropped-control.f90 (one change from this file; correct on
20
+ ! nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.fp2.jsonl, results/parity/nvc1/wt.fp2.jsonl)
21
+ ! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
22
+ ! file correctly (rows results/parity/nvc1/tuo.fp2.jsonl)
23
+ ! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.fp2.jsonl (both releases,
24
+ ! separate and managed memory) and results/parity/nvc1/tuo.fp2.jsonl: the same loop under target firstprivate(k) with a separate
25
+ ! parallel construct (nvhpc-target-firstprivate-split-variant.f90) and as target parallel do firstprivate(k)
26
+ ! (nvhpc-target-parallel-do-firstprivate-variant.f90) compile and are correct on NVHPC. The fuzz program (seed 2207) also has a
27
+ ! critical construct in the region, which the guide documents as unsupported on GPU targets; with firstprivate(p1) removed
28
+ ! nvfortran reports that error instead (an exploration compile, not a recorded row), so the translation failure comes first
29
+ ! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
30
+ ! results/parity/nvc1/gate_abd.fp2.jsonl, results/parity/nvc1/gate_abd.fp2.m2.jsonl, results/parity/nvc1/gate_c.fp2.jsonl,
31
+ ! results/parity/nvc1/gate_c.fp2.m2.jsonl, results/parity/nvc1/wt.fp2.jsonl); campaign gate of the programs below: 2 cells, 2
32
+ ! confirmed in the four environments (a-d; (c) on another node or GPU; rows
33
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
34
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
35
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl,
36
+ ! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl)
37
+ ! - programs (1): par-c1-nvhpc-nvhpc269:2207
38
+ ! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its control and the variants above
39
+ ! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvc1/prerun.fp2.txt); AFAR 24.3.0 and CCE
40
+ ! 19/20/21/21.0.4
41
+ ! compile and run it correctly with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.fp2.jsonl). NVHPC is the compiler under test and is
42
+ ! not counted as a witness
43
+ program p
44
+ implicit none
45
+ integer :: a(64), i, k
46
+ a = 0
47
+ k = 3
48
+ !$omp target parallel map(tofrom: a) firstprivate(k)
49
+ !$omp do
50
+ do i = 1, 64
51
+ a(i) = i + k
52
+ end do
53
+ !$omp end do nowait
54
+ !$omp end target parallel
55
+ print '(a,i0)', 'suma= ', sum(a)
56
+ print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 2080 + 64 * 3)
57
+ end program p
58
+
59
+ ! site:
60
+ ! title: firstprivate on target parallel with a do loop: translation failure
61
+ ! summary: nvfortran -mp=gpu appears to behave incorrectly on a target parallel construct with firstprivate that contains a
62
+ ! + worksharing loop: the compile stops with "Compiler failed to translate OpenMP region". Without firstprivate, or with a separate
63
+ ! + parallel construct, it compiles and runs correctly.
64
+ ! control: fuzz/controls/nvhpc-target-parallel-firstprivate-dropped-control.f90 one change from the finding; correct on nvhpc,
65
+ ! + nvhpc269
66
+ ! end site