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,68 @@
|
|
|
1
|
+
! # Finding (parity-fuzz-c1): NVHPC: a barrier inside a combined target parallel construct never completes (the end of a single, of
|
|
2
|
+
! # a worksharing loop, an explicit barrier); the same region as target containing parallel ends
|
|
3
|
+
!
|
|
4
|
+
! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
|
|
5
|
+
! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
6
|
+
! - failure: timeout
|
|
7
|
+
! - observed: `RUN_TIMEOUT`: the program does not end and is killed at the harness limit (60 s) in every run
|
|
8
|
+
! (OMP_TARGET_OFFLOAD=mandatory); identical signature on 4 of 4 failing cells
|
|
9
|
+
! - expected: compiles and prints `h= 0` with `check=pass`
|
|
10
|
+
! - rule: "An implicit barrier occurs at the end of a single region if the nowait clause is not specified." (5.2 §11.1 p.241 l.5-6),
|
|
11
|
+
! and "The semantics of the combined constructs are identical to that of explicitly specifying the first construct containing one
|
|
12
|
+
! instance of the second construct and no other statements." (5.2 §17.4 p.343 l.7-8): the program is a target region holding one
|
|
13
|
+
! parallel region whose single ends in a barrier that every thread of the team reaches
|
|
14
|
+
! - vendor: "The barrier construct is supported." and "Implicit barriers are implemented." (NVIDIA HPC Compilers User's Guide 26.9,
|
|
15
|
+
! Using OpenMP, items 2.17.2 and 2.17.3), single is listed with its private, firstprivate and nowait clauses (item 2.8.2), and
|
|
16
|
+
! "Combined constructs are supported to the extent that the component constructs are themselves supported." (item 2.13;
|
|
17
|
+
! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
|
|
18
|
+
! - same-compiler control: controls/nvhpc-target-parallel-split-control.f90 (one change from this file; correct on nvhpc (NVHPC
|
|
19
|
+
! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvc1/tuo.bar.jsonl, results/parity/nvc1/wt.bar.jsonl);
|
|
20
|
+
! controls/nvhpc-target-parallel-single-nowait-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
|
|
21
|
+
! (NVHPC 26.9); rows results/parity/nvc1/tuo.bar.jsonl, results/parity/nvc1/wt.bar.jsonl)
|
|
22
|
+
! - other families: afar (AFAR 24.3.0) run the file correctly (rows results/parity/nvc1/tuo.bar.jsonl); cce19 (CCE 19.0.0), cce20
|
|
23
|
+
! (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) fail it another way, e.g. `Creating internal compiler error backtrace
|
|
24
|
+
! (please wait):`
|
|
25
|
+
! - variants: files next to the reduction in results/parity/nvc1/red/, rows results/parity/nvc1/wt.bar.jsonl (both releases,
|
|
26
|
+
! separate and managed memory) and results/parity/nvc1/tuo.bar.jsonl: an explicit barrier
|
|
27
|
+
! (nvhpc-target-parallel-barrier-variant.f90) and the implicit barrier at the end of a worksharing loop
|
|
28
|
+
! (nvhpc-target-parallel-do-variant.f90) in the same combined construct time out too
|
|
29
|
+
! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
|
|
30
|
+
! results/parity/nvc1/gate_abd.bar.jsonl, results/parity/nvc1/gate_abd.bar.m2.jsonl, results/parity/nvc1/gate_c.bar.jsonl,
|
|
31
|
+
! results/parity/nvc1/gate_c.bar.m2.jsonl, results/parity/nvc1/wt.bar.jsonl); campaign gate of the programs below: 20 cells, 2
|
|
32
|
+
! confirmed in the four environments (a-d; (c) on another node or GPU; rows
|
|
33
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127709.jsonl,
|
|
34
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.127721.jsonl,
|
|
35
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210952.jsonl,
|
|
36
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.210965.jsonl); the campaign gate's
|
|
37
|
+
! verdict is confirmed for all 20 cells; the other 18 were rerun in (b) and (c) only (timeouts are not rerun in every environment)
|
|
38
|
+
! - programs (10): par-c1-nvhpc-nvhpc269:991, par-c1-nvhpc-nvhpc269:1182, par-c1-nvhpc-nvhpc269:1443, par-c1-nvhpc-nvhpc269:1678,
|
|
39
|
+
! par-c1-nvhpc-nvhpc269:1731, par-c1-nvhpc-nvhpc269:1762, par-c1-nvhpc-nvhpc269:1794, par-c1-nvhpc-nvhpc269:1805,
|
|
40
|
+
! par-c1-nvhpc-nvhpc269:2030, par-c1-nvhpc-nvhpc269:2228
|
|
41
|
+
! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
|
|
42
|
+
! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvc1/prerun.bar.txt); AFAR 24.3.0 runs all of them
|
|
43
|
+
! correctly
|
|
44
|
+
! with HSA_XNACK 0 and 1 (results/parity/nvc1/tuo.bar.jsonl). CCE 19/20/21/21.0.4 stop with an internal compiler error on single
|
|
45
|
+
! and barrier in a target region, their own documented failure (cce19-target-parallel-single-ice.f90), and run the
|
|
46
|
+
! worksharing-loop variant correctly. NVHPC is the compiler under test and is not counted as a witness
|
|
47
|
+
program p
|
|
48
|
+
use omp_lib, only: omp_is_initial_device
|
|
49
|
+
implicit none
|
|
50
|
+
integer :: h
|
|
51
|
+
h = -1
|
|
52
|
+
!$omp target parallel map(tofrom: h)
|
|
53
|
+
!$omp single
|
|
54
|
+
h = merge(1, 0, omp_is_initial_device())
|
|
55
|
+
!$omp end single
|
|
56
|
+
!$omp end target parallel
|
|
57
|
+
print '(a,i0)', 'h= ', h
|
|
58
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', merge(1, 0, h == 1), ' check=', merge('pass', 'fail', h == 0)
|
|
59
|
+
end program p
|
|
60
|
+
|
|
61
|
+
! site:
|
|
62
|
+
! title: barrier in combined target parallel: hang
|
|
63
|
+
! summary: nvfortran -mp=gpu appears to behave incorrectly on a barrier inside a combined target parallel construct (the end of a
|
|
64
|
+
! + single or of a worksharing loop, or an explicit barrier): the program never finishes. The same region written as target
|
|
65
|
+
! + containing parallel, or the single with nowait, finishes with the right result.
|
|
66
|
+
! control: fuzz/controls/nvhpc-target-parallel-split-control.f90 one change from the finding; correct on nvhpc, nvhpc269
|
|
67
|
+
! control: fuzz/controls/nvhpc-target-parallel-single-nowait-control.f90 one change from the finding; correct on nvhpc, nvhpc269
|
|
68
|
+
! end site
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
! # Finding (parity-fuzz-s1): NVHPC: a collapse clause on a combined target simd construct fails to translate ("Missing branch
|
|
2
|
+
! # target block"); target containing simd collapse, or target simd without collapse, compiles and runs correctly
|
|
3
|
+
!
|
|
4
|
+
! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
|
|
5
|
+
! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
6
|
+
! - failure: ice
|
|
7
|
+
! - observed: `NVFORTRAN-W-0155-Compiler failed to translate accelerator region (see -Minfo messages): Missing branch target
|
|
8
|
+
! block (<tmpdir>/nvhpc-target-simd-collapse-translate-failure.f90: 10)` followed by `NVFORTRAN-F-0704-Compilation aborted due
|
|
9
|
+
! to previous errors.` (the rows' stderr; the harness's reason reads the F-0704 line); identical signature on 4 of 4 failing
|
|
10
|
+
! cells
|
|
11
|
+
! - expected: compiles and prints `o1= -11.00` with `check=pass`
|
|
12
|
+
! - rule: "The collapse clause associates one or more loops with the directive on which it appears for the purpose of
|
|
13
|
+
! identifying the portion of the depth of the canonical loop nest to which to apply the semantics of the directive." (5.2
|
|
14
|
+
! §4.4.3 p.93 l.23-25), whose directives are "distribute, do, for, loop, simd, taskloop" (5.2 §4.4.3 p.93 l.21), and "If
|
|
15
|
+
! directive-name-A is target then directive-name-B may be simd" (5.2 §17.3 p.342 l.22): collapse(2) on target simd applies the
|
|
16
|
+
! simd semantics to the two-loop nest
|
|
17
|
+
! - vendor: "the simd construct is ignored for GPU targets" (item 2.9.3) and "Combined constructs are supported to the extent
|
|
18
|
+
! that the component constructs are themselves supported." (item 2.13); the collapse clause is listed as supported on the
|
|
19
|
+
! worksharing-loop, distribute and loop constructs (items 2.9.2, 2.9.4, 2.9.5) (NVIDIA HPC Compilers User's Guide 26.9, Using
|
|
20
|
+
! OpenMP; data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
|
|
21
|
+
! - same-compiler control: controls/nvhpc-target-simd-no-collapse-control.f90 (one change from this file; correct on nvhpc (NVHPC
|
|
22
|
+
! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.bt.jsonl, results/parity/nvs1/wt.bt.jsonl);
|
|
23
|
+
! controls/nvhpc-target-simd-collapse-split-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11), nvhpc269
|
|
24
|
+
! (NVHPC 26.9); rows results/parity/nvs1/tuo.bt.jsonl, results/parity/nvs1/wt.bt.jsonl)
|
|
25
|
+
! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
|
|
26
|
+
! file correctly (rows results/parity/nvs1/tuo.bt.jsonl)
|
|
27
|
+
! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.bt.jsonl (both releases,
|
|
28
|
+
! separate and managed memory) and results/parity/nvs1/tuo.bt.jsonl: the same loop nest as target teams distribute simd
|
|
29
|
+
! collapse(2) (nvhpc-target-teams-distribute-simd-collapse-variant.f90) and as target parallel do simd collapse(2)
|
|
30
|
+
! (nvhpc-target-parallel-do-simd-collapse-variant.f90) compiles and is correct; target simd collapse(2) with a reduction
|
|
31
|
+
! (nvhpc-target-simd-collapse-reduction-variant.f90, the seed's shape) fails the same way. The seed's loop direction, complex
|
|
32
|
+
! output and reduction are irrelevant (exploration). The same message appears on n0x0/n1x0 seeds 847, 722 and 163
|
|
33
|
+
! (data/reports/fuzz-n0x0.md), not re-checked
|
|
34
|
+
! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
|
|
35
|
+
! results/parity/nvs1/gate_abd.bt.jsonl, results/parity/nvs1/gate_abd.bt.m2.jsonl, results/parity/nvs1/gate_c.bt.jsonl,
|
|
36
|
+
! results/parity/nvs1/gate_c.bt.m2.jsonl, results/parity/nvs1/wt.bt.jsonl); campaign gate of the programs below: 2 cells, 2
|
|
37
|
+
! confirmed in the four environments (a-d; (c) on another node or GPU; rows
|
|
38
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2476695.jsonl,
|
|
39
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3482833.jsonl)
|
|
40
|
+
! - programs (1): par-s1-nvhpc-nvhpc269:9796
|
|
41
|
+
! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
|
|
42
|
+
! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.bt.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
|
|
43
|
+
! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.bt.jsonl). NVHPC is the compiler under
|
|
44
|
+
! test and is not counted as a witness
|
|
45
|
+
program p
|
|
46
|
+
implicit none
|
|
47
|
+
integer, parameter :: n = 16, m = 4
|
|
48
|
+
integer :: ia(n), i, j
|
|
49
|
+
real(4) :: o1(n, m)
|
|
50
|
+
do i = 1, n
|
|
51
|
+
ia(i) = mod(i * 22 + 1, 97) - 35
|
|
52
|
+
end do
|
|
53
|
+
o1 = 0.0
|
|
54
|
+
!$omp target simd map(from: o1) map(to: ia) collapse(2)
|
|
55
|
+
do i = 1, n
|
|
56
|
+
do j = 1, m
|
|
57
|
+
o1(i, j) = real(ia(i) + j, 4)
|
|
58
|
+
end do
|
|
59
|
+
end do
|
|
60
|
+
!$omp end target simd
|
|
61
|
+
print '(a,f0.2)', 'o1= ', o1(1, 1)
|
|
62
|
+
print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', nint(o1(1, 1)) == ia(1) + 1)
|
|
63
|
+
end program p
|
|
64
|
+
|
|
65
|
+
! site:
|
|
66
|
+
! title: collapse on target simd: translation failure
|
|
67
|
+
! summary: nvfortran -mp=gpu appears to behave incorrectly on a combined target simd construct with a collapse clause: the
|
|
68
|
+
! + compile stops with "Compiler failed to translate accelerator region: Missing branch target block". The same loop nest as
|
|
69
|
+
! + target containing simd collapse(2), as target simd without collapse, or as target teams distribute simd collapse(2),
|
|
70
|
+
! + compiles and runs correctly.
|
|
71
|
+
! control: fuzz/controls/nvhpc-target-simd-no-collapse-control.f90 one change from the finding; correct on nvhpc, nvhpc269
|
|
72
|
+
! control: fuzz/controls/nvhpc-target-simd-collapse-split-control.f90 one change from the finding; correct on nvhpc, nvhpc269
|
|
73
|
+
! end site
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
! # Finding (parity-fuzz-s1): NVHPC: a combined target simd construct written without its optional end directive is rejected
|
|
2
|
+
! # ("Illegal control structure - unterminated TARGET"); with the end directive, or as target containing simd, it compiles and
|
|
3
|
+
! # runs correctly
|
|
4
|
+
!
|
|
5
|
+
! - toolchains and modes that fail: nvhpc (NVHPC 25.11), nvhpc269 (NVHPC 26.9); modes: copy, managed; -O2
|
|
6
|
+
! - build: nvfortran -mp=gpu -gpu=cc80 -gpu=mem:separate -O2
|
|
7
|
+
! - failure: rejected
|
|
8
|
+
! - observed: `NVFORTRAN-S-0104-Illegal control structure - unterminated TARGET
|
|
9
|
+
! (<tmpdir>/nvhpc-target-simd-no-end-directive-rejected.f90: 6)`; identical signature on 4 of 4 failing cells
|
|
10
|
+
! - expected: compiles and prints `suma= 152` with `check=pass`
|
|
11
|
+
! - rule: "For a loop-associated directive, the paired end directive is optional." (5.2 §3.1 p.52 l.26) and "If directive-name-A
|
|
12
|
+
! is target then directive-name-B may be simd" (5.2 §17.3 p.342 l.22): the combined target simd construct is loop-associated
|
|
13
|
+
! through its simd leaf, so `!$omp end target simd` may be left out
|
|
14
|
+
! - vendor: "the simd construct is ignored for GPU targets" (item 2.9.3) and "Combined constructs are supported to the extent
|
|
15
|
+
! that the component constructs are themselves supported." (item 2.13) (NVIDIA HPC Compilers User's Guide 26.9, Using OpenMP;
|
|
16
|
+
! data/index/claims/nvidia-hpc-26.9-user-guide-openmp.txt)
|
|
17
|
+
! - same-compiler control: controls/nvhpc-target-simd-end-directive-control.f90 (one change from this file; correct on nvhpc (NVHPC
|
|
18
|
+
! 25.11), nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ts.jsonl, results/parity/nvs1/wt.ts.jsonl);
|
|
19
|
+
! controls/nvhpc-target-simd-split-no-end-directive-control.f90 (one change from this file; correct on nvhpc (NVHPC 25.11),
|
|
20
|
+
! nvhpc269 (NVHPC 26.9); rows results/parity/nvs1/tuo.ts.jsonl, results/parity/nvs1/wt.ts.jsonl)
|
|
21
|
+
! - other families: afar (AFAR 24.3.0), cce19 (CCE 19.0.0), cce20 (CCE 20.0.2), cce21 (CCE 21.0.3), cce21_4 (CCE 21.0.4) run the
|
|
22
|
+
! file correctly (rows results/parity/nvs1/tuo.ts.jsonl)
|
|
23
|
+
! - variants: files next to the reduction in results/parity/nvs1/red/, rows results/parity/nvs1/wt.ts.jsonl (both releases,
|
|
24
|
+
! separate and managed memory) and results/parity/nvs1/tuo.ts.jsonl: target parallel do
|
|
25
|
+
! (nvhpc-target-parallel-do-no-end-directive-variant.f90) and target teams distribute
|
|
26
|
+
! (nvhpc-target-teams-distribute-no-end-directive-variant.f90) without their end directives compile and are correct; with the
|
|
27
|
+
! seed's simdlen(16) (nvhpc-target-simd-simdlen-no-end-directive-variant.f90) the compile stops first at "SIMDLEN, not yet
|
|
28
|
+
! implemented". The s1 programs 888 and 3804 hold a target simd without its end directive, and in the campaign and its gate
|
|
29
|
+
! the two bundles hung in every environment on both releases (20 of 20 compiles, class compile_timeout, this rejection in the
|
|
30
|
+
! cells' stderr), so their cells carry another signature and are not counted here; one exploration compile of the 888 bundle
|
|
31
|
+
! outside the harness ended with the rejection in under 150 s, and the bundle with `!$omp end target simd` added compiles. Two
|
|
32
|
+
! other s1 bundles with this rejection do not hang: 8411 (counted below) and 3452, whose first diagnostic is SIMDLEN not
|
|
33
|
+
! implemented (not counted). The compile hang is an unreduced lead
|
|
34
|
+
! - gate and confirmer: 4 of 4 cells reproduce in all four environments (a-d; (c) on another node or GPU than (a); rows
|
|
35
|
+
! results/parity/nvs1/gate_abd.ts.jsonl, results/parity/nvs1/gate_abd.ts.m2.jsonl, results/parity/nvs1/gate_c.ts.jsonl,
|
|
36
|
+
! results/parity/nvs1/gate_c.ts.m2.jsonl, results/parity/nvs1/wt.ts.jsonl); campaign gate of the programs below: 2 cells, 2
|
|
37
|
+
! confirmed in the four environments (a-d; (c) on another node or GPU; rows
|
|
38
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.abd.2465893.jsonl,
|
|
39
|
+
! results/parity/wingtip/results/parity/gate/fuzz/reruns/wingtip.c.3354124.jsonl)
|
|
40
|
+
! - programs (1): par-s1-nvhpc-nvhpc269:8411 (a target simd with device, reduction and map(always) clauses and no end directive;
|
|
41
|
+
! both releases reject it with this message as the first diagnostic)
|
|
42
|
+
! - legality: the rules (offload.engine.rules) and AFAR's flang front end accept this file, its controls and the variants above
|
|
43
|
+
! (offload.engine.prerun.check on a Tuolumne compute node; results/parity/nvs1/prerun.ts.txt); AFAR 24.3.0 and CCE 19/20/21/21.0.4
|
|
44
|
+
! compile and run all of them correctly with HSA_XNACK 0 and 1 (results/parity/nvs1/tuo.ts.jsonl). NVHPC is the compiler under
|
|
45
|
+
! test and is not counted as a witness
|
|
46
|
+
program p
|
|
47
|
+
implicit none
|
|
48
|
+
integer :: a(16), b(16), i, t
|
|
49
|
+
b = 1
|
|
50
|
+
a = 0
|
|
51
|
+
!$omp target simd map(tofrom: a) map(to: b) private(t)
|
|
52
|
+
do i = 1, 16
|
|
53
|
+
t = b(i)
|
|
54
|
+
a(i) = t + i
|
|
55
|
+
end do
|
|
56
|
+
print '(a,i0)', 'suma= ', sum(a)
|
|
57
|
+
print '(a,a)', 'RESULT ran_on_host=0 check=', merge('pass', 'fail', sum(a) == 152)
|
|
58
|
+
end program p
|
|
59
|
+
|
|
60
|
+
! site:
|
|
61
|
+
! title: target simd without end directive: rejected
|
|
62
|
+
! summary: nvfortran -mp=gpu appears not to support a combined target simd construct written without its optional end directive:
|
|
63
|
+
! + the compile stops with "Illegal control structure - unterminated TARGET". With `!$omp end target simd`, as target containing
|
|
64
|
+
! + simd, or as target parallel do and target teams distribute without their end directives, it compiles and runs correctly.
|
|
65
|
+
! control: fuzz/controls/nvhpc-target-simd-end-directive-control.f90 one change from the finding; correct on nvhpc, nvhpc269
|
|
66
|
+
! control: fuzz/controls/nvhpc-target-simd-split-no-end-directive-control.f90 one change from the finding; correct on nvhpc,
|
|
67
|
+
! + nvhpc269
|
|
68
|
+
! end site
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
! Minimized by compliance.fuzz_min from fuzz seed 2082 (fuzz-3), then reduced by hand (coverage parity review, 2026-10-29).
|
|
2
|
+
! toolchain: gcc_g90 (-O2, HSA_XNACK=0, OMP_TARGET_OFFLOAD=mandatory)
|
|
3
|
+
! failure: ice (ice: internal compiler error: in simplify_subreg, at simplify-rtx.cc:8291)
|
|
4
|
+
! expected: compiles; prints `bad= 0` and `RESULT ran_on_host=0 check=pass`
|
|
5
|
+
! observed: `internal compiler error: in simplify_subreg, at simplify-rtx.cc:8291` from the amdgcn offload compiler
|
|
6
|
+
! (accel/amdgcn-amdhsa/lto1, -march=gfx90a; in the RTL combine pass), located at the target directive (`!$omp target map(tofrom:
|
|
7
|
+
! host_flag)`, column 37); mkoffload and the link fail. Site matrix: the same on tioga39 in environments (a), (b), (d), and in (c)
|
|
8
|
+
! on another node. The nvptx build (gcc_sm80) compiles and runs this file correctly (mandatory pass 5 of 5; unset pass 5 of 5), as
|
|
9
|
+
! do AFAR, CCE 19/20/21/21.0.4 and NVHPC 25.11/26.9 in every site-matrix environment. Evidence:
|
|
10
|
+
! results/parity/tioga/gcc_g90/probes.jsonl, results/parity/wingtip/gcc_sm80/probes.jsonl, the site's finding matrix
|
|
11
|
+
! (data/vendor/checks/results-site), and the one-change probes under results/parity/probes-r2 (cptr_r4.f90: this program with one
|
|
12
|
+
! more, unused, integer variable).
|
|
13
|
+
! control (compiles; correct on gcc_g90, mandatory pass 5 of 5, unset pass 5 of 5): the same program with `o1` a complex array
|
|
14
|
+
! instead of a pointer to one (controls/gcc-complex-pointer-store-control.f90). Other one-change probes on gcc_g90: a real
|
|
15
|
+
! pointer array compiles and runs correctly; so does storing the loop index `i` instead of `ic(i, 2)`; storing
|
|
16
|
+
! `mod(mod(ic(i, 2), 13), 1009)` (the fuzz program's expression), `cmplx(...)` or `real(ic(i, 2))`, with the loop ascending or
|
|
17
|
+
! descending, fails to compile too.
|
|
18
|
+
! Legal OpenMP 5.2: the two witnesses that are neither GCC nor a compiler of this finding, offload.engine.rules and AFAR
|
|
19
|
+
! flang's front
|
|
20
|
+
! end, accept this program and the control (offload.engine.prerun.check on results/parity/probes-r2/cptr_r4.f90 and
|
|
21
|
+
! cptr_ctl_array.f90, the same code with one more unused variable and no comments;
|
|
22
|
+
! results/parity/tioga/results/parity/legality.jsonl), and the minimized fuzz program before them; the fuzz program passed the
|
|
23
|
+
! campaign's legality gate (the same two witnesses). GCC is a compiler under test only and never a legality witness.
|
|
24
|
+
program cptr_store
|
|
25
|
+
use omp_lib, only: omp_is_initial_device
|
|
26
|
+
implicit none
|
|
27
|
+
integer, parameter :: n = 24
|
|
28
|
+
integer :: ic(n, 2), i, host_flag, bad
|
|
29
|
+
complex, pointer :: o1(:)
|
|
30
|
+
complex, target :: o1t(n)
|
|
31
|
+
o1 => o1t
|
|
32
|
+
do i = 1, n
|
|
33
|
+
ic(i, 1) = 0
|
|
34
|
+
ic(i, 2) = mod((i + 14) * 24 + 22, 101) - 1
|
|
35
|
+
end do
|
|
36
|
+
o1t = 0
|
|
37
|
+
host_flag = 1
|
|
38
|
+
!$omp target map(tofrom: host_flag)
|
|
39
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
40
|
+
do i = n, 1, -1
|
|
41
|
+
! an integer array element stored into a complex pointer array
|
|
42
|
+
o1(i) = ic(i, 2)
|
|
43
|
+
end do
|
|
44
|
+
!$omp end target
|
|
45
|
+
bad = 0
|
|
46
|
+
do i = 1, n
|
|
47
|
+
if (o1t(i) /= cmplx(ic(i, 2), 0.0)) bad = bad + 1
|
|
48
|
+
end do
|
|
49
|
+
print '(a,i0)', 'bad= ', bad
|
|
50
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', bad == 0)
|
|
51
|
+
end program cptr_store
|
|
52
|
+
! site:
|
|
53
|
+
! title: A complex pointer array written in a target region: internal compiler error in the amdgcn offload compiler
|
|
54
|
+
! summary: GCC 16.2's amdgcn offload compiler (gfx90a) stops with an internal compiler error in its RTL combine pass on a
|
|
55
|
+
! + target region that stores an integer array element into a complex pointer array. The same program with a complex array
|
|
56
|
+
! + instead of the pointer compiles and runs correctly, and the A100 build of GCC compiles and runs this file. Reduced from a
|
|
57
|
+
! + fuzz program.
|
|
58
|
+
! control: fuzz/controls/gcc-complex-pointer-store-control.f90 o1 a complex array instead of a pointer
|
|
59
|
+
! end site
|
|
60
|
+
! spec (requirement): a pointer array that a target region references and no clause names is not a scalar, so it is mapped
|
|
61
|
+
! tofrom, and an associated pointer in a map clause maps its pointer target too, so storing through the pointer in the region is
|
|
62
|
+
! legal. The specification does not describe internal compiler errors, so no text covers the failure itself.
|
|
63
|
+
! "If a variable is not a scalar then it is treated as if it had appeared in a map clause with a map-type of tofrom." (5.2
|
|
64
|
+
! §5.8.1 p.149 l.4-5)
|
|
65
|
+
! "If a list item in a map clause is an associated pointer and the pointer is not the base pointer of another list item in a map
|
|
66
|
+
! clause on the same construct, then it is treated as if its pointer target is implicitly mapped in the same clause. For the
|
|
67
|
+
! purposes of the map clause, the mapped pointer target is treated as if its base pointer is the associated pointer." (5.2
|
|
68
|
+
! §5.8.3 p.152 l.1-4)
|
|
69
|
+
! spec (this program): the target region stores the integer elements ic(i, 2) into the complex pointer array o1 (pointer to
|
|
70
|
+
! o1t); GCC 16.2's amdgcn offload compiler (gfx90a) stops with an internal compiler error in the RTL combine pass instead of
|
|
71
|
+
! compiling the store, while a complex array in place of the pointer compiles.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
! Finding: CCE 19, 20, 21 reject firstprivate(i) on a combined
|
|
2
|
+
! parallel do nested in a teams distribute loop over i, under default(none)
|
|
3
|
+
! (ftn-1510 "Variable "I" must have its data scope explicitly declared
|
|
4
|
+
! because DEFAULT(NONE) was specified"; in other programs ftn-1310 "Object
|
|
5
|
+
! "I" is specified on the FIRSTPRIVATE clause. It must have a shared scope
|
|
6
|
+
! in the enclosing region").
|
|
7
|
+
!
|
|
8
|
+
! Legal OpenMP 5.2: firstprivate on a combined construct applies to the
|
|
9
|
+
! worksharing leaf, and "If the parallel construct is among the constituent
|
|
10
|
+
! constructs and the effect is not as if the firstprivate clause is applied
|
|
11
|
+
! to it by the above rules, then the effect is as if the shared clause with
|
|
12
|
+
! the same list item is applied to the parallel construct" (5.2 §17.2
|
|
13
|
+
! p.340), so i is shared in the parallel region (default(none) is
|
|
14
|
+
! satisfied, 5.2 §5.4.1 p.109) and the restriction on worksharing
|
|
15
|
+
! firstprivate items that are private in the binding parallel region (5.2
|
|
16
|
+
! §5.4.4) does not apply; in the teams region i is the iteration variable of
|
|
17
|
+
! the distribute loop, predetermined private ("The loop iteration variable
|
|
18
|
+
! in any associated loop of a loop-associated construct is otherwise
|
|
19
|
+
! private", 5.2 §5.1.1 p.97). (A gfortran -fopenmp accept is withdrawn as evidence, 2026-10-23.)
|
|
20
|
+
! Expected: "RESULT check=pass" (a(i, j) = 10 * i + j).
|
|
21
|
+
!
|
|
22
|
+
! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1, 2026-10-23,
|
|
23
|
+
! results/t28_probe/dn_teams_loopvar*.json):
|
|
24
|
+
! - CCE 19.0.0, 20.0.2, 21.0.3: ftn-1510 for I at the firstprivate(i) of
|
|
25
|
+
! the parallel do; without firstprivate(i) (data/evidence/dataenv_probe/
|
|
26
|
+
! dn_teams_loopvar_nofp.f90) all three compile and run correctly;
|
|
27
|
+
! - AFAR amdflang 24.0.0git: "RESULT check=pass".
|
|
28
|
+
! - Tioga MI250X (gfx90a, HSA_XNACK=0): the same; CCE 19/20/21 reject,
|
|
29
|
+
! AFAR passes (results/t28_probe/g90/dn_teams_loopvar.cce21_g90.json).
|
|
30
|
+
! Fuzz campaign s1: the ftn-1510 "I" and ftn-1310 "I" cells of CCE (rule
|
|
31
|
+
! R11, decisions D2 and D5), verdict compiler_bug. Representatives: s1
|
|
32
|
+
! seeds 2370 (cce21, copy) and 6443 (cce21); reproducer written by hand
|
|
33
|
+
! (data/evidence/dataenv_probe/dn_teams_loopvar.f90).
|
|
34
|
+
!
|
|
35
|
+
! ftn -fopenmp -O2
|
|
36
|
+
program p
|
|
37
|
+
implicit none
|
|
38
|
+
integer, parameter :: n = 8, m = 4
|
|
39
|
+
integer :: a(n, m), i, j
|
|
40
|
+
logical :: ok
|
|
41
|
+
a = 0
|
|
42
|
+
!$omp target map(tofrom: a)
|
|
43
|
+
!$omp teams distribute default(none) shared(a) private(j)
|
|
44
|
+
do i = 1, n
|
|
45
|
+
!$omp parallel do default(none) shared(a) firstprivate(i)
|
|
46
|
+
do j = 1, m
|
|
47
|
+
a(i, j) = 10 * i + j
|
|
48
|
+
end do
|
|
49
|
+
end do
|
|
50
|
+
!$omp end teams distribute
|
|
51
|
+
!$omp end target
|
|
52
|
+
ok = .true.
|
|
53
|
+
do i = 1, n
|
|
54
|
+
do j = 1, m
|
|
55
|
+
ok = ok .and. a(i, j) == 10 * i + j
|
|
56
|
+
end do
|
|
57
|
+
end do
|
|
58
|
+
if (ok) then
|
|
59
|
+
print '(a)', 'RESULT check=pass'
|
|
60
|
+
else
|
|
61
|
+
print '(a)', 'RESULT check=fail'
|
|
62
|
+
end if
|
|
63
|
+
end program p
|
|
64
|
+
! site:
|
|
65
|
+
! title: ftn: firstprivate(i) on a parallel do nested in a teams distribute loop over i rejected under default(none) (ftn-1510)
|
|
66
|
+
! control: ../vendor/checks/src/other/control/s1-2370-cce21-control.f90 firstprivate(i) removed from the parallel do
|
|
67
|
+
! end site
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
! Finding: CCE 19, 20, 21 internal compiler error "Should never
|
|
2
|
+
! reach this code (doehmke)" (v_mt_util_misc.c; line 2697 in 19.0.0, 2711
|
|
3
|
+
! in 20.0.2, 2719 in 21.0.3) on a target region with in_reduction(*: r),
|
|
4
|
+
! inside taskgroup task_reduction(*: r), that reads a substring of a
|
|
5
|
+
! character dummy (ichar(xs(1:1))). With a constant instead of the
|
|
6
|
+
! substring all three compile (data/evidence/dataenv_probe/ice/e2.f90).
|
|
7
|
+
!
|
|
8
|
+
! Legal OpenMP 5.2: in_reduction on target (5.2 §5.5.10), task_reduction on
|
|
9
|
+
! taskgroup (§5.5.9), a character dummy referenced in the region (mapped
|
|
10
|
+
! implicitly). (A gfortran -fopenmp accept is no evidence: owner, 2026-10-23.) Expected: ichar('k') =
|
|
11
|
+
! 107 and mod(107, 13) = 3, so every factor is 1 and r stays -1: "RESULT
|
|
12
|
+
! check=pass".
|
|
13
|
+
!
|
|
14
|
+
! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
|
|
15
|
+
! results/t28_probe/ice_inred_char_substring.f90.*.json):
|
|
16
|
+
! - CCE 19.0.0, 20.0.2, 21.0.3: the ICE above, both modes;
|
|
17
|
+
! - AFAR amdflang 24.0.0git: "RESULT check=pass" in both modes;
|
|
18
|
+
! - Tioga MI250X (gfx90a, HSA_XNACK=0): CCE 21 the same ICE
|
|
19
|
+
! (results/t28_probe/g90/ice_inred_char_substring.cce21_g90.json).
|
|
20
|
+
! Fuzz campaign s1: the "Should never reach this code (doehmke)" cells of
|
|
21
|
+
! CCE 19/20/21. Representative s1 seed 2592 on cce21; the confirmer's
|
|
22
|
+
! reduction (results/confirm/drafts/fuzz_s1_2592_cce21_gfx942_unified,
|
|
23
|
+
! 189 -> 98 lines, ICE kept) reduced further by hand.
|
|
24
|
+
!
|
|
25
|
+
! ftn -fopenmp -O2
|
|
26
|
+
program p
|
|
27
|
+
implicit none
|
|
28
|
+
integer, parameter :: n = 16
|
|
29
|
+
character(len=8) :: xs
|
|
30
|
+
integer :: r
|
|
31
|
+
xs = 'kPACnWLl'
|
|
32
|
+
r = -1
|
|
33
|
+
call kp1(xs)
|
|
34
|
+
if (r == -1) then
|
|
35
|
+
print '(a)', 'RESULT check=pass'
|
|
36
|
+
else
|
|
37
|
+
print '(a,i0)', 'RESULT check=fail r=', r
|
|
38
|
+
end if
|
|
39
|
+
contains
|
|
40
|
+
subroutine kp1(xs)
|
|
41
|
+
character(len=*), intent(in) :: xs
|
|
42
|
+
integer :: i
|
|
43
|
+
!$omp taskgroup task_reduction(*: r)
|
|
44
|
+
!$omp target defaultmap(tofrom: scalar) in_reduction(*: r)
|
|
45
|
+
do i = 1, n
|
|
46
|
+
r = r * merge(-1, 1, mod(ichar(xs(1:1)), 13) == 0)
|
|
47
|
+
end do
|
|
48
|
+
!$omp end target
|
|
49
|
+
!$omp end taskgroup
|
|
50
|
+
end subroutine kp1
|
|
51
|
+
end program p
|
|
52
|
+
! site:
|
|
53
|
+
! title: ftn: internal compiler error "Should never reach this code (doehmke)" for in_reduction on target reading a character
|
|
54
|
+
! + substring
|
|
55
|
+
! control: ../vendor/checks/src/other/control/s1-2592-cce21-control.f90 ichar('k') instead of ichar(xs(1:1))
|
|
56
|
+
! end site
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
! Finding: CCE 19, 20, 21 internal compiler error "Error getting
|
|
2
|
+
! dope vector information" (v_dope_utl.c; line 931 in 19.0.0, 933 in
|
|
3
|
+
! 20.0.2, 935 in 21.0.3) on a target construct in an internal subroutine
|
|
4
|
+
! that maps components of a structure dummy (dr%a, dr%nd%k(1:n)) together
|
|
5
|
+
! with host-associated variables (an allocatable array, scalars), in a
|
|
6
|
+
! program with a default declare mapper for another type.
|
|
7
|
+
!
|
|
8
|
+
! Legal OpenMP 5.2 (structure components and array sections of them are
|
|
9
|
+
! map list items, 5.2 §5.8.3; host-associated variables in a map clause).
|
|
10
|
+
! Legality: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the race rule
|
|
11
|
+
! and the restriction checks, and the AFAR flang front end, not under test here); no compiler under
|
|
12
|
+
! test, gfortran or gcc is a legality witness. AFAR compiles and runs the
|
|
13
|
+
! unreduced program.
|
|
14
|
+
!
|
|
15
|
+
! : hand reductions that drop the unused module, types
|
|
16
|
+
! and dummies no longer show the ICE (it needs parts that look unused); the
|
|
17
|
+
! vendor packet uses this generated program.
|
|
18
|
+
!
|
|
19
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev2.log):
|
|
20
|
+
! the confirmer's reduction of s1 seed 3463 (results/confirm/drafts/
|
|
21
|
+
! fuzz_s1_3463_cce21_gfx942_unified, 252 -> 161 lines, ICE site kept)
|
|
22
|
+
! gives the ICE on CCE 19, 20 and 21; this file is that program reduced
|
|
23
|
+
! further on CCE 21 by deleting lines while the ICE stays
|
|
24
|
+
! (data/evidence/dataenv_probe/min_ice.py; 161 -> 106 lines). A hand-written form with
|
|
25
|
+
! only the structure dummy's component maps compiles
|
|
26
|
+
! (data/evidence/dataenv_probe/ice/d1.f90), so the trigger is not reduced further.
|
|
27
|
+
! Fuzz campaign s1: the "Error getting dope vector information" cells of
|
|
28
|
+
! CCE 19/20/21.
|
|
29
|
+
!
|
|
30
|
+
! Fix: reduced further by clause and list-item
|
|
31
|
+
! deletion as well as lines (data/evidence/dataenv_probe/min_ice.py, 106 -> 49 lines,
|
|
32
|
+
! results/t28_probe/short/); the ICE stays on CCE 19, 20 and 21 at their
|
|
33
|
+
! v_dope_utl.c sites and AFAR compiles it (results/t28_probe/icev_fr1.log).
|
|
34
|
+
! The remaining program: an internal subroutine with a target construct
|
|
35
|
+
! mapping dr%nd%k(1:n) of a structure dummy, next to an unused internal
|
|
36
|
+
! subroutine with a character(len=*) dummy, an optional assumed-shape
|
|
37
|
+
! dummy and complex dummies, and a module declare reduction; removing any
|
|
38
|
+
! of these makes the ICE go away.
|
|
39
|
+
!
|
|
40
|
+
! ftn -fopenmp -O2 (a bundle:
|
|
41
|
+
!@file fuzz_dmod.f90
|
|
42
|
+
module fuzz_dmod
|
|
43
|
+
implicit none
|
|
44
|
+
type :: mt_t
|
|
45
|
+
end type mt_t
|
|
46
|
+
type :: pair_t
|
|
47
|
+
integer :: x, y
|
|
48
|
+
end type pair_t
|
|
49
|
+
!$omp declare reduction(padd: pair_t: omp_out = pair_t(omp_out%x + omp_in%x, omp_out%y + omp_in%y)) &
|
|
50
|
+
!$omp& initializer(omp_priv = pair_t(0, 0))
|
|
51
|
+
contains
|
|
52
|
+
end module fuzz_dmod
|
|
53
|
+
!@file fuzz_prog.f90
|
|
54
|
+
program fuzz_prog
|
|
55
|
+
use omp_lib, only: omp_get_team_num, omp_get_thread_num, omp_is_initial_device
|
|
56
|
+
use fuzz_dmod
|
|
57
|
+
implicit none
|
|
58
|
+
integer, parameter :: n = 48, m = 8
|
|
59
|
+
type :: nd_t
|
|
60
|
+
integer :: k(n)
|
|
61
|
+
end type nd_t
|
|
62
|
+
type :: rec_t
|
|
63
|
+
type(nd_t) :: nd
|
|
64
|
+
end type rec_t
|
|
65
|
+
contains
|
|
66
|
+
subroutine kp2(ia, ib, ic, xs, xz4, xz8, dr, ms, zopt)
|
|
67
|
+
integer, intent(inout) :: ia(:)
|
|
68
|
+
integer, intent(in) :: ib(:)
|
|
69
|
+
integer, intent(in) :: ic(n, m)
|
|
70
|
+
character(len=*), intent(in) :: xs
|
|
71
|
+
complex, intent(in) :: xz4(n)
|
|
72
|
+
complex(kind=8), intent(in) :: xz8(n)
|
|
73
|
+
type(rec_t), intent(inout) :: dr
|
|
74
|
+
type(mt_t), intent(inout) :: ms
|
|
75
|
+
integer, intent(in), optional :: zopt(:)
|
|
76
|
+
end subroutine kp2
|
|
77
|
+
subroutine kp3(ia, ib, o3, xc, dr)
|
|
78
|
+
integer, intent(inout) :: ia(n)
|
|
79
|
+
integer, intent(in) :: ib(n)
|
|
80
|
+
integer, intent(inout) :: o3(n)
|
|
81
|
+
character(len=4), intent(inout) :: xc(n)
|
|
82
|
+
type(rec_t), intent(inout) :: dr
|
|
83
|
+
!$omp target map(dr%nd%k(1:n))
|
|
84
|
+
if (omp_get_team_num() == 0) then
|
|
85
|
+
end if
|
|
86
|
+
!$omp end target
|
|
87
|
+
end subroutine kp3
|
|
88
|
+
end program fuzz_prog
|
|
89
|
+
! site:
|
|
90
|
+
! title: ftn: internal compiler error "Error getting dope vector information" mapping a component section of a structure dummy
|
|
91
|
+
! control: ../vendor/checks/src/other/control/s1-3463-cce21-control.f90 the map clause dropped from the target construct
|
|
92
|
+
! end site
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
! Finding: AFAR at HSA_XNACK=1 aborts (SIGABRT; in
|
|
2
|
+
! the campaign "OFFLOAD ERROR: memory access fault by GPU ... Write access
|
|
3
|
+
! to a read-only page") on a target construct with map(close, tofrom: ia)
|
|
4
|
+
! for an allocatable dummy ia that the region does not even reference,
|
|
5
|
+
! while the region reads another assumed-shape dummy (dsi, implicitly
|
|
6
|
+
! mapped tofrom). AFAR at HSA_XNACK=0 and CCE 19/20/21 in both modes print
|
|
7
|
+
! "RESULT check=pass".
|
|
8
|
+
!
|
|
9
|
+
! Legal OpenMP 5.2: close is a map-type modifier that is a hint ("The close
|
|
10
|
+
! map-type-modifier is a hint to the runtime to allocate memory close to
|
|
11
|
+
! the target device", 5.2 §5.8.3 p.155 l.12); an
|
|
12
|
+
! assumed-shape dummy referenced in the region is mapped tofrom implicitly
|
|
13
|
+
! (5.2 §5.8.1).
|
|
14
|
+
!
|
|
15
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/close/
|
|
16
|
+
! c4339_*.f90.*.json): this program (c4339_c) aborts on AFAR at
|
|
17
|
+
! HSA_XNACK=1 on every run and passes at HSA_XNACK=0; without close
|
|
18
|
+
! (c4339_b) it passes; with an explicit-shape ia (c4339_d) it passes; with
|
|
19
|
+
! the region reading ia instead of the other dummy (c4339_e) it passes; the
|
|
20
|
+
! derived-type dummy of the reduction (c4339_a) aborts the same way. The
|
|
21
|
+
! close + present abort of fuzz/158-afar.f90 is another symptom of AFAR's
|
|
22
|
+
! close handling at HSA_XNACK=1 (no present modifier here).
|
|
23
|
+
! From s1 seed 4339 (the smallest program of the s1 group "AFAR memory
|
|
24
|
+
! access fault", 59 compiler_bug cells): tools/campaigns/fuzz.py minimize-one,
|
|
25
|
+
! 141 -> 91 lines (data/evidence/dataenv_probe/rt/4339-afar.f90), then by hand.
|
|
26
|
+
! Expected: "RESULT check=pass".
|
|
27
|
+
!
|
|
28
|
+
! amdflang -fopenmp --offload-arch=gfx942 -O2 (afar recipe, offload/engine/toolchains.py)
|
|
29
|
+
module mm
|
|
30
|
+
implicit none
|
|
31
|
+
integer, parameter :: n = 128
|
|
32
|
+
type :: el_t
|
|
33
|
+
integer :: u
|
|
34
|
+
end type el_t
|
|
35
|
+
contains
|
|
36
|
+
subroutine kp1(ia, o1, dsi)
|
|
37
|
+
integer, allocatable, intent(inout) :: ia(:)
|
|
38
|
+
integer, intent(inout) :: o1(:)
|
|
39
|
+
integer, intent(in) :: dsi(:)
|
|
40
|
+
integer :: i
|
|
41
|
+
!$omp target map(close, tofrom: ia) map(tofrom: o1)
|
|
42
|
+
do i = 1, n
|
|
43
|
+
o1(i) = dsi(i)
|
|
44
|
+
end do
|
|
45
|
+
!$omp end target
|
|
46
|
+
end subroutine kp1
|
|
47
|
+
end module mm
|
|
48
|
+
program p
|
|
49
|
+
use mm
|
|
50
|
+
implicit none
|
|
51
|
+
type(el_t) :: ds(n)
|
|
52
|
+
integer :: dsi(n)
|
|
53
|
+
integer, allocatable :: ia(:)
|
|
54
|
+
integer, pointer :: o1(:)
|
|
55
|
+
integer :: i
|
|
56
|
+
logical :: ok
|
|
57
|
+
allocate(ia(n))
|
|
58
|
+
ia = 1
|
|
59
|
+
allocate(o1(n))
|
|
60
|
+
do i = 1, n
|
|
61
|
+
dsi(i) = mod(i * 26 + 31, 97) - 21
|
|
62
|
+
end do
|
|
63
|
+
o1 = 0
|
|
64
|
+
call kp1(ia, o1, dsi)
|
|
65
|
+
ok = .true.
|
|
66
|
+
do i = 1, n
|
|
67
|
+
ok = ok .and. o1(i) == mod(i * 26 + 31, 97) - 21
|
|
68
|
+
end do
|
|
69
|
+
if (ok) then
|
|
70
|
+
print '(a)', 'RESULT check=pass'
|
|
71
|
+
else
|
|
72
|
+
print '(a)', 'RESULT check=fail'
|
|
73
|
+
end if
|
|
74
|
+
end program p
|
|
75
|
+
! site:
|
|
76
|
+
! title: AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)
|
|
77
|
+
! control: ../vendor/checks/src/other/control/s1-4339-afar-control.f90 map(tofrom: ia) without the close modifier
|
|
78
|
+
! same_as: fuzz/s1-9443-afar
|
|
79
|
+
! end site
|