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.
- offload/__init__.py +10 -0
- offload/__main__.py +5 -0
- offload/_bundle.py +74 -0
- offload/_root/catalog/acc/claims.yaml +197 -0
- offload/_root/catalog/acc/clauses.yaml +391 -0
- offload/_root/catalog/acc/no_oracle.yaml +89 -0
- offload/_root/catalog/acc/out_of_scope.yaml +17 -0
- offload/_root/catalog/acc/rules.yaml +433 -0
- offload/_root/catalog/acc/semantic_atoms.yaml +27 -0
- offload/_root/catalog/acc/skeleton.yaml +1567 -0
- offload/_root/catalog/acc/spec_overrides.yaml +72 -0
- offload/_root/catalog/later_forms.yaml +76 -0
- offload/_root/catalog/machines.yaml +218 -0
- offload/_root/catalog/omp/claims.yaml +2047 -0
- offload/_root/catalog/omp/clauses.yaml +914 -0
- offload/_root/catalog/omp/derivations.yaml +177 -0
- offload/_root/catalog/omp/memory_modes.yaml +40 -0
- offload/_root/catalog/omp/no_oracle.yaml +373 -0
- offload/_root/catalog/omp/omp50_delta.yaml +377 -0
- offload/_root/catalog/omp/out_of_scope.yaml +64 -0
- offload/_root/catalog/omp/port_equivalence.yaml +352 -0
- offload/_root/catalog/omp/rules.yaml +3131 -0
- offload/_root/catalog/omp/rules_coverage.yaml +9939 -0
- offload/_root/catalog/omp/semantic_atoms.yaml +34 -0
- offload/_root/catalog/omp/skeleton.yaml +9181 -0
- offload/_root/catalog/omp/spec_overrides.yaml +932 -0
- offload/_root/catalog/toolchains.yaml +472 -0
- offload/_root/catalog/vendor_claims_generic.yaml +40925 -0
- offload/_root/data/canuse/b.json +1 -0
- offload/_root/data/canuse/c.json +1 -0
- offload/_root/data/canuse/columns.json +1 -0
- offload/_root/data/canuse/d.json +1 -0
- offload/_root/data/canuse/f.json +1 -0
- offload/_root/data/canuse/index.json +1 -0
- offload/_root/data/canuse/p.json +1 -0
- offload/_root/data/compilers/afar.json +1 -0
- offload/_root/data/compilers/cce19.json +1 -0
- offload/_root/data/compilers/cce20.json +1 -0
- offload/_root/data/compilers/cce21.json +1 -0
- offload/_root/data/compilers/cce21_4.json +1 -0
- offload/_root/data/compilers/gcc.json +1 -0
- offload/_root/data/compilers/gcc_sm80.json +1 -0
- offload/_root/data/compilers/nvhpc.json +1 -0
- offload/_root/data/compilers/nvhpc269.json +1 -0
- offload/_root/data/findings/AUTHORING.md +107 -0
- offload/_root/data/findings/README.md +33 -0
- offload/_root/data/findings/afar-c-error-directive-in-target-link.c +37 -0
- offload/_root/data/findings/afar-c-lastprivate-distribute-parallel-for-small-type.c +56 -0
- offload/_root/data/findings/afar-c-teams-distribute-reduction-first-team.c +59 -0
- offload/_root/data/findings/afar-c-update-iterator-copy-mode.c +45 -0
- offload/_root/data/findings/afar-c-xnack1-target-is-present.c +31 -0
- offload/_root/data/findings/afar-cce19-character-defaultmap.f90 +27 -0
- offload/_root/data/findings/afar-cce19-task-in-target-ice.f90 +23 -0
- offload/_root/data/findings/afar-clang-requires-device-safesync-hang.c +24 -0
- offload/_root/data/findings/afar-flang-firstprivate-map-two-targets.f90 +34 -0
- offload/_root/data/findings/afar-flang-loop-bind-teams-reduction.f90 +27 -0
- offload/_root/data/findings/afar-flang-task-reduction-max.f90 +31 -0
- offload/_root/data/findings/afar-flang-thread-limit-target-parallel-do.f90 +22 -0
- offload/_root/data/findings/afar-linear-ref-omp50.f90 +29 -0
- offload/_root/data/findings/afar-loop-bind-thread-in-teams.f90 +44 -0
- offload/_root/data/findings/afar-nontemporal-assumed-shape-ice.f90 +38 -0
- offload/_root/data/findings/afar-udr-derived-type-link.f90 +41 -0
- offload/_root/data/findings/afar-xnack1-atomic-min-nested-parallel.f90 +53 -0
- offload/_root/data/findings/afar-xnack1-present-not-enforced.f90 +36 -0
- offload/_root/data/findings/afar-xnack1-target-is-present.f90 +47 -0
- offload/_root/data/findings/apps/afar-cce-teams-private-array-nested-parallel-wrong.f90 +100 -0
- offload/_root/data/findings/apps/cce20-device-link-infer-address-spaces-crash.f90 +159 -0
- offload/_root/data/findings/apps/cce21-device-link-agpr-copy-mfma-assert.f90 +343 -0
- offload/_root/data/findings/apps/cce21-private-array-loaded-subscript-wrong.f90 +113 -0
- offload/_root/data/findings/apps/controls/bubble-simple-rddot.f90 +284 -0
- offload/_root/data/findings/apps/controls/bubble-two-substeps.f90 +287 -0
- offload/_root/data/findings/apps/controls/cbc-inline.f90 +97 -0
- offload/_root/data/findings/apps/controls/cbc-integers.f90 +91 -0
- offload/_root/data/findings/apps/controls/cbc-only-density.f90 +97 -0
- offload/_root/data/findings/apps/controls/cbc-only-velocity.f90 +97 -0
- offload/_root/data/findings/apps/controls/gcc-acc-c-tile-control.c +26 -0
- offload/_root/data/findings/apps/controls/gcc-acc-tile-control.f90 +29 -0
- offload/_root/data/findings/apps/controls/private-array-subscript-probes.f90 +45 -0
- offload/_root/data/findings/apps/controls/teams-private-array-read-par.f90 +31 -0
- offload/_root/data/findings/apps/controls/teams-private-array-seq.f90 +30 -0
- offload/_root/data/findings/apps/controls/teams-private-array-shared.f90 +34 -0
- offload/_root/data/findings/apps/controls/teams-private-array-split.f90 +36 -0
- offload/_root/data/findings/apps/controls/teams-private-array-write-par.f90 +31 -0
- offload/_root/data/findings/apps/gcc-acc-c-tile-partial-tiles-wrong.c +60 -0
- offload/_root/data/findings/apps/gcc-acc-tile-partial-tiles-wrong.f90 +64 -0
- offload/_root/data/findings/catalog/afar-c-complex-reduction-link.c +66 -0
- offload/_root/data/findings/catalog/afar-c-critical-hint-link.c +68 -0
- offload/_root/data/findings/catalog/afar-c-ordered-doacross-link.c +62 -0
- offload/_root/data/findings/catalog/afar-c-reduction-task-link.c +81 -0
- offload/_root/data/findings/catalog/afar-flang-absent-optional-target-crash.f90 +76 -0
- offload/_root/data/findings/catalog/afar-flang-critical-target-parallel-wrong.f90 +74 -0
- offload/_root/data/findings/catalog/afar-flang-dist-schedule-chunk.f90 +80 -0
- offload/_root/data/findings/catalog/afar-flang-linear-parallel-ice.f90 +68 -0
- offload/_root/data/findings/catalog/afar-flang-named-critical-link.f90 +67 -0
- offload/_root/data/findings/catalog/afar-flang-ordered-wrong.f90 +78 -0
- offload/_root/data/findings/catalog/afar-flang-reduction-minus-rejected.f90 +77 -0
- offload/_root/data/findings/catalog/afar-flang-reduction-task-ice.f90 +68 -0
- offload/_root/data/findings/catalog/afar-flang-sections-in-target-ice.f90 +67 -0
- offload/_root/data/findings/catalog/afar-flang-workdistribute-ice.f90 +71 -0
- offload/_root/data/findings/catalog/c-allocate-const-mem-firstprivate-wrong.c +79 -0
- offload/_root/data/findings/catalog/cce-acc-allocate-in-compute-crash.f90 +65 -0
- offload/_root/data/findings/catalog/cce-acc-character-dummy-routine-ice.f90 +81 -0
- offload/_root/data/findings/catalog/cce-acc-loop-seq-in-routine-wrong.f90 +81 -0
- offload/_root/data/findings/catalog/cce-acc-stop-in-compute-crash.f90 +62 -0
- offload/_root/data/findings/catalog/cce-allocators-stack-ice.f90 +81 -0
- offload/_root/data/findings/catalog/cce-atomic-default-mem-order-acquire-release-rejected.f90 +61 -0
- offload/_root/data/findings/catalog/cce-c-allocate-align-link.c +83 -0
- offload/_root/data/findings/catalog/cce-c-allocate-allocator-modifier-rejected.c +77 -0
- offload/_root/data/findings/catalog/cce-c-device-type-directive-name-ice.c +70 -0
- offload/_root/data/findings/catalog/cce-c-dist-schedule-chunk.c +81 -0
- offload/_root/data/findings/catalog/cce-c-f-pointer-device-link.f90 +70 -0
- offload/_root/data/findings/catalog/cce-c-lastprivate-parallel-in-seq-loop-wrong.c +64 -0
- offload/_root/data/findings/catalog/cce-c-long-double-ice.c +61 -0
- offload/_root/data/findings/catalog/cce-c-map-iterator-ice.c +92 -0
- offload/_root/data/findings/catalog/cce-c-motion-iterator-rejected.c +68 -0
- offload/_root/data/findings/catalog/cce-c-ordered-doacross-link.c +64 -0
- offload/_root/data/findings/catalog/cce-c-ordered-link.c +77 -0
- offload/_root/data/findings/catalog/cce-c-recursive-function-ice.c +62 -0
- offload/_root/data/findings/catalog/cce-c-reduction-inscan-ice.c +67 -0
- offload/_root/data/findings/catalog/cce-c-reduction-task-link.c +73 -0
- offload/_root/data/findings/catalog/cce-c-sections-in-target-wrong.c +70 -0
- offload/_root/data/findings/catalog/cce-c-single-masked-task-link.c +66 -0
- offload/_root/data/findings/catalog/cce-c-task-in-target-link.c +75 -0
- offload/_root/data/findings/catalog/cce-c-uses-allocators-traits-rejected.c +71 -0
- offload/_root/data/findings/catalog/cce-flang-allocate-const-mem-ice.f90 +67 -0
- offload/_root/data/findings/catalog/cce-flang-allocate-in-target-crash.f90 +68 -0
- offload/_root/data/findings/catalog/cce-flang-lastprivate-parallel-in-seq-loop-wrong.f90 +83 -0
- offload/_root/data/findings/catalog/cce-flang-stop-in-target-crash.f90 +64 -0
- offload/_root/data/findings/catalog/cce-iterator-link.f90 +67 -0
- offload/_root/data/findings/catalog/cce-linear-lastprivate-ice.f90 +69 -0
- offload/_root/data/findings/catalog/cce-nohost-link.f90 +90 -0
- offload/_root/data/findings/catalog/cce-reduction-inscan-ice.f90 +66 -0
- offload/_root/data/findings/catalog/cce-reduction-task-link.f90 +76 -0
- offload/_root/data/findings/catalog/cce19-reduction-task-addrspacecast-ice.f90 +77 -0
- offload/_root/data/findings/catalog/cce20-c-defaultmap-private-storage-rejected.c +85 -0
- offload/_root/data/findings/catalog/cce20-map-self-rejected.f90 +64 -0
- offload/_root/data/findings/catalog/cce21-c-declare-target-local-rejected.c +73 -0
- offload/_root/data/findings/catalog/cce21-c-target-loop-ice.c +77 -0
- offload/_root/data/findings/catalog/defaultmap-present-private-array-abort.f90 +73 -0
- offload/_root/data/findings/catalog/nvhpc-acc-associate-illegal-address.f90 +66 -0
- offload/_root/data/findings/catalog/nvhpc-c-function-pointer-kernel-missing.c +68 -0
- offload/_root/data/findings/catalog/nvhpc-c-long-double-kernel-missing.c +64 -0
- offload/_root/data/findings/catalog/nvhpc-c-static-local-kernel-missing.c +73 -0
- offload/_root/data/findings/catalog/nvhpc-c-vla-kernel-missing.c +63 -0
- offload/_root/data/findings/catalog/nvhpc-flang-type-bound-kernel-missing.f90 +86 -0
- offload/_root/data/findings/cce-acc-init-set-runtime-assert.f90 +35 -0
- offload/_root/data/findings/cce-acc-reduction-200-int8-scalars-wrong.f90 +1278 -0
- offload/_root/data/findings/cce-acc-routine-bind-module-ice.f90 +35 -0
- offload/_root/data/findings/cce-acc-self-condition-ignored.f90 +17 -0
- offload/_root/data/findings/cce-c-dist-schedule-segv.c +34 -0
- offload/_root/data/findings/cce-c-map-delete-refcount.c +47 -0
- offload/_root/data/findings/cce-c-map-present-assert.c +45 -0
- offload/_root/data/findings/cce-c-openmp45-device-link.c +34 -0
- offload/_root/data/findings/cce-c-parallel-for-in-target.c +73 -0
- offload/_root/data/findings/cce-defaultmap-tofrom-explicit-map.f90 +92 -0
- offload/_root/data/findings/cce-mapper-next-map-copy-back.f90 +48 -0
- offload/_root/data/findings/cce-trim-merge-output-one-character.f90 +40 -0
- offload/_root/data/findings/cce-uses-allocators-traits-omp50.f90 +28 -0
- offload/_root/data/findings/cce19-acc-if-false-link.f90 +17 -0
- offload/_root/data/findings/cce19-c-reduction-63-scalars-one-wrong.c +235 -0
- offload/_root/data/findings/cce19-target-parallel-guarded-loop.f90 +35 -0
- offload/_root/data/findings/cce19-target-parallel-single-ice.f90 +38 -0
- offload/_root/data/findings/cce21-alloc-2e32-sum-wrong.f90 +68 -0
- offload/_root/data/findings/cce21-defaultmap-aggregate-flag.f90 +52 -0
- offload/_root/data/findings/cce21-in-reduction-assumed-shape-write-lost.f90 +61 -0
- offload/_root/data/findings/cce21-in-reduction-taskwait-link.f90 +59 -0
- offload/_root/data/findings/cce21-linear-modifier-default-none.f90 +59 -0
- offload/_root/data/findings/clang-c-declare-target-to-omp52.c +50 -0
- offload/_root/data/findings/clang-c-linear-directive-name-hang.c +30 -0
- offload/_root/data/findings/clang-c-map-iterator-omp51.c +51 -0
- offload/_root/data/findings/clang-c-shared-declare-target-combined.c +58 -0
- offload/_root/data/findings/dataenv/cce-value-dummy-target-write-visible.f90 +74 -0
- offload/_root/data/findings/defaultmap-none-loop-variable.f90 +69 -0
- offload/_root/data/findings/fortran-loop-bind-thread-in-parallel.f90 +53 -0
- offload/_root/data/findings/fortran-schedule-static-in-target.f90 +55 -0
- offload/_root/data/findings/fresh/cce-common-block-name-in-map-rejected.f90 +47 -0
- offload/_root/data/findings/fresh/cce-if-stop-in-target-ice-one-condition.f90 +38 -0
- offload/_root/data/findings/fresh/cce-if-stop-in-target-ice.f90 +43 -0
- offload/_root/data/findings/fresh/cce-list-directed-print-in-target-copy-crash.f90 +40 -0
- offload/_root/data/findings/fresh/cce19-acc-automatic-array-copyout-copy-crash.f90 +56 -0
- offload/_root/data/findings/fresh/cce21-combined-if-runtime-expr-loop-skipped.f90 +57 -0
- offload/_root/data/findings/fresh/nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.f90 +67 -0
- offload/_root/data/findings/fresh/nvhpc-teams-loop-module-allocatable-assign-fort2-crash.f90 +73 -0
- offload/_root/data/findings/fuzz/1131-afar.f90 +48 -0
- offload/_root/data/findings/fuzz/1391-cce20.f90 +40 -0
- offload/_root/data/findings/fuzz/14-cce20.f90 +36 -0
- offload/_root/data/findings/fuzz/1505-cce20.f90 +88 -0
- offload/_root/data/findings/fuzz/1540-afar.f90 +44 -0
- offload/_root/data/findings/fuzz/158-afar.f90 +63 -0
- offload/_root/data/findings/fuzz/16-cce20.f90 +39 -0
- offload/_root/data/findings/fuzz/1644-cce21.f90 +31 -0
- offload/_root/data/findings/fuzz/165-cce19.f90 +52 -0
- offload/_root/data/findings/fuzz/1749-cce20.f90 +34 -0
- offload/_root/data/findings/fuzz/1936-afar.f90 +61 -0
- offload/_root/data/findings/fuzz/1978-cce19.f90 +41 -0
- offload/_root/data/findings/fuzz/2014-cce19.f90 +46 -0
- offload/_root/data/findings/fuzz/2224-cce19.f90 +30 -0
- offload/_root/data/findings/fuzz/2334-cce19.f90 +57 -0
- offload/_root/data/findings/fuzz/536-cce19.f90 +38 -0
- offload/_root/data/findings/fuzz/591-cce19.f90 +54 -0
- offload/_root/data/findings/fuzz/650-afar.f90 +58 -0
- offload/_root/data/findings/fuzz/698-afar.f90 +68 -0
- offload/_root/data/findings/fuzz/700-afar.f90 +46 -0
- offload/_root/data/findings/fuzz/775-cce21.f90 +33 -0
- offload/_root/data/findings/fuzz/87-afar.f90 +47 -0
- offload/_root/data/findings/fuzz/916-afar.f90 +67 -0
- offload/_root/data/findings/fuzz/958-cce20.f90 +44 -0
- offload/_root/data/findings/fuzz/98-cce19.f90 +40 -0
- offload/_root/data/findings/fuzz/README.md +236 -0
- offload/_root/data/findings/fuzz/b1-121-afar.f90 +47 -0
- offload/_root/data/findings/fuzz/b1-183-afar.f90 +55 -0
- offload/_root/data/findings/fuzz/b1-22-cce20.f90 +38 -0
- offload/_root/data/findings/fuzz/b1-231-afar.f90 +56 -0
- offload/_root/data/findings/fuzz/b1-268-afar.f90 +46 -0
- offload/_root/data/findings/fuzz/b2-183-afar.f90 +57 -0
- offload/_root/data/findings/fuzz/b2-209-cce19.f90 +51 -0
- offload/_root/data/findings/fuzz/b2-213-afar.f90 +63 -0
- offload/_root/data/findings/fuzz/b2-52-afar.f90 +56 -0
- offload/_root/data/findings/fuzz/b2-68-afar.f90 +54 -0
- offload/_root/data/findings/fuzz/b2-85-cce20.f90 +55 -0
- offload/_root/data/findings/fuzz/b3-188-cce19.f90 +90 -0
- offload/_root/data/findings/fuzz/b3-190-cce21.f90 +88 -0
- offload/_root/data/findings/fuzz/b3-197-cce19.f90 +77 -0
- offload/_root/data/findings/fuzz/b3-250-cce20.f90 +89 -0
- offload/_root/data/findings/fuzz/b3-278-cce19.f90 +70 -0
- offload/_root/data/findings/fuzz/b3-45-cce21.f90 +83 -0
- offload/_root/data/findings/fuzz/b3-54-afar.f90 +67 -0
- offload/_root/data/findings/fuzz/b3-61-cce20.f90 +100 -0
- offload/_root/data/findings/fuzz/b3-9-afar.f90 +100 -0
- offload/_root/data/findings/fuzz/b3-9-cce21.f90 +103 -0
- offload/_root/data/findings/fuzz/b3-94-afar.f90 +80 -0
- offload/_root/data/findings/fuzz/b4-39-afar.f90 +141 -0
- offload/_root/data/findings/fuzz/b4-86-cce19.f90 +71 -0
- offload/_root/data/findings/fuzz/controls/gcc-complex-pointer-store-control.f90 +28 -0
- offload/_root/data/findings/fuzz/controls/gcc-declare-reduction-module-control.f90 +29 -0
- offload/_root/data/findings/fuzz/controls/gcc-target-simd-map-nontemporal-control.f90 +21 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-mapped-control.f90 +22 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-unreferenced-control.f90 +22 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-default-none-removed-control.f90 +18 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-default-shared-control.f90 +18 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-firstprivate-removed-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-reduction-mapped-control.f90 +17 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-removed-control.f90 +17 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-tofrom-lastprivate-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-depend-explicit-map-control.f90 +22 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-depend-removed-control.f90 +22 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-distribute-end-distribute-control.f90 +16 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-num-threads-removed-control.f90 +26 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-removed-control.f90 +22 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-distribute-simd-no-end-directive-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-explicit-length-character-dummy-control.f90 +18 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-array-value-control.f90 +23 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-distribute-control.f90 +20 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-map-always-first-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-map-always-removed-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-num-threads-removed-control.f90 +12 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-firstprivate-dropped-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-single-nowait-control.f90 +13 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-split-control.f90 +15 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-collapse-split-control.f90 +21 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-end-directive-control.f90 +14 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-no-collapse-control.f90 +19 -0
- offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-split-no-end-directive-control.f90 +15 -0
- offload/_root/data/findings/fuzz/gcc-declare-reduction-module-not-found.f90 +66 -0
- offload/_root/data/findings/fuzz/gcc-strided-target-update-rejected.f90 +58 -0
- offload/_root/data/findings/fuzz/gcc-target-simd-map-nontemporal-rejected.f90 +54 -0
- offload/_root/data/findings/fuzz/nvhpc-allocatable-component-implicit-map-illegal-address.f90 +84 -0
- offload/_root/data/findings/fuzz/nvhpc-assumed-length-character-dummy-map-ice.f90 +69 -0
- offload/_root/data/findings/fuzz/nvhpc-default-none-reduction-lastprivate-fort1-crash.f90 +70 -0
- offload/_root/data/findings/fuzz/nvhpc-defaultmap-firstprivate-lastprivate-ice.f90 +71 -0
- offload/_root/data/findings/fuzz/nvhpc-defaultmap-to-scalar-reduction-lost.f90 +82 -0
- offload/_root/data/findings/fuzz/nvhpc-depend-implicit-map-illegal-address.f90 +81 -0
- offload/_root/data/findings/fuzz/nvhpc-distribute-parallel-num-threads-writes-lost.f90 +79 -0
- offload/_root/data/findings/fuzz/nvhpc-end-distribute-simd-rejected.f90 +70 -0
- offload/_root/data/findings/fuzz/nvhpc-loop-character-achar-unsupported.f90 +75 -0
- offload/_root/data/findings/fuzz/nvhpc-map-always-after-map-to-not-copied-back.f90 +70 -0
- offload/_root/data/findings/fuzz/nvhpc-num-threads-reduction-identity-lost.f90 +54 -0
- offload/_root/data/findings/fuzz/nvhpc-target-parallel-firstprivate-translate-failure.f90 +66 -0
- offload/_root/data/findings/fuzz/nvhpc-target-parallel-single-hang.f90 +68 -0
- offload/_root/data/findings/fuzz/nvhpc-target-simd-collapse-translate-failure.f90 +73 -0
- offload/_root/data/findings/fuzz/nvhpc-target-simd-no-end-directive-rejected.f90 +68 -0
- offload/_root/data/findings/fuzz/par-s1-2082-gcc_g90.f90 +71 -0
- offload/_root/data/findings/fuzz/s1-2370-cce21.f90 +67 -0
- offload/_root/data/findings/fuzz/s1-2592-cce21.f90 +56 -0
- offload/_root/data/findings/fuzz/s1-3463-cce21.f90 +92 -0
- offload/_root/data/findings/fuzz/s1-4339-afar.f90 +79 -0
- offload/_root/data/findings/fuzz/s1-6085-cce21.f90 +96 -0
- offload/_root/data/findings/fuzz/s1-6760-cce20.f90 +65 -0
- offload/_root/data/findings/fuzz/s1-6888-cce21.f90 +76 -0
- offload/_root/data/findings/fuzz/s1-7882-cce20.f90 +63 -0
- offload/_root/data/findings/fuzz/s1-8634-cce21.f90 +45 -0
- offload/_root/data/findings/fuzz/s1-91-cce21.f90 +92 -0
- offload/_root/data/findings/fuzz/s1-9443-afar.f90 +59 -0
- offload/_root/data/findings/fuzz/s1-9914-cce19.f90 +78 -0
- offload/_root/data/findings/gcc/controls/gcc-acc-c-detach-control.c +34 -0
- offload/_root/data/findings/gcc/controls/gcc-acc-detach-control.f90 +26 -0
- offload/_root/data/findings/gcc/controls/gcc-defaultmap-to-pointer-control.f90 +31 -0
- offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.c +26 -0
- offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.f90 +21 -0
- offload/_root/data/findings/gcc/gcc-acc-bind-device-type-rejected.f90 +71 -0
- offload/_root/data/findings/gcc/gcc-acc-c-bind-device-type-rejected.c +76 -0
- offload/_root/data/findings/gcc/gcc-acc-c-detach-delete-attach-underflow.c +74 -0
- offload/_root/data/findings/gcc/gcc-acc-c-gang-dim-rejected.c +79 -0
- offload/_root/data/findings/gcc/gcc-acc-c-link-in-routine-rejected.c +82 -0
- offload/_root/data/findings/gcc/gcc-acc-detach-delete-attach-underflow.f90 +66 -0
- offload/_root/data/findings/gcc/gcc-acc-gang-dim-collapse-force-rejected.f90 +69 -0
- offload/_root/data/findings/gcc/gcc-acc-init-set-shutdown-rejected.f90 +70 -0
- offload/_root/data/findings/gcc/gcc-acc-link-in-routine-rejected.f90 +82 -0
- offload/_root/data/findings/gcc/gcc-acc-use-device-allocatable-rejected.f90 +88 -0
- offload/_root/data/findings/gcc/gcc-c-motion-mapper-rejected.c +110 -0
- offload/_root/data/findings/gcc/gcc-c-omp60-undocumented-rejected.c +76 -0
- offload/_root/data/findings/gcc/gcc-c-omp60-unimplemented-rejected.c +119 -0
- offload/_root/data/findings/gcc/gcc-c-target-in-task-mandatory-device-not-found.c +87 -0
- offload/_root/data/findings/gcc/gcc-c-uses-allocators-traits-unimplemented.c +85 -0
- offload/_root/data/findings/gcc/gcc-declare-mapper-rejected.f90 +85 -0
- offload/_root/data/findings/gcc/gcc-defaultmap-to-pointer-copy-back.f90 +66 -0
- offload/_root/data/findings/gcc/gcc-loop-bind-default-none-rejected.f90 +93 -0
- offload/_root/data/findings/gcc/gcc-omp60-undocumented-rejected.f90 +72 -0
- offload/_root/data/findings/gcc/gcc-omp60-unimplemented-rejected.f90 +112 -0
- offload/_root/data/findings/gcc/gcc-target-in-task-mandatory-device-not-found.f90 +83 -0
- offload/_root/data/findings/gcc/gcc-uses-allocators-traits-unimplemented.f90 +78 -0
- offload/_root/data/findings/harvest/afar-flang-strided-target-update.f90 +96 -0
- offload/_root/data/findings/harvest/cce-acc-declare-create-module-allocatable-xnack1-fault.f90 +58 -0
- offload/_root/data/findings/harvest/cce-c-implicit-struct-map-partly-present.c +100 -0
- offload/_root/data/findings/harvest/cce-c-strided-target-update.c +74 -0
- offload/_root/data/findings/harvest/cce-ftn-target-parallel-thread-query-ice.f90 +67 -0
- offload/_root/data/findings/harvest/cce-named-constant-array-declare-target-routine-rejected.f90 +69 -0
- offload/_root/data/findings/harvest/cce-use-device-ptr-c-ptr-not-converted.f90 +64 -0
- offload/_root/data/findings/harvest/cce21-declare-target-link-module-variable-write-lost.f90 +63 -0
- offload/_root/data/findings/harvest/cce21-internal-procedure-calls-internal-in-target-fault.f90 +71 -0
- offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-target-only-control.c +22 -0
- offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-whole-control.c +23 -0
- offload/_root/data/findings/harvest/controls/gcc-acc-declare-create-allocatable-control.f90 +34 -0
- offload/_root/data/findings/harvest/controls/gcc-c-same-item-two-maps-control.c +17 -0
- offload/_root/data/findings/harvest/controls/gcc-c-target-data-struct-pointer-section-control.c +27 -0
- offload/_root/data/findings/harvest/controls/gcc-c-target-data-two-maps-control.c +20 -0
- offload/_root/data/findings/harvest/controls/gcc-same-item-two-maps-control.f90 +16 -0
- offload/_root/data/findings/harvest/controls/gcc-teams-simd-matmul-allocatable-control.f90 +27 -0
- offload/_root/data/findings/harvest/gcc-acc-declare-create-allocatable-not-mapped.f90 +66 -0
- offload/_root/data/findings/harvest/gcc-c-same-item-two-maps-rejected.c +45 -0
- offload/_root/data/findings/harvest/gcc-c-strided-section-rejected.c +70 -0
- offload/_root/data/findings/harvest/gcc-c-target-data-struct-pointer-section-ice.c +78 -0
- offload/_root/data/findings/harvest/gcc-c-target-data-two-maps-ice.c +49 -0
- offload/_root/data/findings/harvest/gcc-same-item-two-maps-rejected.f90 +46 -0
- offload/_root/data/findings/harvest/gcc-teams-simd-matmul-allocatable-ice.f90 +53 -0
- offload/_root/data/findings/harvest/nvhpc-c-target-data-if-false-use-device-ptr-garbage.c +49 -0
- offload/_root/data/findings/harvest/nvhpc-named-constant-array-declare-target-routine-rejected.f90 +65 -0
- offload/_root/data/findings/harvest/nvhpc-use-device-ptr-c-ptr-not-found.f90 +60 -0
- offload/_root/data/findings/harvest/nvhpc2511-target-nowait-in-parallel-for-ice.c +59 -0
- offload/_root/data/findings/hecbench/controls/f16-ctl-float-array.c +28 -0
- offload/_root/data/findings/hecbench/controls/pc-ctl-builtin-popcount.c +37 -0
- offload/_root/data/findings/hecbench/controls/pc-ctl-shift-sum.c +43 -0
- offload/_root/data/findings/hecbench/gcc-c-float16-array-in-target-lto-ice.c +65 -0
- offload/_root/data/findings/hecbench/gcc-c-swar-popcount-assembler-error.c +80 -0
- offload/_root/data/findings/index.yaml +2453 -0
- offload/_root/data/findings/malloc/afar-device-malloc-in-kernel-corrupts-records.c +371 -0
- offload/_root/data/findings/malloc/controls/afar-first-use-malloc-direct.c +52 -0
- offload/_root/data/findings/malloc/controls/afar-first-use-malloc-fence.c +57 -0
- offload/_root/data/findings/malloc/controls/afar-first-use-malloc-flush.c +57 -0
- offload/_root/data/findings/malloc/controls/afar-first-use-malloc-stack.c +52 -0
- offload/_root/data/findings/multithread-allocatable-section-maps.f90 +91 -0
- offload/_root/data/findings/nested/afar-cce-c-call-result-member-in-target-rejected.c +69 -0
- offload/_root/data/findings/nested/afar-cce-c-update-struct-and-member-rejected.c +92 -0
- offload/_root/data/findings/nested/afar-flang-pointer-root-allocatable-component-enter-data-fault.f90 +121 -0
- offload/_root/data/findings/nested/cce-c-struct-and-nested-pointee-sections-ice.c +79 -0
- offload/_root/data/findings/nested/cce-fortran-nested-allocatable-component-copy-fault.f90 +64 -0
- offload/_root/data/findings/nested/cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.f90 +93 -0
- offload/_root/data/findings/nested/cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.f90 +80 -0
- offload/_root/data/findings/nested/controls/c3-ctl-nested-data.c +27 -0
- offload/_root/data/findings/nested/controls/c5-acc-serial-struct-and-array.c +26 -0
- offload/_root/data/findings/nested/controls/e2-ctl-two-directives.c +42 -0
- offload/_root/data/findings/nested/controls/e3-ctl-attach-clause.c +42 -0
- offload/_root/data/findings/nested/controls/f3-pointer-array-only.c +33 -0
- offload/_root/data/findings/nested/controls/f5-ctl-copyout-exit.c +33 -0
- offload/_root/data/findings/nested/controls/f6-ctl-pointer-to-struct-array.c +28 -0
- offload/_root/data/findings/nested/controls/g2-ctl-allocatable.f90 +34 -0
- offload/_root/data/findings/nested/controls/g2-ctl-entered-to.f90 +34 -0
- offload/_root/data/findings/nested/controls/g3-ctl-from-struct-no-element.c +27 -0
- offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-to.c +27 -0
- offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-tofrom.c +27 -0
- offload/_root/data/findings/nested/controls/g5-ctl-element-pointers-only.f90 +36 -0
- offload/_root/data/findings/nested/controls/g5-ctl-root-pointer-only.f90 +36 -0
- offload/_root/data/findings/nested/controls/gp2-ctl-no-mapper-explicit-maps.c +24 -0
- offload/_root/data/findings/nested/controls/gt2-ctl-no-always.c +26 -0
- offload/_root/data/findings/nested/controls/gt3-ctl-always-on-structure-only.c +26 -0
- offload/_root/data/findings/nested/controls/j1-embedded-struct-pointer-to-struct.c +24 -0
- offload/_root/data/findings/nested/controls/j2-ctl-pointer-instead-of-embedded.c +24 -0
- offload/_root/data/findings/nested/controls/j6-ctl-struct-and-one-pointee-level.c +23 -0
- offload/_root/data/findings/nested/controls/j7-ctl-struct-and-embedded-pointee.c +24 -0
- offload/_root/data/findings/nested/controls/m2-ctl-variable-root.f90 +32 -0
- offload/_root/data/findings/nested/controls/m3-ctl-fixed-array-component.f90 +32 -0
- offload/_root/data/findings/nested/controls/m5-ctl-no-enter-data.f90 +33 -0
- offload/_root/data/findings/nested/controls/n8-ctl-fixed-array-in-component.f90 +33 -0
- offload/_root/data/findings/nested/controls/n9-ctl-allocatable-in-the-variable.f90 +33 -0
- offload/_root/data/findings/nested/controls/ns4-ctl-two-directives-struct-then-pointee.c +27 -0
- offload/_root/data/findings/nested/controls/ns8-ctl-enter-together-exit-split.c +26 -0
- offload/_root/data/findings/nested/controls/nu3-ctl-update-pointee-only.c +28 -0
- offload/_root/data/findings/nested/controls/p2-ctl-pointer-variable.c +27 -0
- offload/_root/data/findings/nested/controls/p3-ctl-direct-member.c +26 -0
- offload/_root/data/findings/nested/controls/q2-ctl-fixed-array.f90 +37 -0
- offload/_root/data/findings/nested/controls/q3-ctl-allocatable-component-of-the-variable.f90 +38 -0
- offload/_root/data/findings/nested/controls/ta2-ctl-no-allocatable-component.f90 +42 -0
- offload/_root/data/findings/nested/controls/ta3-ctl-allocatable-scalar-in-the-variable.f90 +38 -0
- offload/_root/data/findings/nested/controls/ta4-ctl-pointer-component-only.f90 +42 -0
- offload/_root/data/findings/nested/controls/u3-ctl-update-member-only.c +24 -0
- offload/_root/data/findings/nested/controls/u4-ctl-two-updates.c +25 -0
- offload/_root/data/findings/nested/controls/u5-ctl-same-list-in-map.c +25 -0
- offload/_root/data/findings/nested/controls/ua2-ctl-variable-root.f90 +37 -0
- offload/_root/data/findings/nested/controls/ua4-ctl-to-in-place-of-alloc-and-update.f90 +37 -0
- offload/_root/data/findings/nested/controls/v2-ctl-parent-first.c +25 -0
- offload/_root/data/findings/nested/controls/v4-ctl-embedded-member.c +24 -0
- offload/_root/data/findings/nested/gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.c +83 -0
- offload/_root/data/findings/nested/gcc-acc-c-parent-and-shared-pointee-one-directive.c +88 -0
- offload/_root/data/findings/nested/gcc-acc-c-struct-and-member-array-one-directive.c +84 -0
- offload/_root/data/findings/nested/gcc-c-always-on-pointer-member-section-ice.c +75 -0
- offload/_root/data/findings/nested/gcc-c-declare-mapper-pointer-member-section-gpu-fault.c +93 -0
- offload/_root/data/findings/nested/gcc-c-from-struct-and-pointee-section-rejected.c +83 -0
- offload/_root/data/findings/nested/gcc-fortran-pointer-component-alloc-bounds-lost.f90 +62 -0
- offload/_root/data/findings/nested/gcc-fortran-root-and-element-pointer-components-ice.f90 +77 -0
- offload/_root/data/findings/nested/nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.c +55 -0
- offload/_root/data/findings/nested/nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.c +86 -0
- offload/_root/data/findings/nvhpc-acc-atomic-update-sum-fort2-crash.f90 +53 -0
- offload/_root/data/findings/nvhpc-c-acc-atomic-update-sum-ice.c +43 -0
- offload/_root/data/findings/nvhpc-c-dist-schedule-chunk-compile-hang.c +41 -0
- offload/_root/data/findings/nvhpc-c-map-present-ignored.c +42 -0
- offload/_root/data/findings/nvhpc-c-ordered-in-target-nvcpfe-crash.c +92 -0
- offload/_root/data/findings/nvhpc-c-parallel-for-firstprivate-in-target.c +62 -0
- offload/_root/data/findings/nvhpc-c-parallel-if-in-target-nvvm-ice.c +56 -0
- offload/_root/data/findings/nvhpc-defaultmap-firstprivate-explicit-map.f90 +45 -0
- offload/_root/data/findings/nvhpc-defaultmap-from-allocatable-indexing.f90 +60 -0
- offload/_root/data/findings/nvhpc-depend-inoutset-ignored.f90 +64 -0
- offload/_root/data/findings/nvhpc-dist-schedule-chunk-illegal-address.f90 +52 -0
- offload/_root/data/findings/nvhpc-managed-acc-shutdown-host-access.f90 +42 -0
- offload/_root/data/findings/nvhpc-parallel-if-in-target-nvvm-ice.f90 +60 -0
- offload/_root/data/findings/oop/afar-final-dealloc-device-link.f90 +85 -0
- offload/_root/data/findings/oop/afar-pdt-length-parameter-not-implemented.f90 +65 -0
- offload/_root/data/findings/oop/cce-class-is-device-link.f90 +86 -0
- offload/_root/data/findings/oop/cce-copy-alloc-component-section-fault.f90 +73 -0
- offload/_root/data/findings/oop/cce-copy-parent-to-component-tofrom-lost.f90 +65 -0
- offload/_root/data/findings/oop/cce-copy-second-member-section-lost.f90 +65 -0
- offload/_root/data/findings/oop/cce-element-component-map-lost.f90 +64 -0
- offload/_root/data/findings/oop/cce-final-dealloc-device-abort.f90 +85 -0
- offload/_root/data/findings/oop/cce-pdt-default-mapper-rejected.f90 +71 -0
- offload/_root/data/findings/oop/cce-polymorphic-dispatch-device-link.f90 +100 -0
- offload/_root/data/findings/oop/cce-section-of-element-component-overlap.f90 +76 -0
- offload/_root/data/findings/oop/cce-select-type-guard-not-taken.f90 +91 -0
- offload/_root/data/findings/oop/cce-udr-derived-type-unsupported.f90 +69 -0
- offload/_root/data/findings/oop/cce21-element-component-map-lost.f90 +62 -0
- offload/_root/data/findings/oop/controls/alloccomp-comp-only.f90 +44 -0
- offload/_root/data/findings/oop/controls/alloccomp-whole-explicit-component.f90 +50 -0
- offload/_root/data/findings/oop/controls/alloccomp-whole.f90 +49 -0
- offload/_root/data/findings/oop/controls/elemsec-element.f90 +47 -0
- offload/_root/data/findings/oop/controls/final-local.f90 +64 -0
- offload/_root/data/findings/oop/controls/host-class-star-select-type.f90 +58 -0
- offload/_root/data/findings/oop/controls/host-firstprivate-defined-assignment.f90 +54 -0
- offload/_root/data/findings/oop/controls/host-lastprivate-defined-assignment.f90 +58 -0
- offload/_root/data/findings/oop/controls/host-private-finalization.f90 +51 -0
- offload/_root/data/findings/oop/controls/host-select-type.f90 +65 -0
- offload/_root/data/findings/oop/controls/parent-and-comp-component-only.f90 +45 -0
- offload/_root/data/findings/oop/controls/pdt-kind.f90 +46 -0
- offload/_root/data/findings/oop/controls/pdt-len-host.f90 +43 -0
- offload/_root/data/findings/oop/controls/pdt-len-unparameterized.f90 +46 -0
- offload/_root/data/findings/oop/controls/poly-dispatch-static.f90 +75 -0
- offload/_root/data/findings/oop/controls/section-alloc-whole-component.f90 +49 -0
- offload/_root/data/findings/oop/controls/section-element-whole-array.f90 +50 -0
- offload/_root/data/findings/oop/controls/section-element-whole-component.f90 +50 -0
- offload/_root/data/findings/oop/controls/section-fixed.f90 +43 -0
- offload/_root/data/findings/oop/controls/tbp-override.f90 +64 -0
- offload/_root/data/findings/oop/gcc-acc-parent-and-member-data-rejected.f90 +63 -0
- offload/_root/data/findings/oop/gcc-pdt-length-parameter-abort.f90 +68 -0
- offload/_root/data/findings/oop/gcc-polymorphic-dispatch-abort.f90 +97 -0
- offload/_root/data/findings/oop/gcc-vtab-not-marked-for-offload.f90 +94 -0
- offload/_root/data/findings/oop/nvhpc-copy-alloc-component-illegal-address.f90 +76 -0
- offload/_root/data/findings/oop/nvhpc-copy-pdt-length-parameter-illegal-address.f90 +69 -0
- offload/_root/data/findings/oop/nvhpc-named-mapper-rejected.f90 +65 -0
- offload/_root/data/findings/oop/nvhpc-polymorphic-dispatch-translate-failure.f90 +90 -0
- offload/_root/data/findings/oop/nvhpc-polymorphism-runtime-unsupported.f90 +94 -0
- offload/_root/data/findings/oop/nvhpc-type-bound-call-rejected.f90 +89 -0
- offload/_root/data/findings/oop/nvhpc-udr-derived-type-rejected.f90 +67 -0
- offload/_root/data/findings/reviews/afar-c-error-directive-in-target-link.json +217 -0
- offload/_root/data/findings/reviews/afar-c-lastprivate-distribute-parallel-for-small-type.json +113 -0
- offload/_root/data/findings/reviews/afar-c-teams-distribute-reduction-first-team.json +130 -0
- offload/_root/data/findings/reviews/afar-c-update-iterator-copy-mode.json +113 -0
- offload/_root/data/findings/reviews/afar-cce19-character-defaultmap.json +292 -0
- offload/_root/data/findings/reviews/afar-clang-requires-device-safesync-hang.json +191 -0
- offload/_root/data/findings/reviews/afar-flang-firstprivate-map-two-targets.json +130 -0
- offload/_root/data/findings/reviews/afar-flang-loop-bind-teams-reduction.json +126 -0
- offload/_root/data/findings/reviews/afar-flang-task-reduction-max.json +113 -0
- offload/_root/data/findings/reviews/afar-flang-thread-limit-target-parallel-do.json +113 -0
- offload/_root/data/findings/reviews/afar-loop-bind-thread-in-teams.json +191 -0
- offload/_root/data/findings/reviews/afar-nontemporal-assumed-shape-ice.json +113 -0
- offload/_root/data/findings/reviews/afar-udr-derived-type-link.json +113 -0
- offload/_root/data/findings/reviews/afar-xnack1-atomic-min-nested-parallel.json +113 -0
- offload/_root/data/findings/reviews/afar-xnack1-target-is-present.json +113 -0
- offload/_root/data/findings/reviews/apps--afar-cce-teams-private-array-nested-parallel-wrong.json +113 -0
- offload/_root/data/findings/reviews/apps--cce20-device-link-infer-address-spaces-crash.json +113 -0
- offload/_root/data/findings/reviews/apps--cce21-device-link-agpr-copy-mfma-assert.json +113 -0
- offload/_root/data/findings/reviews/apps--cce21-private-array-loaded-subscript-wrong.json +113 -0
- offload/_root/data/findings/reviews/apps--gcc-acc-c-tile-partial-tiles-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-c-ordered-doacross-link.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-c-reduction-task-link.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-absent-optional-target-crash.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-critical-target-parallel-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-dist-schedule-chunk.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-linear-parallel-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-named-critical-link.json +126 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-ordered-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-reduction-minus-rejected.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-sections-in-target-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--afar-flang-workdistribute-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--c-allocate-const-mem-firstprivate-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-acc-character-dummy-routine-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-acc-loop-seq-in-routine-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-allocators-stack-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-c-allocate-align-link.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-c-allocate-allocator-modifier-rejected.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-c-dist-schedule-chunk.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-c-f-pointer-device-link.json +130 -0
- offload/_root/data/findings/reviews/catalog--cce-c-long-double-ice.json +217 -0
- offload/_root/data/findings/reviews/catalog--cce-c-map-iterator-ice.json +217 -0
- offload/_root/data/findings/reviews/catalog--cce-c-recursive-function-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-c-sections-in-target-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-flang-allocate-in-target-crash.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-flang-lastprivate-parallel-in-seq-loop-wrong.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-flang-stop-in-target-crash.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-iterator-link.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-linear-lastprivate-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-reduction-inscan-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce-reduction-task-link.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce19-reduction-task-addrspacecast-ice.json +113 -0
- offload/_root/data/findings/reviews/catalog--cce20-c-defaultmap-private-storage-rejected.json +217 -0
- offload/_root/data/findings/reviews/catalog--cce20-map-self-rejected.json +204 -0
- offload/_root/data/findings/reviews/catalog--cce21-c-target-loop-ice.json +126 -0
- offload/_root/data/findings/reviews/catalog--defaultmap-present-private-array-abort.json +236 -0
- offload/_root/data/findings/reviews/catalog--nvhpc-acc-associate-illegal-address.json +113 -0
- offload/_root/data/findings/reviews/catalog--nvhpc-c-function-pointer-kernel-missing.json +268 -0
- offload/_root/data/findings/reviews/cce-acc-init-set-runtime-assert.json +113 -0
- offload/_root/data/findings/reviews/cce-acc-reduction-200-int8-scalars-wrong.json +113 -0
- offload/_root/data/findings/reviews/cce-acc-routine-bind-module-ice.json +113 -0
- offload/_root/data/findings/reviews/cce-c-dist-schedule-segv.json +113 -0
- offload/_root/data/findings/reviews/cce-c-map-delete-refcount.json +149 -0
- offload/_root/data/findings/reviews/cce-c-map-present-assert.json +126 -0
- offload/_root/data/findings/reviews/cce-c-openmp45-device-link.json +113 -0
- offload/_root/data/findings/reviews/cce-c-parallel-for-in-target.json +141 -0
- offload/_root/data/findings/reviews/cce-mapper-next-map-copy-back.json +208 -0
- offload/_root/data/findings/reviews/cce-uses-allocators-traits-omp50.json +191 -0
- offload/_root/data/findings/reviews/cce19-c-reduction-63-scalars-one-wrong.json +113 -0
- offload/_root/data/findings/reviews/cce19-target-parallel-guarded-loop.json +113 -0
- offload/_root/data/findings/reviews/cce19-target-parallel-single-ice.json +113 -0
- offload/_root/data/findings/reviews/cce21-alloc-2e32-sum-wrong.json +113 -0
- offload/_root/data/findings/reviews/cce21-defaultmap-aggregate-flag.json +210 -0
- offload/_root/data/findings/reviews/cce21-in-reduction-assumed-shape-write-lost.json +113 -0
- offload/_root/data/findings/reviews/cce21-in-reduction-taskwait-link.json +113 -0
- offload/_root/data/findings/reviews/clang-c-declare-target-to-omp52.json +113 -0
- offload/_root/data/findings/reviews/clang-c-linear-directive-name-hang.json +113 -0
- offload/_root/data/findings/reviews/clang-c-shared-declare-target-combined.json +132 -0
- offload/_root/data/findings/reviews/dataenv--cce-value-dummy-target-write-visible.json +113 -0
- offload/_root/data/findings/reviews/defaultmap-none-loop-variable.json +113 -0
- offload/_root/data/findings/reviews/fortran-schedule-static-in-target.json +113 -0
- offload/_root/data/findings/reviews/fresh--cce-common-block-name-in-map-rejected.json +113 -0
- offload/_root/data/findings/reviews/fresh--cce-list-directed-print-in-target-copy-crash.json +217 -0
- offload/_root/data/findings/reviews/fresh--cce19-acc-automatic-array-copyout-copy-crash.json +113 -0
- offload/_root/data/findings/reviews/fresh--cce21-combined-if-runtime-expr-loop-skipped.json +113 -0
- offload/_root/data/findings/reviews/fresh--nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.json +113 -0
- offload/_root/data/findings/reviews/fresh--nvhpc-teams-loop-module-allocatable-assign-fort2-crash.json +113 -0
- offload/_root/data/findings/reviews/fuzz--1505-cce20.json +113 -0
- offload/_root/data/findings/reviews/fuzz--1540-afar.json +113 -0
- offload/_root/data/findings/reviews/fuzz--1978-cce19.json +130 -0
- offload/_root/data/findings/reviews/fuzz--2334-cce19.json +113 -0
- offload/_root/data/findings/reviews/fuzz--591-cce19.json +147 -0
- offload/_root/data/findings/reviews/fuzz--650-afar.json +113 -0
- offload/_root/data/findings/reviews/fuzz--916-afar.json +130 -0
- offload/_root/data/findings/reviews/fuzz--98-cce19.json +113 -0
- offload/_root/data/findings/reviews/fuzz--b1-121-afar.json +160 -0
- offload/_root/data/findings/reviews/fuzz--b2-209-cce19.json +141 -0
- offload/_root/data/findings/reviews/fuzz--b2-68-afar.json +113 -0
- offload/_root/data/findings/reviews/fuzz--b2-85-cce20.json +217 -0
- offload/_root/data/findings/reviews/fuzz--b3-188-cce19.json +113 -0
- offload/_root/data/findings/reviews/fuzz--b3-278-cce19.json +212 -0
- offload/_root/data/findings/reviews/fuzz--b3-54-afar.json +113 -0
- offload/_root/data/findings/reviews/fuzz--b3-61-cce20.json +191 -0
- offload/_root/data/findings/reviews/fuzz--b4-86-cce19.json +113 -0
- offload/_root/data/findings/reviews/fuzz--gcc-declare-reduction-module-not-found.json +113 -0
- offload/_root/data/findings/reviews/fuzz--gcc-target-simd-map-nontemporal-rejected.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-allocatable-component-implicit-map-illegal-address.json +141 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-assumed-length-character-dummy-map-ice.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-default-none-reduction-lastprivate-fort1-crash.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-firstprivate-lastprivate-ice.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-to-scalar-reduction-lost.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-depend-implicit-map-illegal-address.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-distribute-parallel-num-threads-writes-lost.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-end-distribute-simd-rejected.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-loop-character-achar-unsupported.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-map-always-after-map-to-not-copied-back.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-num-threads-reduction-identity-lost.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-firstprivate-translate-failure.json +191 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-single-hang.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-collapse-translate-failure.json +113 -0
- offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-no-end-directive-rejected.json +113 -0
- offload/_root/data/findings/reviews/fuzz--par-s1-2082-gcc_g90.json +126 -0
- offload/_root/data/findings/reviews/fuzz--s1-2370-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-2592-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-3463-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-6760-cce20.json +130 -0
- offload/_root/data/findings/reviews/fuzz--s1-6888-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-7882-cce20.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-8634-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-91-cce21.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-9443-afar.json +113 -0
- offload/_root/data/findings/reviews/fuzz--s1-9914-cce19.json +141 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-bind-device-type-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-detach-delete-attach-underflow.json +314 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-gang-dim-collapse-force-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-init-set-shutdown-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-link-in-routine-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-acc-use-device-allocatable-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-c-motion-mapper-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-c-omp60-undocumented-rejected.json +217 -0
- offload/_root/data/findings/reviews/gcc--gcc-c-omp60-unimplemented-rejected.json +236 -0
- offload/_root/data/findings/reviews/gcc--gcc-c-target-in-task-mandatory-device-not-found.json +236 -0
- offload/_root/data/findings/reviews/gcc--gcc-c-uses-allocators-traits-unimplemented.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-declare-mapper-rejected.json +113 -0
- offload/_root/data/findings/reviews/gcc--gcc-defaultmap-to-pointer-copy-back.json +217 -0
- offload/_root/data/findings/reviews/gcc--gcc-loop-bind-default-none-rejected.json +113 -0
- offload/_root/data/findings/reviews/harvest--afar-flang-strided-target-update.json +141 -0
- offload/_root/data/findings/reviews/harvest--cce-acc-declare-create-module-allocatable-xnack1-fault.json +113 -0
- offload/_root/data/findings/reviews/harvest--cce-c-implicit-struct-map-partly-present.json +217 -0
- offload/_root/data/findings/reviews/harvest--cce-c-strided-target-update.json +141 -0
- offload/_root/data/findings/reviews/harvest--cce-ftn-target-parallel-thread-query-ice.json +130 -0
- offload/_root/data/findings/reviews/harvest--cce-named-constant-array-declare-target-routine-rejected.json +113 -0
- offload/_root/data/findings/reviews/harvest--cce-use-device-ptr-c-ptr-not-converted.json +113 -0
- offload/_root/data/findings/reviews/harvest--cce21-declare-target-link-module-variable-write-lost.json +113 -0
- offload/_root/data/findings/reviews/harvest--cce21-internal-procedure-calls-internal-in-target-fault.json +158 -0
- offload/_root/data/findings/reviews/harvest--gcc-acc-declare-create-allocatable-not-mapped.json +204 -0
- offload/_root/data/findings/reviews/harvest--gcc-c-same-item-two-maps-rejected.json +143 -0
- offload/_root/data/findings/reviews/harvest--gcc-c-strided-section-rejected.json +164 -0
- offload/_root/data/findings/reviews/harvest--gcc-c-target-data-struct-pointer-section-ice.json +113 -0
- offload/_root/data/findings/reviews/harvest--gcc-c-target-data-two-maps-ice.json +113 -0
- offload/_root/data/findings/reviews/harvest--gcc-teams-simd-matmul-allocatable-ice.json +113 -0
- offload/_root/data/findings/reviews/harvest--nvhpc-c-target-data-if-false-use-device-ptr-garbage.json +113 -0
- offload/_root/data/findings/reviews/harvest--nvhpc-named-constant-array-declare-target-routine-rejected.json +126 -0
- offload/_root/data/findings/reviews/harvest--nvhpc-use-device-ptr-c-ptr-not-found.json +113 -0
- offload/_root/data/findings/reviews/harvest--nvhpc2511-target-nowait-in-parallel-for-ice.json +130 -0
- offload/_root/data/findings/reviews/hecbench--gcc-c-float16-array-in-target-lto-ice.json +217 -0
- offload/_root/data/findings/reviews/hecbench--gcc-c-swar-popcount-assembler-error.json +126 -0
- offload/_root/data/findings/reviews/malloc--afar-device-malloc-in-kernel-corrupts-records.json +270 -0
- offload/_root/data/findings/reviews/multithread-allocatable-section-maps.json +191 -0
- offload/_root/data/findings/reviews/nested--afar-cce-c-call-result-member-in-target-rejected.json +113 -0
- offload/_root/data/findings/reviews/nested--afar-cce-c-update-struct-and-member-rejected.json +126 -0
- offload/_root/data/findings/reviews/nested--afar-flang-pointer-root-allocatable-component-enter-data-fault.json +191 -0
- offload/_root/data/findings/reviews/nested--cce-c-struct-and-nested-pointee-sections-ice.json +113 -0
- offload/_root/data/findings/reviews/nested--cce-fortran-nested-allocatable-component-copy-fault.json +214 -0
- offload/_root/data/findings/reviews/nested--cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.json +191 -0
- offload/_root/data/findings/reviews/nested--cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.json +297 -0
- offload/_root/data/findings/reviews/nested--gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.json +204 -0
- offload/_root/data/findings/reviews/nested--gcc-acc-c-parent-and-shared-pointee-one-directive.json +130 -0
- offload/_root/data/findings/reviews/nested--gcc-acc-c-struct-and-member-array-one-directive.json +141 -0
- offload/_root/data/findings/reviews/nested--gcc-c-always-on-pointer-member-section-ice.json +113 -0
- offload/_root/data/findings/reviews/nested--gcc-c-declare-mapper-pointer-member-section-gpu-fault.json +113 -0
- offload/_root/data/findings/reviews/nested--gcc-c-from-struct-and-pointee-section-rejected.json +113 -0
- offload/_root/data/findings/reviews/nested--gcc-fortran-pointer-component-alloc-bounds-lost.json +217 -0
- offload/_root/data/findings/reviews/nested--gcc-fortran-root-and-element-pointer-components-ice.json +217 -0
- offload/_root/data/findings/reviews/nested--nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.json +204 -0
- offload/_root/data/findings/reviews/nested--nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.json +191 -0
- offload/_root/data/findings/reviews/nvhpc-c-acc-atomic-update-sum-ice.json +277 -0
- offload/_root/data/findings/reviews/nvhpc-c-dist-schedule-chunk-compile-hang.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-c-map-present-ignored.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-c-ordered-in-target-nvcpfe-crash.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-c-parallel-for-firstprivate-in-target.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-defaultmap-firstprivate-explicit-map.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-defaultmap-from-allocatable-indexing.json +132 -0
- offload/_root/data/findings/reviews/nvhpc-depend-inoutset-ignored.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-dist-schedule-chunk-illegal-address.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-managed-acc-shutdown-host-access.json +113 -0
- offload/_root/data/findings/reviews/nvhpc-parallel-if-in-target-nvvm-ice.json +113 -0
- offload/_root/data/findings/reviews/oop--afar-final-dealloc-device-link.json +132 -0
- offload/_root/data/findings/reviews/oop--afar-pdt-length-parameter-not-implemented.json +113 -0
- offload/_root/data/findings/reviews/oop--cce-class-is-device-link.json +130 -0
- offload/_root/data/findings/reviews/oop--cce-copy-alloc-component-section-fault.json +217 -0
- offload/_root/data/findings/reviews/oop--cce-copy-parent-to-component-tofrom-lost.json +217 -0
- offload/_root/data/findings/reviews/oop--cce-copy-second-member-section-lost.json +113 -0
- offload/_root/data/findings/reviews/oop--cce-element-component-map-lost.json +113 -0
- offload/_root/data/findings/reviews/oop--cce-final-dealloc-device-abort.json +208 -0
- offload/_root/data/findings/reviews/oop--cce-pdt-default-mapper-rejected.json +191 -0
- offload/_root/data/findings/reviews/oop--cce-polymorphic-dispatch-device-link.json +247 -0
- offload/_root/data/findings/reviews/oop--cce-section-of-element-component-overlap.json +113 -0
- offload/_root/data/findings/reviews/oop--cce-select-type-guard-not-taken.json +191 -0
- offload/_root/data/findings/reviews/oop--cce-udr-derived-type-unsupported.json +132 -0
- offload/_root/data/findings/reviews/oop--gcc-acc-parent-and-member-data-rejected.json +141 -0
- offload/_root/data/findings/reviews/oop--gcc-pdt-length-parameter-abort.json +141 -0
- offload/_root/data/findings/reviews/oop--gcc-polymorphic-dispatch-abort.json +217 -0
- offload/_root/data/findings/reviews/oop--gcc-vtab-not-marked-for-offload.json +113 -0
- offload/_root/data/findings/reviews/oop--nvhpc-copy-alloc-component-illegal-address.json +113 -0
- offload/_root/data/findings/reviews/oop--nvhpc-copy-pdt-length-parameter-illegal-address.json +236 -0
- offload/_root/data/findings/reviews/oop--nvhpc-named-mapper-rejected.json +113 -0
- offload/_root/data/findings/reviews/oop--nvhpc-polymorphic-dispatch-translate-failure.json +223 -0
- offload/_root/data/findings/reviews/oop--nvhpc-polymorphism-runtime-unsupported.json +126 -0
- offload/_root/data/findings/reviews/oop--nvhpc-type-bound-call-rejected.json +113 -0
- offload/_root/data/findings/reviews/oop--nvhpc-udr-derived-type-rejected.json +113 -0
- offload/_root/data/findings/reviews/stress--afar-c-lastprivate-combined-target-not-mapped.json +113 -0
- offload/_root/data/findings/reviews/stress--afar-target-scalar-implicit-firstprivate.json +175 -0
- offload/_root/data/findings/reviews/stress--cce-acc-declare-create-scalar-serial-firstprivate.json +113 -0
- offload/_root/data/findings/reviews/stress--cce-c-distribute-lastprivate-lost.json +113 -0
- offload/_root/data/findings/reviews/stress--cce-c-flto-offload-dropped.json +204 -0
- offload/_root/data/findings/reviews/stress--cce-ftn-cif-record-split-abort.json +113 -0
- offload/_root/data/findings/reviews/stress--cce-lastprivate-num-threads-collapse-simd.json +113 -0
- offload/_root/data/findings/reviews/stress--cce-teams-reduction-many-teams-wrap.json +113 -0
- offload/_root/data/findings/reviews/stress--cce21-declare-target-scalar-map-write-lost.json +113 -0
- offload/_root/data/findings/reviews/stress--gcc-declare-target-allocatable-component-ice.json +191 -0
- offload/_root/data/findings/reviews/stress--nvhpc-acc-derived-type-component-not-copied.json +126 -0
- offload/_root/data/findings/reviews/stress--nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.json +113 -0
- offload/_root/data/findings/reviews/stress--nvhpc-declare-target-scalar-write-lost.json +113 -0
- offload/_root/data/findings/reviews/stress--nvhpc-lastprivate-combined-target-not-mapped.json +113 -0
- offload/_root/data/findings/reviews/stress--nvhpc-target-scalar-implicit-firstprivate.json +130 -0
- offload/_root/data/findings/reviews/target-update-sections-in-parallel.json +113 -0
- offload/_root/data/findings/stress/afar-c-lastprivate-combined-target-not-mapped.c +72 -0
- offload/_root/data/findings/stress/afar-target-scalar-implicit-firstprivate.f90 +47 -0
- offload/_root/data/findings/stress/cce-acc-declare-create-scalar-serial-firstprivate.f90 +43 -0
- offload/_root/data/findings/stress/cce-c-distribute-lastprivate-lost.c +52 -0
- offload/_root/data/findings/stress/cce-c-flto-offload-dropped.c +73 -0
- offload/_root/data/findings/stress/cce-ftn-cif-record-split-abort.f90 +109 -0
- offload/_root/data/findings/stress/cce-lastprivate-num-threads-collapse-simd.f90 +66 -0
- offload/_root/data/findings/stress/cce-teams-reduction-many-teams-wrap.f90 +55 -0
- offload/_root/data/findings/stress/cce21-declare-target-scalar-map-write-lost.f90 +58 -0
- offload/_root/data/findings/stress/controls/gcc-declare-target-allocatable-component-control.f90 +29 -0
- offload/_root/data/findings/stress/gcc-declare-target-allocatable-component-ice.f90 +61 -0
- offload/_root/data/findings/stress/nvhpc-acc-derived-type-component-not-copied.f90 +33 -0
- offload/_root/data/findings/stress/nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.c +62 -0
- offload/_root/data/findings/stress/nvhpc-declare-target-scalar-write-lost.f90 +43 -0
- offload/_root/data/findings/stress/nvhpc-lastprivate-combined-target-not-mapped.f90 +60 -0
- offload/_root/data/findings/stress/nvhpc-target-scalar-implicit-firstprivate.f90 +41 -0
- offload/_root/data/findings/target-update-sections-in-parallel.f90 +53 -0
- offload/_root/data/issues.json +1 -0
- offload/_root/data/search.json +1 -0
- offload/_root/data/vendor/checks/build.py +288 -0
- offload/_version.py +24 -0
- offload/canuse.py +88 -0
- offload/cli.py +52 -0
- offload/data.py +85 -0
- offload/engine/__init__.py +0 -0
- offload/engine/acc_c_gen.py +415 -0
- offload/engine/acc_gen.py +1104 -0
- offload/engine/acc_rules.py +656 -0
- offload/engine/apps.py +804 -0
- offload/engine/baseline.py +324 -0
- offload/engine/c_gen.py +883 -0
- offload/engine/c_program.py +913 -0
- offload/engine/c_rules.py +503 -0
- offload/engine/campaign.py +1180 -0
- offload/engine/campaigns/__init__.py +2 -0
- offload/engine/campaigns/hecbench.py +153 -0
- offload/engine/campaigns/nested.py +76 -0
- offload/engine/campaigns/oop.py +61 -0
- offload/engine/canary.py +275 -0
- offload/engine/catalog.py +860 -0
- offload/engine/citations.py +532 -0
- offload/engine/clang_oracle.py +208 -0
- offload/engine/combos.py +234 -0
- offload/engine/confirm/__init__.py +2 -0
- offload/engine/confirm/backlog.py +159 -0
- offload/engine/confirm/claims.py +423 -0
- offload/engine/confirm/collectors.py +665 -0
- offload/engine/confirm/decisions.py +202 -0
- offload/engine/confirm/draft.py +195 -0
- offload/engine/confirm/engine.py +157 -0
- offload/engine/confirm/execute.py +382 -0
- offload/engine/confirm/facts.py +467 -0
- offload/engine/confirm/findings.py +617 -0
- offload/engine/confirm/forms.py +145 -0
- offload/engine/confirm/ingest.py +372 -0
- offload/engine/confirm/jobs.py +215 -0
- offload/engine/confirm/legality.py +323 -0
- offload/engine/confirm/machines.py +254 -0
- offload/engine/confirm/minimize.py +268 -0
- offload/engine/confirm/model.py +249 -0
- offload/engine/confirm/ports.py +107 -0
- offload/engine/confirm/programs.py +222 -0
- offload/engine/confirm/registry.py +151 -0
- offload/engine/confirm/regress.py +278 -0
- offload/engine/confirm/rules.py +565 -0
- offload/engine/confirm/store.py +63 -0
- offload/engine/confirm/triage.py +838 -0
- offload/engine/confirm/validate.py +607 -0
- offload/engine/confirm/witness.py +355 -0
- offload/engine/corpus_check.py +388 -0
- offload/engine/coverage.py +318 -0
- offload/engine/dataenv_gen.py +1318 -0
- offload/engine/dataenv_rules.py +278 -0
- offload/engine/devtemps.py +146 -0
- offload/engine/expected.py +2559 -0
- offload/engine/f2c.py +1783 -0
- offload/engine/finding_claims.py +330 -0
- offload/engine/finding_header.py +229 -0
- offload/engine/finding_rows.py +382 -0
- offload/engine/flang_oracle.py +299 -0
- offload/engine/fsource.py +620 -0
- offload/engine/fuzz.py +2455 -0
- offload/engine/fuzz_base.py +2016 -0
- offload/engine/fuzz_campaign.py +592 -0
- offload/engine/fuzz_exec.py +798 -0
- offload/engine/fuzz_min.py +1049 -0
- offload/engine/fuzz_profile.py +340 -0
- offload/engine/fuzz_report.py +1270 -0
- offload/engine/fuzz_steer.py +181 -0
- offload/engine/gate.py +1013 -0
- offload/engine/gate_report.py +711 -0
- offload/engine/gate_run.py +118 -0
- offload/engine/gate_stored.py +466 -0
- offload/engine/gen.py +1114 -0
- offload/engine/gen_templates.py +2583 -0
- offload/engine/grammar.py +695 -0
- offload/engine/harness.py +1472 -0
- offload/engine/harvest/__init__.py +3 -0
- offload/engine/harvest/c_runtime.py +465 -0
- offload/engine/harvest/checks.py +534 -0
- offload/engine/harvest/convert.py +784 -0
- offload/engine/harvest/f_runtime.py +668 -0
- offload/engine/harvest/filters.py +338 -0
- offload/engine/harvest/history.py +122 -0
- offload/engine/harvest/inventory.py +399 -0
- offload/engine/harvest2/__init__.py +5 -0
- offload/engine/harvest2/aomp.py +119 -0
- offload/engine/harvest2/examples.py +116 -0
- offload/engine/harvest2/gomp.py +679 -0
- offload/engine/harvest2/hand.py +150 -0
- offload/engine/harvest2/split.py +78 -0
- offload/engine/harvest_known/__init__.py +2 -0
- offload/engine/harvest_known/apps.py +65 -0
- offload/engine/harvest_known/cases.py +128 -0
- offload/engine/harvest_known/centres.py +184 -0
- offload/engine/harvest_known/forum.py +180 -0
- offload/engine/harvest_known/relnotes.py +42 -0
- offload/engine/harvest_known/textscan.py +107 -0
- offload/engine/hdrwrap.py +42 -0
- offload/engine/hecbench.py +568 -0
- offload/engine/hecbench_report.py +265 -0
- offload/engine/hecbench_run.py +483 -0
- offload/engine/idioms.py +1427 -0
- offload/engine/kbody_cites.py +81 -0
- offload/engine/kbody_emit.py +949 -0
- offload/engine/kbody_gen.py +795 -0
- offload/engine/legality_review.py +236 -0
- offload/engine/localcfg.py +58 -0
- offload/engine/malloc_dd.py +267 -0
- offload/engine/mutate.py +1933 -0
- offload/engine/nested_cites.py +196 -0
- offload/engine/nested_emit.py +789 -0
- offload/engine/nested_gen.py +1721 -0
- offload/engine/offload_scope.py +197 -0
- offload/engine/ompvv.py +624 -0
- offload/engine/oop_gen.py +2249 -0
- offload/engine/prerun.py +1435 -0
- offload/engine/program_source.py +739 -0
- offload/engine/provenance.py +103 -0
- offload/engine/reduce.py +2098 -0
- offload/engine/report.py +3374 -0
- offload/engine/root.py +33 -0
- offload/engine/rules.py +4256 -0
- offload/engine/run_matrix.py +325 -0
- offload/engine/site/__init__.py +1 -0
- offload/engine/site/columns.py +53 -0
- offload/engine/site/data.py +648 -0
- offload/engine/site/header.py +228 -0
- offload/engine/site/inputs.py +115 -0
- offload/engine/site/matrix.py +434 -0
- offload/engine/site/scrub.py +294 -0
- offload/engine/skeleton.py +121 -0
- offload/engine/spec_text.py +242 -0
- offload/engine/stress.py +4122 -0
- offload/engine/stress_c.py +1000 -0
- offload/engine/stress_exec.py +805 -0
- offload/engine/stress_min.py +248 -0
- offload/engine/stress_report.py +552 -0
- offload/engine/textclean.py +97 -0
- offload/engine/toolchains.py +1070 -0
- offload/engine/transforms.py +511 -0
- offload/engine/usage.py +1252 -0
- offload/engine/widen.py +673 -0
- offload/engine/widen_progs.py +2396 -0
- offload/issues.py +146 -0
- offtarget-0.1.0.dist-info/METADATA +86 -0
- offtarget-0.1.0.dist-info/RECORD +886 -0
- offtarget-0.1.0.dist-info/WHEEL +4 -0
- offtarget-0.1.0.dist-info/entry_points.txt +2 -0
- offtarget-0.1.0.dist-info/licenses/LICENSE +21 -0
- offtarget-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +20 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
! # Finding (nested-data): GCC: a pointer component mapped alloc and written on the device comes back with the wrong values
|
|
2
|
+
! # (bounds of the attached descriptor not set)
|
|
3
|
+
!
|
|
4
|
+
! - toolchains and modes that fail: gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); modes: copy; -O2
|
|
5
|
+
! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90); gfortran -fopenmp
|
|
6
|
+
! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
|
|
7
|
+
! - failure: wrong_answer (check=fail)
|
|
8
|
+
! - observed: `tot= 504`, `s= 900` with `check=fail`
|
|
9
|
+
! - expected: compiles and prints `tot= 4028`, `s= 900` with `check=pass` (the model of the program: the sum of the
|
|
10
|
+
! written values)
|
|
11
|
+
! - rule: on entry the corresponding pointer "is associated with a pointer target that has the same rank and bounds as
|
|
12
|
+
! the pointer target of the original pointer, such that the corresponding list item can be accessed through the
|
|
13
|
+
! pointer in a target region" (5.2 §5.8.3 p.152 l.11-13); the structure is entered with map(alloc:), so its descriptor
|
|
14
|
+
! is not initialized by a transfer and has to be set by the attach
|
|
15
|
+
! - same-compiler control: controls/g2-ctl-entered-to.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC
|
|
16
|
+
! 16.2.0); rows results/nested/red/red1.jsonl, results/nested/red/tuo2.jsonl, results/nested/red/wgs.jsonl,
|
|
17
|
+
! results/nested/red/wnv.jsonl); controls/g2-ctl-allocatable.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0),
|
|
18
|
+
! gcc_sm80 (GCC 16.2.0); rows results/nested/red/red1.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
|
|
19
|
+
! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc
|
|
20
|
+
! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) run the file correctly (rows results/nested/red/tuo2.jsonl, results/nested/red/wnv.jsonl,
|
|
21
|
+
! site rows, check case site-nested--gcc-fortran-pointer-component-alloc-bounds-lost)
|
|
22
|
+
! - legality: the rules (offload.engine.rules) accept it, AFAR's flang front end accepts it
|
|
23
|
+
program t
|
|
24
|
+
use omp_lib
|
|
25
|
+
implicit none
|
|
26
|
+
type :: n0
|
|
27
|
+
integer :: s = 0
|
|
28
|
+
integer, pointer :: a(:) => null()
|
|
29
|
+
end type n0
|
|
30
|
+
type(n0) :: r
|
|
31
|
+
integer :: q, hf, tot
|
|
32
|
+
logical :: ok
|
|
33
|
+
hf = 1
|
|
34
|
+
!$omp target map(from: hf)
|
|
35
|
+
hf = merge(1, 0, omp_is_initial_device())
|
|
36
|
+
!$omp end target
|
|
37
|
+
allocate(r%a(8))
|
|
38
|
+
r%s = -1
|
|
39
|
+
r%a = -1
|
|
40
|
+
!$omp target enter data map(alloc: r)
|
|
41
|
+
!$omp target enter data map(alloc: r%a)
|
|
42
|
+
!$omp target
|
|
43
|
+
do q = 1, 8
|
|
44
|
+
r%a(q) = 500 + q - 1
|
|
45
|
+
end do
|
|
46
|
+
r%s = 900
|
|
47
|
+
!$omp end target
|
|
48
|
+
!$omp target exit data map(from: r%a)
|
|
49
|
+
!$omp target exit data map(from: r)
|
|
50
|
+
tot = sum(r%a)
|
|
51
|
+
ok = tot == 4028 .and. r%s == 900
|
|
52
|
+
print '(a,i0)', 'tot= ', tot
|
|
53
|
+
print '(a,i0)', 's= ', r%s
|
|
54
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
|
|
55
|
+
end program t
|
|
56
|
+
|
|
57
|
+
! site:
|
|
58
|
+
! title: GCC Fortran: pointer component entered with alloc comes back with wrong values
|
|
59
|
+
! summary: GCC returns wrong values for a Fortran pointer component entered with map(alloc:).
|
|
60
|
+
! control: nested/controls/g2-ctl-entered-to.f90 one change from the finding; correct on gcc_g90, gcc_sm80
|
|
61
|
+
! control: nested/controls/g2-ctl-allocatable.f90 one change from the finding; correct on gcc_g90, gcc_sm80
|
|
62
|
+
! end site
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
! # Finding (nested-data): GCC ICE in gimplify_adjust_omp_clauses: a pointer component of the root and the pointer components
|
|
2
|
+
! # of the elements of an allocatable component array in one map list
|
|
3
|
+
!
|
|
4
|
+
! - toolchains and modes that fail: gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); modes: copy; -O2
|
|
5
|
+
! - build: gfortran -fopenmp -foffload=amdgcn-amdhsa -foffload-options=amdgcn-amdhsa=-march=gfx90a -O2 (gcc_g90); gfortran -fopenmp
|
|
6
|
+
! -foffload=nvptx-none -foffload-options=nvptx-none=-march=sm_80 -foffload-options=nvptx-none=-latomic -O2 (gcc_sm80)
|
|
7
|
+
! - failure: ice
|
|
8
|
+
! - observed: `Please submit a full bug report, with preprocessed source (by using -freport-bug).`; identical signature on 2 of 2
|
|
9
|
+
! failing cells
|
|
10
|
+
! - expected: compiles and prints `tot= 24` with `check=pass`
|
|
11
|
+
! - rule: pointer components are list items when they appear in a map clause ("The list items that appear in a map
|
|
12
|
+
! clause may include array sections and structure elements", 5.2 §5.8.3 p.151 l.13); the construct names a pointer
|
|
13
|
+
! component of the root and the pointer components of the elements of an allocatable array component, none of them the
|
|
14
|
+
! base pointer of another item (5.2 §5.8.3 p.152 l.1-3)
|
|
15
|
+
! - same-compiler control: controls/g5-ctl-element-pointers-only.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0),
|
|
16
|
+
! gcc_sm80 (GCC 16.2.0); rows results/nested/red/gate_abd.jsonl, results/nested/red/gate_c.jsonl, results/nested/red/red3.jsonl,
|
|
17
|
+
! results/nested/red/tuo7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl);
|
|
18
|
+
! controls/g5-ctl-root-pointer-only.f90 (one change from this file; correct on gcc_g90 (GCC 16.2.0), gcc_sm80 (GCC 16.2.0); rows
|
|
19
|
+
! results/nested/red/gate_abd.jsonl, results/nested/red/gate_c.jsonl, results/nested/red/red3.jsonl,
|
|
20
|
+
! results/nested/red/tuo7.jsonl, results/nested/red/wgs.jsonl, results/nested/red/wnv.jsonl)
|
|
21
|
+
! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), nvhpc
|
|
22
|
+
! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) run the file correctly in managed mode (rows results/nested/red/tuo7.jsonl,
|
|
23
|
+
! results/nested/red/wnv.jsonl, site rows, check case site-nested--gcc-fortran-root-and-element-pointer-components-ice); nvhpc
|
|
24
|
+
! (NVHPC 25.11), nvhpc269 (NVHPC 26.9) fail it another way in copy mode, e.g. `Failing in Thread:1`
|
|
25
|
+
! - gate and confirmer: campaign gate of the programs below: 4 cells, 4 confirmed in the four environments (a-d; (c) on another node
|
|
26
|
+
! or GPU; rows results/nested/main/gate_reruns.part.tioga37.2711328.jsonl,
|
|
27
|
+
! results/nested/main/gate_reruns.part.tioga39.351539.jsonl,
|
|
28
|
+
! results/nested/main/gate_reruns.part.wingtip.3374144.jsonl,
|
|
29
|
+
! results/nested/main/gate_reruns.part.wingtip.3386107.jsonl,
|
|
30
|
+
! results/nested/main/gate_reruns.part.wingtip.3582436.jsonl,
|
|
31
|
+
! results/nested/main/gate_reruns.part.wingtip.3637854.jsonl,
|
|
32
|
+
! results/nested/main/rows.part.tioga37.2691037.jsonl, results/nested/main/rows.part.wingtip.3363229.jsonl,
|
|
33
|
+
! results/nested/main/rows.part.wingtip.3363230.jsonl)
|
|
34
|
+
! - programs (2): nd-f-omp-tdata_nested-chain-d3-0fae50d2, nd-f-omp-tdata_nested-chain-d3-b0edb43f
|
|
35
|
+
! - legality: the rules (offload.engine.rules) accept it and AFAR's flang front end accepts it
|
|
36
|
+
program t
|
|
37
|
+
use omp_lib
|
|
38
|
+
implicit none
|
|
39
|
+
type :: n1
|
|
40
|
+
integer, pointer :: a(:) => null()
|
|
41
|
+
end type n1
|
|
42
|
+
type :: n0
|
|
43
|
+
integer, pointer :: a(:) => null()
|
|
44
|
+
type(n1), allocatable :: nx(:)
|
|
45
|
+
end type n0
|
|
46
|
+
type(n0) :: r
|
|
47
|
+
integer :: q, hf, tot
|
|
48
|
+
logical :: ok
|
|
49
|
+
hf = 1
|
|
50
|
+
!$omp target map(from: hf)
|
|
51
|
+
hf = merge(1, 0, omp_is_initial_device())
|
|
52
|
+
!$omp end target
|
|
53
|
+
allocate(r%nx(2))
|
|
54
|
+
allocate(r%a(4))
|
|
55
|
+
allocate(r%nx(1)%a(4))
|
|
56
|
+
allocate(r%nx(2)%a(4))
|
|
57
|
+
r%a = 1
|
|
58
|
+
r%nx(1)%a = 2
|
|
59
|
+
r%nx(2)%a = 3
|
|
60
|
+
!$omp target enter data map(to: r)
|
|
61
|
+
!$omp target enter data map(to: r%a) map(to: r%nx(1)%a) map(to: r%nx(2)%a)
|
|
62
|
+
!$omp target map(tofrom: tot)
|
|
63
|
+
tot = sum(r%nx(1)%a) + sum(r%nx(2)%a) + sum(r%a)
|
|
64
|
+
!$omp end target
|
|
65
|
+
!$omp target exit data map(release: r%a) map(release: r%nx(1)%a) map(release: r%nx(2)%a)
|
|
66
|
+
!$omp target exit data map(release: r)
|
|
67
|
+
ok = tot == 24
|
|
68
|
+
print '(a,i0)', 'tot= ', tot
|
|
69
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', hf, ' check=', merge('pass', 'fail', ok)
|
|
70
|
+
end program t
|
|
71
|
+
|
|
72
|
+
! site:
|
|
73
|
+
! title: GCC Fortran: compiler crash on root and element pointer components in one map list
|
|
74
|
+
! summary: GCC crashes in gimplify_adjust_omp_clauses on a root pointer component and element pointer components in one map list.
|
|
75
|
+
! control: nested/controls/g5-ctl-element-pointers-only.f90 one change from the finding; correct on gcc_g90, gcc_sm80
|
|
76
|
+
! control: nested/controls/g5-ctl-root-pointer-only.f90 one change from the finding; correct on gcc_g90, gcc_sm80
|
|
77
|
+
! end site
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// # Finding (nested-data): NVHPC, separate memory: a target construct that lists the pointee of a pointer member before the
|
|
2
|
+
// # structure that holds the pointer fails with CUDA_ERROR_ILLEGAL_ADDRESS (the other order is correct)
|
|
3
|
+
//
|
|
4
|
+
// - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy; -O2
|
|
5
|
+
// - build: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
6
|
+
// - failure: run_error
|
|
7
|
+
// - observed: `exit_status: 1; without mandatory: exit_status: 1`; identical signature on 2 of 2 failing cells
|
|
8
|
+
// - expected: compiles and prints `tot= 1638` with `check=pass`
|
|
9
|
+
// - rule: attachment is decided on the storage of the whole construct: OpenMP 6.0 §7.9.6 p.284 l.8-10: "for which a
|
|
10
|
+
// corresponding pointer exists in the device data environment after all mappable storage blocks are mapped" (the
|
|
11
|
+
// OpenMP 5.2 text at §5.8.3 p.152 l.5-7 is worded for the state on entry and is weaker; the finding rests on the 6.0
|
|
12
|
+
// wording), so the order of the clauses of one construct does not change the result
|
|
13
|
+
// - same-compiler control: controls/v2-ctl-parent-first.c (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
|
|
14
|
+
// (NVHPC 26.9); rows results/nested/red/red13.jsonl, results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl,
|
|
15
|
+
// results/nested/red/wnv.jsonl); controls/v4-ctl-embedded-member.c (one change from this file; correct on nvhpc (NVHPC 25.11),
|
|
16
|
+
// nvhpc269 (NVHPC 26.9); rows results/nested/red/red13.jsonl, results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl,
|
|
17
|
+
// results/nested/red/wnv.jsonl)
|
|
18
|
+
// - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4), gcc_g90
|
|
19
|
+
// (GCC 16.2.0), gcc_sm80 (GCC 16.2.0) run the file correctly (rows results/nested/red/red13.jsonl,
|
|
20
|
+
// results/nested/red/tuo12.jsonl, results/nested/red/wgs.jsonl)
|
|
21
|
+
// - gate and confirmer: 2 of 2 cells reproduce in all four environments (a-d; (c) node not recorded for every cell; rows
|
|
22
|
+
// results/nested/red/wgate_abd.jsonl, results/nested/red/wgate_c.jsonl, results/nested/red/wnv.jsonl)
|
|
23
|
+
// - legality: the rules (offload.engine.rules) accept it; AFAR and CCE compile and run it correctly (front ends of two other
|
|
24
|
+
// families)
|
|
25
|
+
#include <stdio.h>
|
|
26
|
+
#include <stdlib.h>
|
|
27
|
+
#include <omp.h>
|
|
28
|
+
struct s1 { int a[8]; };
|
|
29
|
+
struct s0 { int v; struct s1 *nx; };
|
|
30
|
+
int main(void)
|
|
31
|
+
{
|
|
32
|
+
int hf = 1, i, tot = 0, ok;
|
|
33
|
+
#pragma omp target map(from: hf)
|
|
34
|
+
hf = omp_is_initial_device() ? 1 : 0;
|
|
35
|
+
struct s0 *r = malloc(sizeof *r);
|
|
36
|
+
r->v = 10;
|
|
37
|
+
r->nx = malloc(sizeof *r->nx);
|
|
38
|
+
for (i = 0; i < 8; i++) r->nx->a[i] = 200 + i;
|
|
39
|
+
#pragma omp target map(tofrom: tot) map(to: r->nx[0:1]) map(to: r[0:1])
|
|
40
|
+
{
|
|
41
|
+
tot += r->v;
|
|
42
|
+
for (int q = 0; q < 8; q++) tot += r->nx->a[q];
|
|
43
|
+
}
|
|
44
|
+
ok = tot == 1638;
|
|
45
|
+
printf("tot= %d\n", tot);
|
|
46
|
+
printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// site:
|
|
51
|
+
// title: NVHPC: pointee listed before its parent in one map list faults in separate memory
|
|
52
|
+
// summary: In separate memory NVHPC faults when a map list names a pointee before the structure holding the pointer.
|
|
53
|
+
// control: nested/controls/v2-ctl-parent-first.c one change from the finding; correct on nvhpc, nvhpc269
|
|
54
|
+
// control: nested/controls/v4-ctl-embedded-member.c one change from the finding; correct on nvhpc, nvhpc269
|
|
55
|
+
// end site
|
offload/_root/data/findings/nested/nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.c
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// # Finding (nested-data): NVHPC, separate memory: target update from() or exit data map(from:) of a structure whose pointer
|
|
2
|
+
// # member is attached copies the device pointer back, and the next host access to the pointee crashes
|
|
3
|
+
// # (SIGSEGV)
|
|
4
|
+
//
|
|
5
|
+
// - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy; -O2
|
|
6
|
+
// - build: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
7
|
+
// - failure: crash
|
|
8
|
+
// - observed: `crash: SIGSEGV; without mandatory: crash: SIGSEGV` (killed by signal SEGV); identical signature on 2 of 2 failing
|
|
9
|
+
// cells
|
|
10
|
+
// - expected: compiles and prints `ha= 4028` with `check=pass`
|
|
11
|
+
// - rule: OpenMP 5.2 §5.9 p.166 l.5-7: "if the corresponding list item is an attached pointer, the original list item
|
|
12
|
+
// will have the value it had on entry to the region": a target update from() of a structure must not overwrite its
|
|
13
|
+
// pointer member while the member is attached (the same holds when exit data map(from:) copies the structure back
|
|
14
|
+
// before the pointee is released)
|
|
15
|
+
// - same-compiler control: controls/nu3-ctl-update-pointee-only.c (one change from this file; correct on nvhpc (NVHPC 25.11),
|
|
16
|
+
// nvhpc269 (NVHPC 26.9); rows results/nested/red/tuo23.jsonl, results/nested/red/wgs6.jsonl, results/nested/red/wnv6.jsonl);
|
|
17
|
+
// controls/ns8-ctl-enter-together-exit-split.c (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9);
|
|
18
|
+
// rows results/nested/red/tuo22.jsonl, results/nested/red/tuo23.jsonl, results/nested/red/wgs4.jsonl,
|
|
19
|
+
// results/nested/red/wnv4.jsonl); controls/ns4-ctl-two-directives-struct-then-pointee.c (one change from this file; correct on
|
|
20
|
+
// nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); rows results/nested/red/red16.jsonl, results/nested/red/tuo22.jsonl,
|
|
21
|
+
// results/nested/red/wgs3.jsonl, results/nested/red/wnv3.jsonl)
|
|
22
|
+
// - other families: afar (AFAR 24.3.0), cce21_4 (CCE 21.0.4), gcc_sm80 (GCC 16.2.0) run the file correctly (rows
|
|
23
|
+
// results/nested/red/tuo23.jsonl, results/nested/red/wgs6.jsonl)
|
|
24
|
+
// - gate and confirmer: campaign gate of the programs below: 70 cells, 70 confirmed in the four environments (a-d; (c) on another
|
|
25
|
+
// node or GPU; rows results/nested/big/gate_reruns.part.wingtip.501872.jsonl,
|
|
26
|
+
// results/nested/big/gate_reruns.part.wingtip.501873.jsonl,
|
|
27
|
+
// results/nested/big/gate_reruns.part.wingtip.711615.jsonl,
|
|
28
|
+
// results/nested/big/gate_reruns.part.wingtip.724122.jsonl,
|
|
29
|
+
// results/nested/big/rows.part.wingtip.3693360.jsonl,
|
|
30
|
+
// results/nested/big/rows.part.wingtip.3790312.jsonl,
|
|
31
|
+
// results/nested/main/gate_reruns.part.wingtip.3582436.jsonl,
|
|
32
|
+
// results/nested/main/gate_reruns.part.wingtip.3582437.jsonl,
|
|
33
|
+
// results/nested/main/gate_reruns.part.wingtip.3637854.jsonl,
|
|
34
|
+
// results/nested/main/gate_reruns.part.wingtip.3639010.jsonl,
|
|
35
|
+
// results/nested/main/rows.part.wingtip.3363229.jsonl,
|
|
36
|
+
// results/nested/main/rows.part.wingtip.3363230.jsonl)
|
|
37
|
+
// - programs (35): nd-c-omp-enter-alias-d2-0f7b1c8d, nd-c-omp-enter-alias-d2-10f14204, nd-c-omp-enter-aliassub-d2-28acd136,
|
|
38
|
+
// nd-c-omp-enter-aliassub-d2-30b02f09, nd-c-omp-enter-aliassub-d2-3cc740c1, nd-c-omp-enter-aliassub-d2-fd23e3be,
|
|
39
|
+
// nd-c-omp-enter-chain-d1-7ce2e18f, nd-c-omp-enter-chain-d2-35aa80e0, nd-c-omp-enter-chain-d2-99ea7db8,
|
|
40
|
+
// nd-c-omp-enter-chain-d2-fb177d2e, nd-c-omp-enter-chain-d3-41b3b77f, nd-c-omp-enter-chain-d3-5bca046a,
|
|
41
|
+
// nd-c-omp-enter-chain-d3-c1680a02, nd-c-omp-enter-chain-d3-c2ca2645, nd-c-omp-enter-chain-d3-fc976865,
|
|
42
|
+
// nd-c-omp-enter-diamond-d3-07ab92f3, nd-c-omp-enter-diamond-d3-41750fb6, nd-c-omp-enter-diamond-d3-5e5ed99d,
|
|
43
|
+
// nd-c-omp-enter-diamond-d3-d5e537a9, nd-c-omp-enter-diamond-d3-f1a9c3e8, nd-c-omp-enter-list-d3-e11a72cd,
|
|
44
|
+
// nd-c-omp-enter-tree-d3-e0467211, nd-c-omp-update-alias-d2-684cb0b8, nd-c-omp-update-chain-d1-a679e114,
|
|
45
|
+
// nd-c-omp-update-chain-d2-1585f8af, nd-c-omp-update-chain-d2-2b8c33ae, nd-c-omp-update-chain-d2-44c37206,
|
|
46
|
+
// nd-c-omp-update-chain-d2-60aec85d, nd-c-omp-update-chain-d2-a3703a98, nd-c-omp-update-chain-d2-b6fcbb9f,
|
|
47
|
+
// nd-c-omp-update-chain-d2-cca853ce, nd-c-omp-update-chain-d2-db6ed5e2, nd-c-omp-update-chain-d3-5648fa65,
|
|
48
|
+
// nd-c-omp-update-chain-d3-a9134361, nd-c-omp-update-chain-d3-c5604bb2
|
|
49
|
+
// - legality: the rules (offload.engine.rules) accept it; AFAR and CCE compile and run it correctly (front ends of two other
|
|
50
|
+
// families)
|
|
51
|
+
#include <stdio.h>
|
|
52
|
+
#include <stdlib.h>
|
|
53
|
+
#include <omp.h>
|
|
54
|
+
enum { NM = 8 };
|
|
55
|
+
struct n0 { int s; int *a; };
|
|
56
|
+
int main(void)
|
|
57
|
+
{
|
|
58
|
+
int hf = 1, i, ha = 0, ok;
|
|
59
|
+
struct n0 *r = calloc(1, sizeof *r);
|
|
60
|
+
#pragma omp target map(from: hf)
|
|
61
|
+
hf = omp_is_initial_device() ? 1 : 0;
|
|
62
|
+
r->a = malloc(NM * sizeof(int));
|
|
63
|
+
r->s = -1;
|
|
64
|
+
for (i = 0; i < NM; i++) r->a[i] = -1;
|
|
65
|
+
#pragma omp target enter data map(alloc: r[0:1])
|
|
66
|
+
#pragma omp target enter data map(alloc: r->a[0:8])
|
|
67
|
+
#pragma omp target teams distribute parallel for
|
|
68
|
+
for (int q = 0; q < NM; q++) r->a[q] = 500 + q;
|
|
69
|
+
#pragma omp target update from(r[0:1])
|
|
70
|
+
#pragma omp target update from(r->a[0:8])
|
|
71
|
+
#pragma omp target exit data map(delete: r->a[0:8])
|
|
72
|
+
#pragma omp target exit data map(delete: r[0:1])
|
|
73
|
+
for (i = 0; i < NM; i++) ha += r->a[i];
|
|
74
|
+
ok = ha == 4028;
|
|
75
|
+
printf("ha= %d\n", ha);
|
|
76
|
+
printf("RESULT ran_on_host=%d check=%s\n", hf, ok ? "pass" : "fail");
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// site:
|
|
81
|
+
// title: NVHPC: update from of a structure overwrites its attached pointer member
|
|
82
|
+
// summary: NVHPC update from() of a structure copies the device pointer back and the next host access crashes.
|
|
83
|
+
// control: nested/controls/nu3-ctl-update-pointee-only.c one change from the finding; correct on nvhpc, nvhpc269
|
|
84
|
+
// control: nested/controls/ns8-ctl-enter-together-exit-split.c one change from the finding; correct on nvhpc, nvhpc269
|
|
85
|
+
// control: nested/controls/ns4-ctl-two-directives-struct-then-pointee.c one change from the finding; correct on nvhpc, nvhpc269
|
|
86
|
+
// end site
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
! NVHPC 25.11 and 26.9 (nvfortran), NVIDIA A100 80GB PCIe
|
|
2
|
+
! (wingtip, sm_80): the Fortran form of nvhpc-c-acc-atomic-update-sum-ice.c.
|
|
3
|
+
! nvfortran rejects the OpenACC atomic update b(i) = b(i) + 2*a(i) + 1
|
|
4
|
+
! ("NVFORTRAN-S-0155-Invalid atomic update expression"), and in a gang loop
|
|
5
|
+
! its front end then crashes ("nvfortran-Fatal-.../maintainers/fort2 TERMINATED by
|
|
6
|
+
! signal 11"), at -O0 and -O2, for -acc=gpu and -acc=multicore. In a plain
|
|
7
|
+
! parallel loop on a scalar (x = x + v + 1) it only rejects ("Invalid atomic
|
|
8
|
+
! update expression", "Invalid atomic region"), without the crash.
|
|
9
|
+
! Spec: one Fortran form of an atomic update is "x = x operator expr", and
|
|
10
|
+
! "The expression x operator expr must be mathematically equivalent to x
|
|
11
|
+
! operator (expr). This requirement is satisfied if the operators in expr
|
|
12
|
+
! have precedence greater than operator, or by using parentheses around expr
|
|
13
|
+
! or subexpressions of expr" (OpenACC 3.4 §2.12, p.79-80).
|
|
14
|
+
! b(i) + 2*a(i) + 1 is (b(i) + 2*a(i)) + 1, which is b(i) + (2*a(i) + 1) for
|
|
15
|
+
! integers: the precedence and parentheses forms are sufficient, not
|
|
16
|
+
! necessary, so the statement is a legal update. Written
|
|
17
|
+
! b(i) = b(i) + (2*a(i) + 1) it compiles and gives sum=4224.
|
|
18
|
+
! Expected: "sum=4224" (a diagnostic would at least not be a crash).
|
|
19
|
+
! Observed (2026-10-25, nvfortran 25.11-0 and 26.9-0, the flags below and
|
|
20
|
+
! -O0, -acc=multicore): compile exit status 2 with the two messages above,
|
|
21
|
+
! on both releases (log: data/evidence/acc_c_probe/atomic/run.log, gang.f90).
|
|
22
|
+
! Found by the catalog: acc34-clause-gang, acc34-clause-gang-dim and
|
|
23
|
+
! acc34-directive-loop, all gang loops: the front end crashes in 11 of their
|
|
24
|
+
! 12 NVHPC cells (gang-dim on 25.11 in separate memory rejects without the
|
|
25
|
+
! crash; results/acc_matrix.jsonl); reduced by hand. That rejection without the crash was 1 compile in 157;
|
|
26
|
+
! the other 156 (the gate's reruns and the later repeats) crashed
|
|
27
|
+
! (data/evidence/gate_probe/logs/wingtip1-4.log): the 12th cell crashes too, not
|
|
28
|
+
! every time.
|
|
29
|
+
! NVHPC: nvfortran -acc=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
30
|
+
program p
|
|
31
|
+
implicit none
|
|
32
|
+
integer, parameter :: n = 64
|
|
33
|
+
integer :: a(n), b(n), i
|
|
34
|
+
do i = 1, n
|
|
35
|
+
a(i) = i
|
|
36
|
+
b(i) = 0
|
|
37
|
+
end do
|
|
38
|
+
!$acc parallel num_gangs(4) copyin(a) copy(b)
|
|
39
|
+
!$acc loop gang
|
|
40
|
+
do i = 1, n
|
|
41
|
+
!$acc atomic update
|
|
42
|
+
b(i) = b(i) + 2*a(i) + 1
|
|
43
|
+
end do
|
|
44
|
+
!$acc end parallel
|
|
45
|
+
print '(a,i0)', 'sum=', sum(b)
|
|
46
|
+
end program p
|
|
47
|
+
! site:
|
|
48
|
+
! title: nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)
|
|
49
|
+
! control: ../vendor/checks/src/nvhpc/control/nvhpc-acc-atomic-update-sum-fort2-crash-control.f90 b(i) = b(i) + (2*a(i) + 1), the
|
|
50
|
+
! + right-hand side
|
|
51
|
+
! + in parentheses
|
|
52
|
+
! same_as: nvhpc-c-acc-atomic-update-sum-ice
|
|
53
|
+
! end site
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// NVHPC 25.11 and 26.9 (nvc), NVIDIA A100 80GB PCIe
|
|
2
|
+
// (wingtip, sm_80). nvc rejects the OpenACC atomic update x = x + v + 1
|
|
3
|
+
// ("NVC++-S-0155-Invalid atomic update expression") and then stops with an
|
|
4
|
+
// internal compiler error ("NVC++-F-0000-Internal compiler error. invalid ILM
|
|
5
|
+
// atomic region"), at -O0 and -O2, for -acc=gpu and -acc=multicore.
|
|
6
|
+
// Spec: one C form of an atomic update is "x = x binop expr", and "The
|
|
7
|
+
// expression x binop expr must be mathematically equivalent to x binop
|
|
8
|
+
// (expr). This requirement is satisfied if the operators in expr have
|
|
9
|
+
// precedence greater than binop, or by using parentheses around expr or
|
|
10
|
+
// subexpressions of expr" (OpenACC 3.4 §2.12, p.77-78). C parses the
|
|
11
|
+
// statement as (x + v) + 1, which is x + (v + 1) for int: the precedence and
|
|
12
|
+
// parentheses forms are sufficient, not necessary, so the statement is a
|
|
13
|
+
// legal update. The same update written x = x + (v + 1) or x += v + 1
|
|
14
|
+
// compiles and gives 2080.
|
|
15
|
+
// Fortran: nvfortran fails the same form the same way and, in a gang loop,
|
|
16
|
+
// its front end crashes (nvhpc-acc-atomic-update-sum-fort2-crash.f90).
|
|
17
|
+
// Expected: "x=2080" (a diagnostic would at least not be an internal error).
|
|
18
|
+
// Observed (2026-10-24, rerun 2026-10-25, nvc 25.11-0 and 26.9-0, the flags
|
|
19
|
+
// below, -O0 and -acc=multicore): compile exit status 2 with the two
|
|
20
|
+
// messages above, on both releases; the two other spellings print x=2080
|
|
21
|
+
// (log: data/evidence/acc_c_probe/atomic/run.log, sum.c, sum_paren.c,
|
|
22
|
+
// sum_compound.c).
|
|
23
|
+
// Found by the catalog: the C port of acc34-clause-gang, acc34-clause-gang-dim
|
|
24
|
+
// and acc34-directive-loop writes b[i - 1] = b[i - 1] + 2 * a[i - 1] + 1
|
|
25
|
+
// (the -binop programs: acc34-c-clause-gang-binop, acc34-c-clause-gang-dim-
|
|
26
|
+
// binop, acc34-c-directive-loop-binop); reduced by hand.
|
|
27
|
+
// NVHPC: nvc -acc=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
28
|
+
#include <stdio.h>
|
|
29
|
+
int main(void) {
|
|
30
|
+
int x = 0;
|
|
31
|
+
#pragma acc parallel loop copy(x)
|
|
32
|
+
for (int v = 0; v < 64; v++) {
|
|
33
|
+
#pragma acc atomic update
|
|
34
|
+
x = x + v + 1;
|
|
35
|
+
}
|
|
36
|
+
printf("x=%d\n", x);
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
// site:
|
|
40
|
+
// title: nvc/nvfortran -acc: atomic update x = x + v + 1 rejected, then internal compiler error (nvc) or fort2 crash (nvfortran)
|
|
41
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-acc-atomic-update-sum-ice-control.c x = x + (v + 1), the right-hand side in
|
|
42
|
+
// + parentheses
|
|
43
|
+
// end site
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80; the hang is
|
|
2
|
+
// in the compile on the x86-64 host), both memory modes: nvc does not
|
|
3
|
+
// finish compiling this program: its C front end (nvcpfe) runs until
|
|
4
|
+
// killed (more than 60 s here; the catalog's 900 s compile timeout in both
|
|
5
|
+
// memory modes). Without dist_schedule(static, 4), or with either of the
|
|
6
|
+
// two `if (i == 1)` statements removed, it compiles in a second.
|
|
7
|
+
// Spec: with dist_schedule(static, chunk_size) the chunks "are assigned to
|
|
8
|
+
// the initial teams of the league in a round-robin fashion in the order of
|
|
9
|
+
// the initial team number" (5.2 §11.6.1 p.256); the program is legal.
|
|
10
|
+
// Vendor: "The private, firstprivate, collapse, and dist_schedule(static [
|
|
11
|
+
// ,chunksize]) clauses are supported" (HPC Compilers User's Guide 25.11
|
|
12
|
+
// §7.4, 2.9.4).
|
|
13
|
+
// Expected: the compile ends (and the run prints "nt=<teams> host_flag=0").
|
|
14
|
+
// Observed (2026-10-24, nvc 25.11-0, -O2, with -gpu=mem:separate and with
|
|
15
|
+
// the default): `timeout 60 nvc ...` ends with status 124.
|
|
16
|
+
// Found by the catalog (omp52/60-c-clause-dist_schedule-chunk_size:
|
|
17
|
+
// compile_timeout, confirmer R10b-own-link-or-hang); reduced with a
|
|
18
|
+
// line-deletion script, then by hand.
|
|
19
|
+
// NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
|
|
20
|
+
// the same flags): still present -- the same: `timeout 120 nvc` ends with 124 in both modes.
|
|
21
|
+
// Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
|
|
22
|
+
// each with its own runtime libraries (LD_LIBRARY_PATH = the release's
|
|
23
|
+
// compilers/lib; the first 26.9 runs had loaded 25.11's): still present
|
|
24
|
+
// on both releases, the same output.
|
|
25
|
+
// NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
26
|
+
#include <stdio.h>
|
|
27
|
+
#include <omp.h>
|
|
28
|
+
int main(void) {
|
|
29
|
+
int nt = -1, host_flag = 1;
|
|
30
|
+
#pragma omp target teams distribute parallel for map(from: nt, host_flag) dist_schedule(static, 4)
|
|
31
|
+
for (int i = 1; i <= 64; i++) {
|
|
32
|
+
if (i == 1) nt = omp_get_num_teams();
|
|
33
|
+
if (i == 1) host_flag = (omp_is_initial_device() ? 1 : 0);
|
|
34
|
+
}
|
|
35
|
+
printf("nt=%d host_flag=%d\n", nt, host_flag);
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
// site:
|
|
39
|
+
// title: nvc -mp=gpu: compile does not finish with dist_schedule(static, 4) on target teams distribute parallel for
|
|
40
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-dist-schedule-chunk-compile-hang-control.c dist_schedule(static, 4) removed
|
|
41
|
+
// end site
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory modes:
|
|
2
|
+
// nvc accepts the present map-type modifier and ignores it: a target
|
|
3
|
+
// construct with map(present, to: a) for an a that is not present runs on
|
|
4
|
+
// (it maps a), where the spec requires runtime error termination.
|
|
5
|
+
// Spec: "If a map clause with a present map-type-modifier appears on a
|
|
6
|
+
// construct and on entry to the region the corresponding list item is not
|
|
7
|
+
// present in the device data environment, runtime error termination is
|
|
8
|
+
// performed" (5.2 §5.8.3 p.152).
|
|
9
|
+
// Vendor: the 25.11 User's Guide names no present modifier (it lists
|
|
10
|
+
// always, close and mapper: §7.4, 2.19.7); nvfortran rejects the modifier
|
|
11
|
+
// at compile time (the Fortran catalog programs are rejected).
|
|
12
|
+
// Expected: runtime error termination before the printf.
|
|
13
|
+
// Observed (2026-10-24, nvc 25.11-0, -O2, OMP_TARGET_OFFLOAD=mandatory):
|
|
14
|
+
// "continued after map(present) of an absent a: b[63]=63", exit 0.
|
|
15
|
+
// The compile prints nothing (no warning, no message; exit 0) on 25.11 and
|
|
16
|
+
// 26.9.
|
|
17
|
+
// Found by the catalog (omp52/60-c-clause-map-present, negative probes:
|
|
18
|
+
// no_error_termination; confirmer R20-runtime-bug); reduced by hand.
|
|
19
|
+
// NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
|
|
20
|
+
// the same flags): still present -- the same: the run goes on (b[63]=63), both modes.
|
|
21
|
+
// Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
|
|
22
|
+
// each with its own runtime libraries (LD_LIBRARY_PATH = the release's
|
|
23
|
+
// compilers/lib; the first 26.9 runs had loaded 25.11's): still present
|
|
24
|
+
// on both releases, the same output.
|
|
25
|
+
// NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
26
|
+
// Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
|
|
27
|
+
#include <stdio.h>
|
|
28
|
+
int main(void) {
|
|
29
|
+
int a[64], b[64];
|
|
30
|
+
for (int i = 0; i < 64; i++) a[i] = i;
|
|
31
|
+
#pragma omp target map(present, to: a) map(from: b)
|
|
32
|
+
for (int i = 0; i < 64; i++)
|
|
33
|
+
b[i] = a[i];
|
|
34
|
+
printf("continued after map(present) of an absent a: b[63]=%d\n", b[63]);
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
// site:
|
|
38
|
+
// title: nvc -mp=gpu: map(present, ...) of an absent variable is accepted and ignored (no error termination)
|
|
39
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-map-present-ignored-control.c a enclosed in target data map(to: a), so it is
|
|
40
|
+
// + present (the
|
|
41
|
+
// + run must reach the printf)
|
|
42
|
+
// end site
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// (the reproduction gate's review queue): NVHPC 25.11 and 26.9 (nvc),
|
|
2
|
+
// NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory modes. nvc rejects the
|
|
3
|
+
// ordered construct in a target parallel for with the ordered clause
|
|
4
|
+
// ("NVC++-S-0155-for must have the ordered clause specified", at the ordered
|
|
5
|
+
// region), and
|
|
6
|
+
// its front end then INTERMITTENTLY crashes ("nvc-Fatal-.../maintainers/nvcpfe
|
|
7
|
+
// TERMINATED by signal 11", compile exit status 2) instead of ending with
|
|
8
|
+
// the diagnostic.
|
|
9
|
+
// Spec: an ordered region binds to the innermost enclosing worksharing-loop
|
|
10
|
+
// region; "An ordered clause with a parameter value equal to one must
|
|
11
|
+
// appear on the construct that corresponds to the binding region" (5.2
|
|
12
|
+
// §15.10.2 p.331 l.16-17), and "If n is not specified then the behavior is
|
|
13
|
+
// as if n is specified with the same value as is specified for the collapse
|
|
14
|
+
// clause on the construct" (§4.4.4 p.94 l.18-19), so the program is
|
|
15
|
+
// conforming (the ordered clause applies to the for leaf of the combined
|
|
16
|
+
// construct, §17.2).
|
|
17
|
+
// Vendor: "The ordered block construct is supported only for CPU targets"
|
|
18
|
+
// (HPC Compilers User's Guide 25.11 §7.4, 2.17.9;
|
|
19
|
+
// data/index/claims/nvidia-hpc-25.11-user-guide-openmp.txt:295, and :194 for the
|
|
20
|
+
// ordered clause): documented unsupported, so a diagnostic is expected
|
|
21
|
+
// (rule R11c: unsupported, not a bug). Two quality-of-implementation
|
|
22
|
+
// defects remain: the diagnostic's text is wrong (it says the for "must
|
|
23
|
+
// have the ordered clause specified" when the clause is there), and the
|
|
24
|
+
// front end then sometimes crashes. No spec text governs either: a LOWER
|
|
25
|
+
// TIER finding (fix; the compile fails either way, with
|
|
26
|
+
// the diagnostic printed first, as for nvhpc-parallel-if-in-target-nvvm-ice).
|
|
27
|
+
// Expected: "RESULT ran_on_host=0 check=pass", or the diagnostic alone.
|
|
28
|
+
// Observed (the source compiled by its absolute path in a fresh directory;
|
|
29
|
+
// nvcpfe crashes / compiles, by source):
|
|
30
|
+
// - nvc 26.9, -gpu=mem:separate: 31 of 58 = the logs 27 of 53 (wingtip2
|
|
31
|
+
// 21/32, wingtip3 4/15, wingtip4 2/6; data/evidence/gate_probe/logs/) + the
|
|
32
|
+
// reproduction gate's 4 reruns, 4 crashes + the
|
|
33
|
+
// stored catalog row, no crash (results/widen/matrix.jsonl);
|
|
34
|
+
// - nvc 25.11, -gpu=mem:managed: 26 of 52 = the logs 25 of 47 (wingtip2
|
|
35
|
+
// 18/32, wingtip3 3/9, wingtip4 4/6) + the gate's 4 reruns, no crash + the
|
|
36
|
+
// stored row, a crash (in its stderr);
|
|
37
|
+
// - nvc 26.9 managed: 6 of 7 (wingtip4 6/6; the stored row did not crash);
|
|
38
|
+
// - nvc 25.11 separate: 0 of 7 (wingtip4 0/6; the stored row did not).
|
|
39
|
+
// - A compile at a fixed path can crash or not (26.9 separate, a
|
|
40
|
+
// 37-character directory: 1 of 3; 25.11 managed, a 45-character path: 1
|
|
41
|
+
// of 3), so this is not a function of the path alone; long paths crash
|
|
42
|
+
// more often (26.9: none below 17 characters of directory name in the
|
|
43
|
+
// length sweep, wingtip2.log). Compiled as the relative name prog.c in the
|
|
44
|
+
// working directory: 0 of 80 (wingtip1.log; that also changes the file
|
|
45
|
+
// name, not only the path). The scripts: data/evidence/gate_probe/wingtip/round1-4/
|
|
46
|
+
// (those runs were not inside compliant.slice: see the scripts' notes).
|
|
47
|
+
// Control (same compilers, same flags): the same loop and ordered region
|
|
48
|
+
// without target (a host parallel for ordered, which the guide supports)
|
|
49
|
+
// compiles and prints "RESULT ran_on_host=1 check=pass" on both releases
|
|
50
|
+
// and both memory modes (data/evidence/gate_probe/logs/wingtip4.log).
|
|
51
|
+
// Another family: AFAR amdclang compiles the program and prints
|
|
52
|
+
// "RESULT ran_on_host=0 check=pass" on MI300A at HSA_XNACK 1 and 0 and on
|
|
53
|
+
// MI250X (results/widen/matrix*.jsonl). CCE craycc fails to link it
|
|
54
|
+
// (__kmpc_dispatch_init_4, data/findings/catalog/cce-c-ordered-link.c).
|
|
55
|
+
// Found by the widened catalog (omp52-c-w-ordered, the cells nvhpc/managed
|
|
56
|
+
// and nvhpc269/copy, reproduction-gate verdict environment); the program
|
|
57
|
+
// is the catalog program itself.
|
|
58
|
+
// NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2 $PWD/omp52-c-w-ordered.c
|
|
59
|
+
#include <stdio.h>
|
|
60
|
+
#include <stdbool.h>
|
|
61
|
+
#include <omp.h>
|
|
62
|
+
|
|
63
|
+
enum { n = 64 };
|
|
64
|
+
|
|
65
|
+
int main(void) {
|
|
66
|
+
int a[n], b[n], ref[n];
|
|
67
|
+
int host_flag = 1;
|
|
68
|
+
int cnt = 0;
|
|
69
|
+
for (int i = 0; i < n; i++) {
|
|
70
|
+
a[i] = i + 1;
|
|
71
|
+
b[i] = 0;
|
|
72
|
+
ref[i] = i + 1;
|
|
73
|
+
}
|
|
74
|
+
#pragma omp target parallel for ordered map(to: a) map(tofrom: b, cnt, host_flag)
|
|
75
|
+
for (int i = 0; i < n; i++) {
|
|
76
|
+
#pragma omp ordered
|
|
77
|
+
{
|
|
78
|
+
b[cnt] = a[i];
|
|
79
|
+
cnt = cnt + 1;
|
|
80
|
+
}
|
|
81
|
+
if (i == 0) host_flag = omp_is_initial_device();
|
|
82
|
+
}
|
|
83
|
+
bool ok = true;
|
|
84
|
+
for (int i = 0; i < n; i++)
|
|
85
|
+
ok = ok && (b[i] == ref[i]);
|
|
86
|
+
ok = ok && (cnt == n);
|
|
87
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
88
|
+
return 0;
|
|
89
|
+
}
|
|
90
|
+
// site:
|
|
91
|
+
// title: nvc rejects ordered in a target parallel for with the ordered clause, and its front end then crashes intermittently
|
|
92
|
+
// end site
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// NVHPC 25.11, NVIDIA A100 80GB PCIe (wingtip, sm_80), both memory
|
|
2
|
+
// modes: nvc stops with "NVC++-F-0155-Compiler failed to translate OpenMP
|
|
3
|
+
// region" on a parallel for with firstprivate nested in a target region
|
|
4
|
+
// (the catalog's lastprivate program fails the same way; its
|
|
5
|
+
// schedule(monotonic: dynamic) program fails because it has
|
|
6
|
+
// firstprivate(mine), not because of the schedule).
|
|
7
|
+
// Spec: firstprivate on a worksharing-loop construct: each new list item
|
|
8
|
+
// "is initialized from the original list item that exists before the
|
|
9
|
+
// construct" (5.2 §5.4.4 p.112); the program is legal.
|
|
10
|
+
// Vendor: "The private, firstprivate, and collapse clauses are supported"
|
|
11
|
+
// (worksharing-loop) and "The num_threads, default, private,
|
|
12
|
+
// firstprivate, and shared clauses are supported" (parallel), HPC
|
|
13
|
+
// Compilers User's Guide 25.11 §7.4, 2.9.2 and 2.6. The guide's §2.20
|
|
14
|
+
// sentence "nested teams or parallel regions in a target region are not
|
|
15
|
+
// supported" is read as a parallel region nested in another parallel (or
|
|
16
|
+
// teams) region inside a target region; here the parallel region is the
|
|
17
|
+
// only one in the target region, the shape §7.4's parallel entry covers.
|
|
18
|
+
// Expected: "c=1 every b[i] % 100 == 1: yes", exit 0. Each thread's copy
|
|
19
|
+
// of c starts at 1 and grows by 100 per iteration it runs, so b[i] is
|
|
20
|
+
// 1 + 100k (k = iterations its thread ran before i; the schedule is
|
|
21
|
+
// implementation defined, so k is not known); the host's c is unchanged.
|
|
22
|
+
// Observed (2026-10-24, nvc 25.11-0, -O2; this check rerun the same day,
|
|
23
|
+
// separate and managed memory): compile exit status 2,
|
|
24
|
+
// "NVC++-F-0155-Compiler failed to translate OpenMP region (b1.c: 7)".
|
|
25
|
+
// The same with private(c) (c set in the loop) compiles and is correct;
|
|
26
|
+
// nvfortran compiles the Fortran form of the catalog program; gcc
|
|
27
|
+
// (host fallback) prints the expected line.
|
|
28
|
+
// Found by the catalog (omp52/60-c-clause-firstprivate, -lastprivate,
|
|
29
|
+
// -schedule-monotonic: confirmer R10-compile-ice); reduced by hand.
|
|
30
|
+
// NVHPC 26.9 (26.9-0, the latest release; rerun 2026-10-24 on wingtip with
|
|
31
|
+
// the same flags): still present -- the same: "NVC++-F-0155-Compiler failed to translate OpenMP region", both modes.
|
|
32
|
+
// Fix (2026-10-24): rerun on 25.11 and 26.9 in both memory modes,
|
|
33
|
+
// each with its own runtime libraries (LD_LIBRARY_PATH = the release's
|
|
34
|
+
// compilers/lib; the first 26.9 runs had loaded 25.11's): still present
|
|
35
|
+
// on both releases, the same output.
|
|
36
|
+
// NVHPC: nvc -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
37
|
+
// Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
|
|
38
|
+
#include <stdio.h>
|
|
39
|
+
int main(void) {
|
|
40
|
+
int b[64];
|
|
41
|
+
int c = 1;
|
|
42
|
+
#pragma omp target map(from: b) map(tofrom: c)
|
|
43
|
+
{
|
|
44
|
+
#pragma omp parallel for default(none) shared(b) firstprivate(c)
|
|
45
|
+
for (int i = 0; i < 64; i++) {
|
|
46
|
+
b[i] = c;
|
|
47
|
+
c = c + 100;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
int ok = (c == 1);
|
|
51
|
+
for (int i = 0; i < 64; i++)
|
|
52
|
+
ok = ok && (b[i] % 100 == 1);
|
|
53
|
+
printf("c=%d every b[i] %% 100 == 1: %s\n", c, ok ? "yes" : "no");
|
|
54
|
+
return ok ? 0 : 1;
|
|
55
|
+
}
|
|
56
|
+
// site:
|
|
57
|
+
// title: nvc -mp=gpu: "Compiler failed to translate OpenMP region" for firstprivate on a parallel for in a target region
|
|
58
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-parallel-for-firstprivate-in-target-control.c private(c) with c set to 1
|
|
59
|
+
// + in each
|
|
60
|
+
// + iteration
|
|
61
|
+
// + instead of firstprivate(c)
|
|
62
|
+
// end site
|