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,235 @@
|
|
|
1
|
+
// (the reproduction gate's review queue, entry 72: the
|
|
2
|
+
// stress program scalars-c-64, kernel k0012, reduced): CCE 19 craycc gives
|
|
3
|
+
// one of 63 int64 sum reductions, and one of 64 (the two sizes above 62
|
|
4
|
+
// tested), on target teams distribute parallel for a wrong value, silently.
|
|
5
|
+
// With 62 or fewer every value is right. (Fix.)
|
|
6
|
+
// Spec: each list item of the reduction clause gets the combination of its
|
|
7
|
+
// private copies with its original value (OpenMP 5.2 §5.5.8 p.134), and on
|
|
8
|
+
// a combined target construct a reduction list item is also map(tofrom)
|
|
9
|
+
// (§17.2 p.341 l.10-13); neither OpenMP nor C sets a limit on the number of list
|
|
10
|
+
// items. Each s_k starts at 100 + k and adds k in each of 4 iterations, so
|
|
11
|
+
// it ends at 100 + 5k. Expected: "bad= 0".
|
|
12
|
+
// Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, 2026-10-26;
|
|
13
|
+
// data/evidence/gate_probe/logs/reduce.txt): CCE 19.0.0 at HSA_XNACK 0 and 1:
|
|
14
|
+
// "bad= 1 first= 11 (value 620, expected 155)" in every run (the same
|
|
15
|
+
// program with 63 scalars: s3 = 580 instead of 115); with 8, 16, ..., 56 and 57 to 62 scalars: bad= 0
|
|
16
|
+
// (control, data/evidence/gate_probe/reduce/red_c_N.c); CCE 20.0.2 and 21.0.3: bad= 0.
|
|
17
|
+
// Another family: nvc 25.11 and 26.9 (A100, separate memory): bad= 0 at 64
|
|
18
|
+
// and at 63 (data/evidence/gate_probe/logs/wingtip5.log, wingtip6.log; those runs
|
|
19
|
+
// used red_c_63.c and an earlier red_c_64.c whose printf lacked the
|
|
20
|
+
// "(value ..., expected ...)" text: the kernel is identical). AFAR amdclang stops at
|
|
21
|
+
// the same size: 62 scalars work, at 63 the kernel traps ("execution
|
|
22
|
+
// interrupted by hardware trap instruction", SIGABRT; the stress program's
|
|
23
|
+
// form prints "Too many arguments in kmp_invoke_microtask, aborting
|
|
24
|
+
// execution" first): a failing run, where CCE 19 gives a wrong value
|
|
25
|
+
// without any message.
|
|
26
|
+
// CCE: cc -fopenmp -O2 (module load cce/19.0.0 craype-accel-amd-gfx942 rocm)
|
|
27
|
+
// Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
|
|
28
|
+
#include <stdio.h>
|
|
29
|
+
#include <stdint.h>
|
|
30
|
+
int main(void) {
|
|
31
|
+
int64_t s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64;
|
|
32
|
+
s1 = 101;
|
|
33
|
+
s2 = 102;
|
|
34
|
+
s3 = 103;
|
|
35
|
+
s4 = 104;
|
|
36
|
+
s5 = 105;
|
|
37
|
+
s6 = 106;
|
|
38
|
+
s7 = 107;
|
|
39
|
+
s8 = 108;
|
|
40
|
+
s9 = 109;
|
|
41
|
+
s10 = 110;
|
|
42
|
+
s11 = 111;
|
|
43
|
+
s12 = 112;
|
|
44
|
+
s13 = 113;
|
|
45
|
+
s14 = 114;
|
|
46
|
+
s15 = 115;
|
|
47
|
+
s16 = 116;
|
|
48
|
+
s17 = 117;
|
|
49
|
+
s18 = 118;
|
|
50
|
+
s19 = 119;
|
|
51
|
+
s20 = 120;
|
|
52
|
+
s21 = 121;
|
|
53
|
+
s22 = 122;
|
|
54
|
+
s23 = 123;
|
|
55
|
+
s24 = 124;
|
|
56
|
+
s25 = 125;
|
|
57
|
+
s26 = 126;
|
|
58
|
+
s27 = 127;
|
|
59
|
+
s28 = 128;
|
|
60
|
+
s29 = 129;
|
|
61
|
+
s30 = 130;
|
|
62
|
+
s31 = 131;
|
|
63
|
+
s32 = 132;
|
|
64
|
+
s33 = 133;
|
|
65
|
+
s34 = 134;
|
|
66
|
+
s35 = 135;
|
|
67
|
+
s36 = 136;
|
|
68
|
+
s37 = 137;
|
|
69
|
+
s38 = 138;
|
|
70
|
+
s39 = 139;
|
|
71
|
+
s40 = 140;
|
|
72
|
+
s41 = 141;
|
|
73
|
+
s42 = 142;
|
|
74
|
+
s43 = 143;
|
|
75
|
+
s44 = 144;
|
|
76
|
+
s45 = 145;
|
|
77
|
+
s46 = 146;
|
|
78
|
+
s47 = 147;
|
|
79
|
+
s48 = 148;
|
|
80
|
+
s49 = 149;
|
|
81
|
+
s50 = 150;
|
|
82
|
+
s51 = 151;
|
|
83
|
+
s52 = 152;
|
|
84
|
+
s53 = 153;
|
|
85
|
+
s54 = 154;
|
|
86
|
+
s55 = 155;
|
|
87
|
+
s56 = 156;
|
|
88
|
+
s57 = 157;
|
|
89
|
+
s58 = 158;
|
|
90
|
+
s59 = 159;
|
|
91
|
+
s60 = 160;
|
|
92
|
+
s61 = 161;
|
|
93
|
+
s62 = 162;
|
|
94
|
+
s63 = 163;
|
|
95
|
+
s64 = 164;
|
|
96
|
+
#pragma omp target teams distribute parallel for reduction(+: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64)
|
|
97
|
+
for (int ii = 0; ii < 4; ii++) {
|
|
98
|
+
s1 += 1;
|
|
99
|
+
s2 += 2;
|
|
100
|
+
s3 += 3;
|
|
101
|
+
s4 += 4;
|
|
102
|
+
s5 += 5;
|
|
103
|
+
s6 += 6;
|
|
104
|
+
s7 += 7;
|
|
105
|
+
s8 += 8;
|
|
106
|
+
s9 += 9;
|
|
107
|
+
s10 += 10;
|
|
108
|
+
s11 += 11;
|
|
109
|
+
s12 += 12;
|
|
110
|
+
s13 += 13;
|
|
111
|
+
s14 += 14;
|
|
112
|
+
s15 += 15;
|
|
113
|
+
s16 += 16;
|
|
114
|
+
s17 += 17;
|
|
115
|
+
s18 += 18;
|
|
116
|
+
s19 += 19;
|
|
117
|
+
s20 += 20;
|
|
118
|
+
s21 += 21;
|
|
119
|
+
s22 += 22;
|
|
120
|
+
s23 += 23;
|
|
121
|
+
s24 += 24;
|
|
122
|
+
s25 += 25;
|
|
123
|
+
s26 += 26;
|
|
124
|
+
s27 += 27;
|
|
125
|
+
s28 += 28;
|
|
126
|
+
s29 += 29;
|
|
127
|
+
s30 += 30;
|
|
128
|
+
s31 += 31;
|
|
129
|
+
s32 += 32;
|
|
130
|
+
s33 += 33;
|
|
131
|
+
s34 += 34;
|
|
132
|
+
s35 += 35;
|
|
133
|
+
s36 += 36;
|
|
134
|
+
s37 += 37;
|
|
135
|
+
s38 += 38;
|
|
136
|
+
s39 += 39;
|
|
137
|
+
s40 += 40;
|
|
138
|
+
s41 += 41;
|
|
139
|
+
s42 += 42;
|
|
140
|
+
s43 += 43;
|
|
141
|
+
s44 += 44;
|
|
142
|
+
s45 += 45;
|
|
143
|
+
s46 += 46;
|
|
144
|
+
s47 += 47;
|
|
145
|
+
s48 += 48;
|
|
146
|
+
s49 += 49;
|
|
147
|
+
s50 += 50;
|
|
148
|
+
s51 += 51;
|
|
149
|
+
s52 += 52;
|
|
150
|
+
s53 += 53;
|
|
151
|
+
s54 += 54;
|
|
152
|
+
s55 += 55;
|
|
153
|
+
s56 += 56;
|
|
154
|
+
s57 += 57;
|
|
155
|
+
s58 += 58;
|
|
156
|
+
s59 += 59;
|
|
157
|
+
s60 += 60;
|
|
158
|
+
s61 += 61;
|
|
159
|
+
s62 += 62;
|
|
160
|
+
s63 += 63;
|
|
161
|
+
s64 += 64;
|
|
162
|
+
}
|
|
163
|
+
int bad = 0, first = -1;
|
|
164
|
+
long fv = 0;
|
|
165
|
+
if (s1 != 105) { bad++; if (first < 0) { first = 1; fv = (long) s1; } }
|
|
166
|
+
if (s2 != 110) { bad++; if (first < 0) { first = 2; fv = (long) s2; } }
|
|
167
|
+
if (s3 != 115) { bad++; if (first < 0) { first = 3; fv = (long) s3; } }
|
|
168
|
+
if (s4 != 120) { bad++; if (first < 0) { first = 4; fv = (long) s4; } }
|
|
169
|
+
if (s5 != 125) { bad++; if (first < 0) { first = 5; fv = (long) s5; } }
|
|
170
|
+
if (s6 != 130) { bad++; if (first < 0) { first = 6; fv = (long) s6; } }
|
|
171
|
+
if (s7 != 135) { bad++; if (first < 0) { first = 7; fv = (long) s7; } }
|
|
172
|
+
if (s8 != 140) { bad++; if (first < 0) { first = 8; fv = (long) s8; } }
|
|
173
|
+
if (s9 != 145) { bad++; if (first < 0) { first = 9; fv = (long) s9; } }
|
|
174
|
+
if (s10 != 150) { bad++; if (first < 0) { first = 10; fv = (long) s10; } }
|
|
175
|
+
if (s11 != 155) { bad++; if (first < 0) { first = 11; fv = (long) s11; } }
|
|
176
|
+
if (s12 != 160) { bad++; if (first < 0) { first = 12; fv = (long) s12; } }
|
|
177
|
+
if (s13 != 165) { bad++; if (first < 0) { first = 13; fv = (long) s13; } }
|
|
178
|
+
if (s14 != 170) { bad++; if (first < 0) { first = 14; fv = (long) s14; } }
|
|
179
|
+
if (s15 != 175) { bad++; if (first < 0) { first = 15; fv = (long) s15; } }
|
|
180
|
+
if (s16 != 180) { bad++; if (first < 0) { first = 16; fv = (long) s16; } }
|
|
181
|
+
if (s17 != 185) { bad++; if (first < 0) { first = 17; fv = (long) s17; } }
|
|
182
|
+
if (s18 != 190) { bad++; if (first < 0) { first = 18; fv = (long) s18; } }
|
|
183
|
+
if (s19 != 195) { bad++; if (first < 0) { first = 19; fv = (long) s19; } }
|
|
184
|
+
if (s20 != 200) { bad++; if (first < 0) { first = 20; fv = (long) s20; } }
|
|
185
|
+
if (s21 != 205) { bad++; if (first < 0) { first = 21; fv = (long) s21; } }
|
|
186
|
+
if (s22 != 210) { bad++; if (first < 0) { first = 22; fv = (long) s22; } }
|
|
187
|
+
if (s23 != 215) { bad++; if (first < 0) { first = 23; fv = (long) s23; } }
|
|
188
|
+
if (s24 != 220) { bad++; if (first < 0) { first = 24; fv = (long) s24; } }
|
|
189
|
+
if (s25 != 225) { bad++; if (first < 0) { first = 25; fv = (long) s25; } }
|
|
190
|
+
if (s26 != 230) { bad++; if (first < 0) { first = 26; fv = (long) s26; } }
|
|
191
|
+
if (s27 != 235) { bad++; if (first < 0) { first = 27; fv = (long) s27; } }
|
|
192
|
+
if (s28 != 240) { bad++; if (first < 0) { first = 28; fv = (long) s28; } }
|
|
193
|
+
if (s29 != 245) { bad++; if (first < 0) { first = 29; fv = (long) s29; } }
|
|
194
|
+
if (s30 != 250) { bad++; if (first < 0) { first = 30; fv = (long) s30; } }
|
|
195
|
+
if (s31 != 255) { bad++; if (first < 0) { first = 31; fv = (long) s31; } }
|
|
196
|
+
if (s32 != 260) { bad++; if (first < 0) { first = 32; fv = (long) s32; } }
|
|
197
|
+
if (s33 != 265) { bad++; if (first < 0) { first = 33; fv = (long) s33; } }
|
|
198
|
+
if (s34 != 270) { bad++; if (first < 0) { first = 34; fv = (long) s34; } }
|
|
199
|
+
if (s35 != 275) { bad++; if (first < 0) { first = 35; fv = (long) s35; } }
|
|
200
|
+
if (s36 != 280) { bad++; if (first < 0) { first = 36; fv = (long) s36; } }
|
|
201
|
+
if (s37 != 285) { bad++; if (first < 0) { first = 37; fv = (long) s37; } }
|
|
202
|
+
if (s38 != 290) { bad++; if (first < 0) { first = 38; fv = (long) s38; } }
|
|
203
|
+
if (s39 != 295) { bad++; if (first < 0) { first = 39; fv = (long) s39; } }
|
|
204
|
+
if (s40 != 300) { bad++; if (first < 0) { first = 40; fv = (long) s40; } }
|
|
205
|
+
if (s41 != 305) { bad++; if (first < 0) { first = 41; fv = (long) s41; } }
|
|
206
|
+
if (s42 != 310) { bad++; if (first < 0) { first = 42; fv = (long) s42; } }
|
|
207
|
+
if (s43 != 315) { bad++; if (first < 0) { first = 43; fv = (long) s43; } }
|
|
208
|
+
if (s44 != 320) { bad++; if (first < 0) { first = 44; fv = (long) s44; } }
|
|
209
|
+
if (s45 != 325) { bad++; if (first < 0) { first = 45; fv = (long) s45; } }
|
|
210
|
+
if (s46 != 330) { bad++; if (first < 0) { first = 46; fv = (long) s46; } }
|
|
211
|
+
if (s47 != 335) { bad++; if (first < 0) { first = 47; fv = (long) s47; } }
|
|
212
|
+
if (s48 != 340) { bad++; if (first < 0) { first = 48; fv = (long) s48; } }
|
|
213
|
+
if (s49 != 345) { bad++; if (first < 0) { first = 49; fv = (long) s49; } }
|
|
214
|
+
if (s50 != 350) { bad++; if (first < 0) { first = 50; fv = (long) s50; } }
|
|
215
|
+
if (s51 != 355) { bad++; if (first < 0) { first = 51; fv = (long) s51; } }
|
|
216
|
+
if (s52 != 360) { bad++; if (first < 0) { first = 52; fv = (long) s52; } }
|
|
217
|
+
if (s53 != 365) { bad++; if (first < 0) { first = 53; fv = (long) s53; } }
|
|
218
|
+
if (s54 != 370) { bad++; if (first < 0) { first = 54; fv = (long) s54; } }
|
|
219
|
+
if (s55 != 375) { bad++; if (first < 0) { first = 55; fv = (long) s55; } }
|
|
220
|
+
if (s56 != 380) { bad++; if (first < 0) { first = 56; fv = (long) s56; } }
|
|
221
|
+
if (s57 != 385) { bad++; if (first < 0) { first = 57; fv = (long) s57; } }
|
|
222
|
+
if (s58 != 390) { bad++; if (first < 0) { first = 58; fv = (long) s58; } }
|
|
223
|
+
if (s59 != 395) { bad++; if (first < 0) { first = 59; fv = (long) s59; } }
|
|
224
|
+
if (s60 != 400) { bad++; if (first < 0) { first = 60; fv = (long) s60; } }
|
|
225
|
+
if (s61 != 405) { bad++; if (first < 0) { first = 61; fv = (long) s61; } }
|
|
226
|
+
if (s62 != 410) { bad++; if (first < 0) { first = 62; fv = (long) s62; } }
|
|
227
|
+
if (s63 != 415) { bad++; if (first < 0) { first = 63; fv = (long) s63; } }
|
|
228
|
+
if (s64 != 420) { bad++; if (first < 0) { first = 64; fv = (long) s64; } }
|
|
229
|
+
printf("bad= %d first= %d (value %ld, expected %ld) s1= %ld s64= %ld\n", bad, first, fv,
|
|
230
|
+
first < 0 ? 0L : 100L + 5L * first, (long) s1, (long) s64);
|
|
231
|
+
return 0;
|
|
232
|
+
}
|
|
233
|
+
// site:
|
|
234
|
+
// title: craycc 19: with 63 or more int64 sum reductions on target teams distribute parallel for, one is wrong
|
|
235
|
+
// end site
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
program t
|
|
2
|
+
use omp_lib, only: omp_get_thread_num
|
|
3
|
+
implicit none
|
|
4
|
+
integer, parameter :: n = 64
|
|
5
|
+
integer, allocatable :: a(:), b(:)
|
|
6
|
+
integer :: ref(n), i, nbad
|
|
7
|
+
allocate(a(n), b(n))
|
|
8
|
+
do i = 1, n
|
|
9
|
+
a(i) = i; b(i) = 0; ref(i) = 2*i + 1
|
|
10
|
+
end do
|
|
11
|
+
!$omp target parallel map(to: a) map(from: b)
|
|
12
|
+
if (omp_get_thread_num() == 0) then
|
|
13
|
+
do i = 1, n
|
|
14
|
+
b(i) = 2*a(i) + 1
|
|
15
|
+
end do
|
|
16
|
+
end if
|
|
17
|
+
!$omp end target parallel
|
|
18
|
+
nbad = count(b /= ref)
|
|
19
|
+
print *, 'base_cond bad=', nbad
|
|
20
|
+
end program
|
|
21
|
+
! site:
|
|
22
|
+
! title: ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations
|
|
23
|
+
! + (-O2)
|
|
24
|
+
! control: ../vendor/checks/src/cce/control/cce19-target-parallel-guarded-loop-control.f90 compiled at -O0 instead of -O2 (-O0)
|
|
25
|
+
! end site
|
|
26
|
+
! spec (requirement): Every thread of the team created by a parallel construct executes the region, and each thread
|
|
27
|
+
! may follow a different path of statements.
|
|
28
|
+
! "Each thread can execute a path of statements that is different from that of the other threads." (5.2 §10.1 p.223
|
|
29
|
+
! l.27-28)
|
|
30
|
+
! spec (requirement): The thread with thread number zero is the primary thread and takes part in executing the region
|
|
31
|
+
! like every other thread.
|
|
32
|
+
! "All threads in the new team, including the primary thread, execute the region." (5.2 §10.1 p.223 l.16-17)
|
|
33
|
+
! spec (this program): Only thread 0 enters the guarded branch and runs the sequential DO loop of 64 iterations, so
|
|
34
|
+
! base-language semantics require all 64 elements of b to be written; the spec adds no rule that cuts a sequential
|
|
35
|
+
! loop short. At -O2 the compiler runs only some of the iterations.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
program t
|
|
2
|
+
use omp_lib, only: omp_get_thread_num
|
|
3
|
+
implicit none
|
|
4
|
+
integer, parameter :: n = 64
|
|
5
|
+
integer, allocatable :: a(:), b(:)
|
|
6
|
+
integer :: ref(n), i, nbad
|
|
7
|
+
allocate(a(n), b(n))
|
|
8
|
+
do i = 1, n
|
|
9
|
+
a(i) = i; b(i) = 0; ref(i) = 2*i + 1
|
|
10
|
+
end do
|
|
11
|
+
!$omp target parallel map(to: a) map(from: b)
|
|
12
|
+
!$omp single
|
|
13
|
+
do i = 1, n
|
|
14
|
+
b(i) = 2*a(i) + 1
|
|
15
|
+
end do
|
|
16
|
+
!$omp end single
|
|
17
|
+
!$omp end target parallel
|
|
18
|
+
nbad = count(b /= ref)
|
|
19
|
+
print *, 'single bad=', nbad
|
|
20
|
+
end program
|
|
21
|
+
! site:
|
|
22
|
+
! title: ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal
|
|
23
|
+
! + compiler errors or device link failures instead of a diagnostic
|
|
24
|
+
! control: ../vendor/checks/src/cce/control/cce19-target-parallel-single-ice-control.f90 the single construct replaced by a
|
|
25
|
+
! + worksharing do
|
|
26
|
+
! + construct
|
|
27
|
+
! end site
|
|
28
|
+
! spec (requirement): A single construct in a parallel region is executed by exactly one thread of the team, with an
|
|
29
|
+
! implicit barrier at its end.
|
|
30
|
+
! "The single construct specifies that the associated structured block is executed by only one of the threads in the
|
|
31
|
+
! team" (5.2 §11.1 p.241 l.2-3)
|
|
32
|
+
! spec (requirement): The implicit barrier at the end of a single region applies unless nowait is specified.
|
|
33
|
+
! "An implicit barrier occurs at the end of a single region if the nowait clause is not specified." (5.2 §11.1 p.241
|
|
34
|
+
! l.5-6)
|
|
35
|
+
! spec (this program): The program uses single inside target parallel without nowait. The nesting rules of OpenMP 5.2
|
|
36
|
+
! list no restriction against single in a target region, so the program is legal; the vendor documentation that
|
|
37
|
+
! lists single as unsupported in offload regions is a statement outside the spec, and the compiler gives an internal
|
|
38
|
+
! error or link failure instead of a diagnostic.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
! CCE 21: a target teams distribute parallel do over 2**32 iterations does
|
|
2
|
+
! not run its last 256-iteration block (retitled; the file keeps
|
|
3
|
+
! its name). Found as a wrong sum when the loop fills an integer(8)
|
|
4
|
+
! allocatable of 2**32 elements on the device and a second loop reduces it
|
|
5
|
+
! (the reproduction gate's review queue, entries 86 and 75, the
|
|
6
|
+
! stress program runtime.alloc-omp at 2**32, which is already this one
|
|
7
|
+
! kernel). The reduction is right; the fill loop leaves the last 256
|
|
8
|
+
! elements unwritten.
|
|
9
|
+
! Spec: integer(8) indices and extents, so nothing overflows (the largest
|
|
10
|
+
! product is 642 * 2**32); every iteration of the loop runs once (5.2 §11.6 p.254
|
|
11
|
+
! distribute, §11.5 p.247 worksharing-loop); the array is mapped by target enter
|
|
12
|
+
! data map(alloc:) (§13.6 p.280) and the sum is a reduction on target teams
|
|
13
|
+
! distribute parallel do (§5.5.8 p.134), mapped tofrom (§17.2 p.341
|
|
14
|
+
! l.10-13). 2**32 * 8 bytes = 32 GiB on the host and 32 GiB on the device
|
|
15
|
+
! (MI300A: 128 GB).
|
|
16
|
+
! Expected: "s= 2164663527981" (642 is invertible mod 1009, so each run of
|
|
17
|
+
! 1009 consecutive i adds 0 + 1 + ... + 1008 = 508536).
|
|
18
|
+
! Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, one run at a
|
|
19
|
+
! time, 2026-10-26; data/evidence/gate_probe/logs/reduce.txt):
|
|
20
|
+
! - CCE 21.0.3, HSA_XNACK 0 and 1: s= 2164663393401 in 4 of 4 runs, 134580
|
|
21
|
+
! short: exactly the sum of mod(i*642, 1009) over i = 2**32-255 .. 2**32.
|
|
22
|
+
! - Localization (after the later runs;
|
|
23
|
+
! data/evidence/gate_probe/reduce/): the same device fill, then target update from
|
|
24
|
+
! and a check on the host (fill_check_32.f90): "wrong= 256 big(nn)= 0
|
|
25
|
+
! big(nn-256)= 814" at XNACK 0, and at XNACK 1 big(nn)= -1 (the host's
|
|
26
|
+
! initial value, never overwritten): the last 256 iterations of the fill
|
|
27
|
+
! loop did not run. The array filled on the host, mapped to, and reduced
|
|
28
|
+
! by the same reduction loop (hostfill_reduce_32.f90): s= 2164663527981
|
|
29
|
+
! (right), both modes.
|
|
30
|
+
! - Controls on CCE 21: the same program at 2**31 elements (alloc_31.f90):
|
|
31
|
+
! s= 1082331768994 (right); the same 2**32 iterations as one reduction loop
|
|
32
|
+
! without the array (iter_32.f90): right (8 runs).
|
|
33
|
+
! - CCE 19.0.0 (XNACK 0 and 1) and 20.0.2 (XNACK 0 and 1): a GPU memory
|
|
34
|
+
! access fault (SIGABRT) at 2**32 in every run; CCE 20 faults in the fill
|
|
35
|
+
! loop alone (fill_check_32.f90); at 2**31 neither finishes within 300 s.
|
|
36
|
+
! data/reports/fuzz-stress.md records CCE 19/20's fill-and-reduce shape as
|
|
37
|
+
! wrong from 2**22 elements under candidate 6; its cause is not shown here,
|
|
38
|
+
! so this finding claims CCE 21 only.
|
|
39
|
+
! Another family: AFAR amdflang (XNACK 0 and 1) and nvfortran 25.11 and 26.9
|
|
40
|
+
! (A100 80 GB, separate memory): s= 2164663527981
|
|
41
|
+
! (data/evidence/gate_probe/logs/wingtip5.log).
|
|
42
|
+
! CCE: ftn -fopenmp -O2 (module load cce/21.0.3 craype-accel-amd-gfx942 rocm)
|
|
43
|
+
! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out (needs 64 GiB free)
|
|
44
|
+
program p
|
|
45
|
+
implicit none
|
|
46
|
+
integer(8) :: i, nn, s
|
|
47
|
+
integer(8), allocatable :: big(:)
|
|
48
|
+
nn = 2_8**32
|
|
49
|
+
s = 0
|
|
50
|
+
allocate(big(nn))
|
|
51
|
+
!$omp target enter data map(alloc: big)
|
|
52
|
+
!$omp target teams distribute parallel do
|
|
53
|
+
do i = 1, nn
|
|
54
|
+
big(i) = mod(i * 642, 1009_8)
|
|
55
|
+
end do
|
|
56
|
+
!$omp end target teams distribute parallel do
|
|
57
|
+
!$omp target teams distribute parallel do reduction(+: s)
|
|
58
|
+
do i = 1, nn
|
|
59
|
+
s = s + big(i)
|
|
60
|
+
end do
|
|
61
|
+
!$omp end target teams distribute parallel do
|
|
62
|
+
!$omp target exit data map(delete: big)
|
|
63
|
+
deallocate(big)
|
|
64
|
+
print '(a,i0)', 's= ', s
|
|
65
|
+
end program p
|
|
66
|
+
! site:
|
|
67
|
+
! title: ftn 21: target teams distribute parallel do over 2**32 iterations skips its last 256-iteration block
|
|
68
|
+
! end site
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
! CCE 21: with a defaultmap clause on a target construct, the scalar x named
|
|
2
|
+
! in map(tofrom: x) is not copied back (a correction: the header
|
|
3
|
+
! this file did not have).
|
|
4
|
+
! Spec: x is explicitly mapped tofrom, which defaultmap does not change
|
|
5
|
+
! ("The defaultmap clause determines the implicit data-mapping or
|
|
6
|
+
! data-sharing attribute of certain variables that are referenced in a
|
|
7
|
+
! target construct", 5.2 §5.8.7 p.161 l.14-16), and on exit the original is
|
|
8
|
+
! updated "if the map-type is from or tofrom" (5.2 §5.8.3 p.154 l.2-5).
|
|
9
|
+
! Expected: A 0, B 0, C 0 (x = 0 from omp_is_initial_device() on the device).
|
|
10
|
+
! Observed: CCE 21.0.3 and 21.0.4: A 1, B 0, C 1, at HSA_XNACK 0 and 1, -O0
|
|
11
|
+
! and -O2. The region runs on the device: CRAY_ACC_DEBUG shows the kernel,
|
|
12
|
+
! and an array flag mapped from in the same region comes back 0 (vendor
|
|
13
|
+
! case cce21-defaultmap-device-probe); what is lost is the copy-back of x.
|
|
14
|
+
! Control: region B, the same construct without defaultmap: 0. CCE 19.0.0
|
|
15
|
+
! and 20.0.2: all zeros. The catalog's defaultmap programs read their
|
|
16
|
+
! ran_on_host flag through such a map(tofrom) scalar, so on CCE 21 they
|
|
17
|
+
! read ran_on_host=1 although they ran on the device (decided as this wrong
|
|
18
|
+
! answer: catalog/rulings.yaml RUL-MAPPED-FLAG-NOT-COPIED-BACK).
|
|
19
|
+
! CCE: ftn -fopenmp -O2 (module load cce/21.0.4 craype-accel-amd-gfx942
|
|
20
|
+
! rocm/7.2.0; module unload cray-mpich)
|
|
21
|
+
program h
|
|
22
|
+
use omp_lib
|
|
23
|
+
implicit none
|
|
24
|
+
integer :: x, i
|
|
25
|
+
integer, allocatable :: a(:)
|
|
26
|
+
allocate(a(8)); a=1
|
|
27
|
+
x=1
|
|
28
|
+
!$omp target map(tofrom:x) map(to:a) defaultmap(to: aggregate)
|
|
29
|
+
x = merge(1,0,omp_is_initial_device())
|
|
30
|
+
!$omp end target
|
|
31
|
+
print *, 'A', x
|
|
32
|
+
x=1
|
|
33
|
+
!$omp target map(tofrom:x) map(to:a)
|
|
34
|
+
x = merge(1,0,omp_is_initial_device())
|
|
35
|
+
!$omp end target
|
|
36
|
+
print *, 'B', x
|
|
37
|
+
x=1
|
|
38
|
+
!$omp target map(tofrom:x) map(to:a) defaultmap(to: aggregate)
|
|
39
|
+
x = merge(1,0,omp_is_initial_device())
|
|
40
|
+
do i=1,8
|
|
41
|
+
a(i)=2
|
|
42
|
+
end do
|
|
43
|
+
!$omp end target
|
|
44
|
+
print *, 'C', x
|
|
45
|
+
end
|
|
46
|
+
! site:
|
|
47
|
+
! title: ftn: with a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with
|
|
48
|
+
! + defaultmap(tofrom) an array in map(alloc) or map(to) is copied back
|
|
49
|
+
! control: ../vendor/checks/src/cce/control/cce21-defaultmap-aggregate-flag-control.f90 defaultmap(to: aggregate) removed from
|
|
50
|
+
! + regions A
|
|
51
|
+
! + and C
|
|
52
|
+
! end site
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
! (reducing the reproduction gate's review queue entry
|
|
2
|
+
! 48, fuzz x0-alloc:197, whose kernel 4 is this pattern): CCE 21 loses the
|
|
3
|
+
! writes to an assumed-shape dummy array in a target region that has
|
|
4
|
+
! in_reduction (in a taskgroup with task_reduction), inside the procedure
|
|
5
|
+
! whose dummy it is. With explicit-shape dummies, or without the
|
|
6
|
+
! task_reduction/in_reduction pair, the writes come back.
|
|
7
|
+
! Spec: y is a mappable list item mapped tofrom (5.2 §5.8.3 p.150; the only
|
|
8
|
+
! Fortran list-item restriction, p.156, is on assumed-size arrays), so its
|
|
9
|
+
! values at the end of the region are assigned back to the original; the
|
|
10
|
+
! in_reduction clause on target (§5.5.10 p.138) and task_reduction on
|
|
11
|
+
! taskgroup (§5.5.9 p.137) do not change the mapping of other list items. r
|
|
12
|
+
! is not updated in the region. Expected: "r= 3 y(16)= 32".
|
|
13
|
+
! Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, 3 runs per
|
|
14
|
+
! cell, 2026-10-26; data/evidence/gate_probe/logs/reduce.txt, ids r2/inred_noh*):
|
|
15
|
+
! CCE 21.0.3 at HSA_XNACK 0 and 1: "r= 3 y(16)= 0" in every run.
|
|
16
|
+
! One-change controls of this program (after the later
|
|
17
|
+
! runs; data/evidence/gate_probe/reduce/): x(n), y(n) explicit-shape
|
|
18
|
+
! (inred_noh_explicit.f90) and the taskgroup and in_reduction removed
|
|
19
|
+
! (inred_noh_noinred.f90) each give "r= 3 y(16)= 32" in 6 of 6 runs on
|
|
20
|
+
! CCE 21, XNACK 0 and 1. CCE 19.0.0 and 20.0.2: right (both crash on the
|
|
21
|
+
! fuller fuzz kernel instead: data/reports/gate-queue.md, entry 48). The
|
|
22
|
+
! fix-round-1 form, which also printed an unwritten scalar h, gave the same
|
|
23
|
+
! (inred_host_noh.f90), and so did a form that writes and maps h
|
|
24
|
+
! (inred_host.f90).
|
|
25
|
+
! With r updated in the region (r = r + x(i)) CCE 21 does not link it
|
|
26
|
+
! ("undefined symbol: _cray$mt_taskwait": cce21-in-reduction-taskwait-link.f90),
|
|
27
|
+
! so this program leaves r alone.
|
|
28
|
+
! Another family: AFAR amdflang: "r= 3 y(16)= 32" (XNACK 0 and 1). NVHPC
|
|
29
|
+
! nvfortran 25.11 and 26.9 reject task_reduction ("Syntax error at or near
|
|
30
|
+
! identifier task_reduction" on data/evidence/gate_probe/reduce/unh_k2.f90 and
|
|
31
|
+
! unh_k4.f90, data/evidence/gate_probe/logs/wingtip5.log), so it is no witness.
|
|
32
|
+
! CCE: ftn -fopenmp -O2 (module load cce/21.0.3 craype-accel-amd-gfx942 rocm)
|
|
33
|
+
! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
|
|
34
|
+
program p
|
|
35
|
+
implicit none
|
|
36
|
+
integer, parameter :: n = 16
|
|
37
|
+
integer :: a(n), b(n), r, i
|
|
38
|
+
do i = 1, n
|
|
39
|
+
a(i) = i
|
|
40
|
+
b(i) = 0
|
|
41
|
+
end do
|
|
42
|
+
r = 3
|
|
43
|
+
call k(a, b)
|
|
44
|
+
print '(a,i0,a,i0)', 'r= ', r, ' y(16)= ', b(n)
|
|
45
|
+
contains
|
|
46
|
+
subroutine k(x, y)
|
|
47
|
+
integer, intent(in) :: x(:)
|
|
48
|
+
integer, intent(inout) :: y(:)
|
|
49
|
+
integer :: i
|
|
50
|
+
!$omp taskgroup task_reduction(+: r)
|
|
51
|
+
!$omp target map(to: x) map(tofrom: y) in_reduction(+: r)
|
|
52
|
+
do i = 1, n
|
|
53
|
+
y(i) = 2 * x(i)
|
|
54
|
+
end do
|
|
55
|
+
!$omp end target
|
|
56
|
+
!$omp end taskgroup
|
|
57
|
+
end subroutine k
|
|
58
|
+
end program p
|
|
59
|
+
! site:
|
|
60
|
+
! title: ftn 21: writes to an assumed-shape dummy in a target region with in_reduction are lost
|
|
61
|
+
! end site
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
! Generated by compliance.gen (OpenMP 5.2, free-form Fortran). Do not edit.
|
|
2
|
+
! id: omp52-clause-in_reduction-and
|
|
3
|
+
! primary atom: omp.clause.in_reduction.and
|
|
4
|
+
! legal: yes
|
|
5
|
+
! observable: yes
|
|
6
|
+
! ran_on_host: inside the target region of interest
|
|
7
|
+
! evidence: construct
|
|
8
|
+
! needs: none
|
|
9
|
+
! std: f2008
|
|
10
|
+
program gen_prog
|
|
11
|
+
use omp_lib, only: omp_is_initial_device
|
|
12
|
+
implicit none
|
|
13
|
+
integer, parameter :: n = 64
|
|
14
|
+
integer, allocatable, target :: a(:), b(:)
|
|
15
|
+
integer :: ref(n)
|
|
16
|
+
integer :: i, host_flag
|
|
17
|
+
logical :: ok
|
|
18
|
+
logical :: ls, lsref
|
|
19
|
+
allocate(a(n), b(n))
|
|
20
|
+
do i = 1, n
|
|
21
|
+
a(i) = i
|
|
22
|
+
b(i) = 0
|
|
23
|
+
ref(i) = 2*i + 1
|
|
24
|
+
end do
|
|
25
|
+
host_flag = 1
|
|
26
|
+
ls = .true.
|
|
27
|
+
lsref = .true.
|
|
28
|
+
do i = 1, n
|
|
29
|
+
lsref = lsref .and. (a(i) /= 17)
|
|
30
|
+
end do
|
|
31
|
+
!$omp taskgroup task_reduction(.and.: ls)
|
|
32
|
+
!$omp target map(to: a) map(from: b) map(tofrom: host_flag) in_reduction(.and.: ls)
|
|
33
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
34
|
+
do i = 1, n
|
|
35
|
+
b(i) = 2*a(i) + 1
|
|
36
|
+
ls = ls .and. (a(i) /= 17)
|
|
37
|
+
end do
|
|
38
|
+
!$omp end target
|
|
39
|
+
!$omp end taskgroup
|
|
40
|
+
ok = all(b == ref) .and. (ls .eqv. lsref)
|
|
41
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
42
|
+
deallocate(a, b)
|
|
43
|
+
end program gen_prog
|
|
44
|
+
! site:
|
|
45
|
+
! title: ftn: in_reduction on a target construct fails to link (undefined _cray$mt_taskwait in the device code)
|
|
46
|
+
! control: ../vendor/checks/src/cce/control/cce21-in-reduction-taskwait-link-control.f90 in_reduction(.and.: ls) on the target
|
|
47
|
+
! + replaced by
|
|
48
|
+
! + map(tofrom: ls), without the enclosing taskgroup
|
|
49
|
+
! end site
|
|
50
|
+
! spec (requirement): An in_reduction clause on a target construct makes the target task a participant in the task
|
|
51
|
+
! reduction defined by an enclosing taskgroup with a matching task_reduction clause.
|
|
52
|
+
! "For the target construct, the target task becomes the participating task." (5.2 §5.5.10 p.138 l.21-22)
|
|
53
|
+
! spec (requirement): The private copy of an in_reduction list item on a target construct is implicitly mapped into
|
|
54
|
+
! the device data environment and combined at the end of the task region.
|
|
55
|
+
! "This private copy will be implicitly mapped into the device data environment of the target device, if the target
|
|
56
|
+
! device is not the parent device." (5.2 §5.5.10 p.138 l.23-24)
|
|
57
|
+
! spec (this program): The target construct lists in_reduction(.and.: ls) inside a taskgroup with
|
|
58
|
+
! task_reduction(.and.: ls), which matches in operator and list item; the compiler fails to link the device code
|
|
59
|
+
! (undefined _cray$mt_taskwait) instead of performing the reduction.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
! Finding: CCE 21 rejects the OpenMP 5.2 linear modifier syntax
|
|
2
|
+
! under default(none) with a false data-sharing diagnostic.
|
|
3
|
+
!
|
|
4
|
+
! Legal OpenMP 5.2: linear(x: val, step(1)) on a worksharing-loop (5.2
|
|
5
|
+
! §5.4.6 pp.117-120; val is the default for a non-reference variable).
|
|
6
|
+
! linear is a data-sharing attribute clause, so x has an explicitly
|
|
7
|
+
! determined data-sharing attribute and default(none) is satisfied (5.2
|
|
8
|
+
! §5.4.1 p.109). At the start of iteration i, x = 3 + (i - 1); after the
|
|
9
|
+
! loop x = n + 3, reading "The value corresponding to the sequentially last
|
|
10
|
+
! logical iteration of the associated loops is assigned to the original list
|
|
11
|
+
! item" (5.2 §5.4.6 p.118) as the list item's value at the end of that
|
|
12
|
+
! iteration, as for lastprivate (the other reading, its value at the start,
|
|
13
|
+
! gives n + 2; CCE 21's failure is a compile-time rejection either way).
|
|
14
|
+
! Expected: "RESULT ran_on_host=0 check=pass".
|
|
15
|
+
! Legality rests on the quoted spec text: cited gfortran 13.3.1
|
|
16
|
+
! -fopenmp as an independent witness; gfortran/gcc -fopenmp are withdrawn
|
|
17
|
+
! as offload legality witnesses (data/reports/rulings.md).
|
|
18
|
+
!
|
|
19
|
+
! Observed (tuolumne, MI300A, both memory modes, -O2, 2026-10-22,
|
|
20
|
+
! data/evidence/triage_probe/linear_mod.f90 and linear_mod_nodn.f90,
|
|
21
|
+
! results/t27b/probes.jsonl):
|
|
22
|
+
! - CCE 21.0.3 (whose intro_openmp(7) lists "new linear clause syntax
|
|
23
|
+
! (Fortran only)" among its OpenMP 5.2 features): ftn-1510 "Variable "X"
|
|
24
|
+
! must have its data scope explicitly declared because DEFAULT(NONE) was
|
|
25
|
+
! specified". Without default(none) shared(a, b): internal compiler error
|
|
26
|
+
! "ACC - barrier/reset/protected last private not supported" (the class of
|
|
27
|
+
! fuzz/1391-cce20.f90).
|
|
28
|
+
! - CCE 19.0.0, 20.0.2: ftn-113, VAL read as an undeclared variable (they do
|
|
29
|
+
! not claim the 5.2 syntax).
|
|
30
|
+
! - AFAR amdflang 24.0.0git: crashes (ICE) in both forms.
|
|
31
|
+
! The catalog's omp52/60-clause-linear-val programs are rejected on every
|
|
32
|
+
! compiler because of these.
|
|
33
|
+
!
|
|
34
|
+
! ftn -fopenmp -O2
|
|
35
|
+
program p
|
|
36
|
+
use omp_lib, only: omp_is_initial_device
|
|
37
|
+
implicit none
|
|
38
|
+
integer, parameter :: n = 64
|
|
39
|
+
integer :: a(n), b(n), i, x, host_flag
|
|
40
|
+
a = [(i, i = 1, n)]
|
|
41
|
+
b = 0
|
|
42
|
+
x = 3
|
|
43
|
+
host_flag = 1
|
|
44
|
+
!$omp target map(to: a) map(from: b) map(tofrom: x, host_flag)
|
|
45
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
46
|
+
!$omp parallel do default(none) shared(a, b) linear(x: val, step(1))
|
|
47
|
+
do i = 1, n
|
|
48
|
+
b(i) = 2*a(i) + 1 + (x - (i + 2))
|
|
49
|
+
x = x + 1
|
|
50
|
+
end do
|
|
51
|
+
!$omp end target
|
|
52
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', &
|
|
53
|
+
merge('pass', 'fail', all(b == 2*a + 1) .and. x == n + 3)
|
|
54
|
+
end program p
|
|
55
|
+
! site:
|
|
56
|
+
! title: ftn: internal compiler error "ACC - barrier/reset/protected last private not supported" for linear and lastprivate on a
|
|
57
|
+
! + loop in a target region
|
|
58
|
+
! same_as: catalog/cce-linear-lastprivate-ice
|
|
59
|
+
! end site
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* Finding (C): at -fopenmp-version=52 both clang C front ends
|
|
2
|
+
reject the deprecated but normative `to` clause of declare target.
|
|
3
|
+
|
|
4
|
+
Legal OpenMP 5.2 C. "The clause-name to may be used as a synonym for the
|
|
5
|
+
clause-name enter. This use has been deprecated." (5.2 §5.8.4 p.158; also
|
|
6
|
+
Appendix B.1 p.625), and "deprecated"
|
|
7
|
+
is "the property that it is normative in the current specification but
|
|
8
|
+
is considered obsolescent and will be removed in the future" (5.2
|
|
9
|
+
§1.2.7 p.20); 6.0 removes it (the catalog's 6.0 programs use enter).
|
|
10
|
+
Expected: "RESULT ran_on_host=0 check=pass".
|
|
11
|
+
|
|
12
|
+
Observed (tuolumne, MI300A, HSA_XNACK=1, -O2, 2026-10-22,
|
|
13
|
+
data/evidence/triage_probe/dt_to.c, results/t27b/probes.jsonl): AFAR amdclang
|
|
14
|
+
24.0.0git and CCE craycc 19.0.0, 20.0.2, 21.0.3 at -fopenmp-version=52:
|
|
15
|
+
"error: unexpected 'to' clause, use 'enter' instead"; without the flag
|
|
16
|
+
(their default, OpenMP 5.1) all four compile and run it correctly. The
|
|
17
|
+
catalog's omp52-c-clause-device_type, -device_type-any, -device_type-
|
|
18
|
+
nohost programs were rejected on every compiler because of it; since
|
|
19
|
+
Those C ports use enter(f), so they measure
|
|
20
|
+
device_type.
|
|
21
|
+
|
|
22
|
+
Legality rests on the quoted spec text only: there is no independent
|
|
23
|
+
compiler witness (cited gcc 13.3.1 -fopenmp; gfortran/gcc -fopenmp
|
|
24
|
+
are withdrawn as offload legality witnesses, data/reports/rulings.md).
|
|
25
|
+
|
|
26
|
+
amdclang -fopenmp --offload-arch=gfx942 -fopenmp-version=52 -O2
|
|
27
|
+
craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
28
|
+
-Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
|
|
29
|
+
-fopenmp-version=52 -O2 */
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <omp.h>
|
|
32
|
+
enum { n = 64 };
|
|
33
|
+
int f(int x) { return 2 * x + 1; }
|
|
34
|
+
#pragma omp declare target to(f) device_type(any)
|
|
35
|
+
int main(void) {
|
|
36
|
+
int a[n], b[n], bad = 0, host_flag = 1;
|
|
37
|
+
for (int i = 0; i < n; i++) { a[i] = i + 1; b[i] = 0; }
|
|
38
|
+
#pragma omp target map(to: a) map(from: b) map(tofrom: host_flag)
|
|
39
|
+
{
|
|
40
|
+
host_flag = omp_is_initial_device() ? 1 : 0;
|
|
41
|
+
for (int i = 0; i < n; i++) b[i] = f(a[i]);
|
|
42
|
+
}
|
|
43
|
+
for (int i = 0; i < n; i++) bad += b[i] != 2 * (i + 1) + 1;
|
|
44
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, bad ? "fail" : "pass");
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
// site:
|
|
48
|
+
// title: amdclang -fopenmp-version=52: declare target to(f) rejected ("unexpected 'to' clause, use 'enter' instead")
|
|
49
|
+
// control: ../vendor/checks/src/other/control/clang-c-declare-target-to-omp52-control.c enter(f) instead of to(f)
|
|
50
|
+
// end site
|