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,35 @@
|
|
|
1
|
+
! OpenACC 3.4 §2.15.1 (routine bind): host_val is called on the device under
|
|
2
|
+
! the name dev_val. Legal. Expected output: 3 5 7 9 11 13 15 17
|
|
3
|
+
! (dev_val(x) = 2*x + 1). Compile: ftn -h acc -O2.
|
|
4
|
+
module m
|
|
5
|
+
implicit none
|
|
6
|
+
contains
|
|
7
|
+
integer function dev_val(x)
|
|
8
|
+
!$acc routine seq
|
|
9
|
+
integer, intent(in) :: x
|
|
10
|
+
dev_val = 2*x + 1
|
|
11
|
+
end function dev_val
|
|
12
|
+
integer function host_val(x)
|
|
13
|
+
!$acc routine seq bind(dev_val)
|
|
14
|
+
integer, intent(in) :: x
|
|
15
|
+
host_val = -x
|
|
16
|
+
end function host_val
|
|
17
|
+
end module m
|
|
18
|
+
|
|
19
|
+
program t
|
|
20
|
+
use m
|
|
21
|
+
implicit none
|
|
22
|
+
integer :: b(8), i
|
|
23
|
+
!$acc parallel loop copyout(b)
|
|
24
|
+
do i = 1, 8
|
|
25
|
+
b(i) = host_val(i)
|
|
26
|
+
end do
|
|
27
|
+
print *, b
|
|
28
|
+
end program t
|
|
29
|
+
! site:
|
|
30
|
+
! title: ftn -h acc: internal compiler error "Object DEV_VAL is host associated to itself" for routine bind between two module
|
|
31
|
+
! + procedures
|
|
32
|
+
! control: ../vendor/checks/src/cce/control/cce-acc-routine-bind-module-ice-control.f90 the two functions as external procedures
|
|
33
|
+
! + instead of
|
|
34
|
+
! + module procedures
|
|
35
|
+
! end site
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
! OpenACC 3.4 §2.5.7 (self clause): "When the condition evaluates to true,
|
|
2
|
+
! the region will execute on the local device." Legal. Expected output:
|
|
3
|
+
! on_host = T. Compile: ftn -h acc -O2.
|
|
4
|
+
program t
|
|
5
|
+
use openacc
|
|
6
|
+
implicit none
|
|
7
|
+
logical :: on_host, use_host
|
|
8
|
+
use_host = .true.
|
|
9
|
+
on_host = .false.
|
|
10
|
+
!$acc serial self(use_host) copy(on_host)
|
|
11
|
+
on_host = acc_on_device(acc_device_host)
|
|
12
|
+
!$acc end serial
|
|
13
|
+
print *, 'on_host =', on_host
|
|
14
|
+
end program t
|
|
15
|
+
! site:
|
|
16
|
+
! disposition: out-of-scope out of scope (maintainer ruling 2026-10-21): the construct of interest runs on the host
|
|
17
|
+
! end site
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* Finding (C): dist_schedule(static) without a chunk size on a
|
|
2
|
+
combined target teams distribute parallel for crashes on CCE.
|
|
3
|
+
|
|
4
|
+
Legal OpenMP 5.2 C (5.2 §11.6.1: dist_schedule(static) divides the
|
|
5
|
+
iterations into chunks of about equal size, one per team).
|
|
6
|
+
|
|
7
|
+
Expected: "64 of 64".
|
|
8
|
+
Observed at HSA_XNACK=1, -O2: CCE craycc 19.0.0, 20.0.2 and 21.0.3:
|
|
9
|
+
the program dies with SIGSEGV (also without OMP_TARGET_OFFLOAD=
|
|
10
|
+
mandatory; CCE 19 also at -O0). At HSA_XNACK=0 (copy mode) CCE 19
|
|
11
|
+
prints "64 of 64". Without the dist_schedule clause, or with
|
|
12
|
+
dist_schedule(static, 16), it prints "64 of 64" at HSA_XNACK=1. AFAR amdclang:
|
|
13
|
+
"64 of 64". CCE ftn runs the Fortran form (omp52-clause-dist_schedule)
|
|
14
|
+
correctly.
|
|
15
|
+
|
|
16
|
+
craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
17
|
+
-Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
|
|
18
|
+
-fopenmp-version=52 -O2 */
|
|
19
|
+
#include <stdio.h>
|
|
20
|
+
int main(void) {
|
|
21
|
+
int b[64];
|
|
22
|
+
for (int i = 0; i < 64; i++) b[i] = 0;
|
|
23
|
+
#pragma omp target teams distribute parallel for map(from: b) \
|
|
24
|
+
num_teams(4) dist_schedule(static)
|
|
25
|
+
for (int i = 0; i < 64; i++) b[i] = i + 1;
|
|
26
|
+
int n = 0;
|
|
27
|
+
for (int i = 0; i < 64; i++) n += b[i] == i + 1;
|
|
28
|
+
printf("%d of 64\n", n);
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
// site:
|
|
32
|
+
// title: craycc: dist_schedule(static) on target teams distribute parallel for crashes (SIGSEGV) at HSA_XNACK=1
|
|
33
|
+
// control: ../vendor/checks/src/cce/control/cce-c-dist-schedule-segv-control.c dist_schedule(static) removed
|
|
34
|
+
// end site
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// (copy mode for the whole catalog): CCE craycc keeps an array
|
|
2
|
+
// present after map(delete: a) on target exit data when its reference
|
|
3
|
+
// count is two.
|
|
4
|
+
// a is entered twice (reference count 2), b once; target exit data
|
|
5
|
+
// map(from: b) map(delete: a) sets a's reference count to zero and
|
|
6
|
+
// removes it, and decrements b's to zero (5.2 §5.8.3 p.154: "If the
|
|
7
|
+
// map-type is delete and the reference count of the corresponding
|
|
8
|
+
// storage block is finite then the reference count is set to zero";
|
|
9
|
+
// "If the reference count ... is zero, all storage ... is removed").
|
|
10
|
+
// Expected: bad= 0 a_present= 0 b_present= 0
|
|
11
|
+
// Observed (tuolumne, MI300A, 2026-10-22, 3 runs each, -O2,
|
|
12
|
+
// OMP_TARGET_OFFLOAD=mandatory):
|
|
13
|
+
// - CCE craycc 19.0.0, 20.0.2, 21.0.3: bad= 0 a_present= 1 b_present= 0,
|
|
14
|
+
// at HSA_XNACK 0 and 1 (delete acts like release).
|
|
15
|
+
// - AFAR amdclang 24.0.0git: expected output in both modes.
|
|
16
|
+
// The Fortran form passes on CCE (the catalog's Fortran map.delete
|
|
17
|
+
// programs). The catalog's C map.delete programs (5.2, 6.0) check the
|
|
18
|
+
// presence only in copy mode (copy_mode_only evidence: under unified
|
|
19
|
+
// memory the presence checks are skipped), so CCE reads correct at
|
|
20
|
+
// HSA_XNACK=1 and wrong at HSA_XNACK=0; with its presence checks run at
|
|
21
|
+
// HSA_XNACK=1 (tools/campaigns/presence_x1.py) it fails there too. Not a copy-mode
|
|
22
|
+
// failure: the class is x1_oracle_blind.
|
|
23
|
+
// CCE: craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
24
|
+
// -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -fopenmp-version=52 -O2
|
|
25
|
+
// (module load cce/<v> craype-accel-amd-gfx942 rocm)
|
|
26
|
+
// Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
|
|
27
|
+
#include <stdio.h>
|
|
28
|
+
#include <omp.h>
|
|
29
|
+
enum { n = 64 };
|
|
30
|
+
int main(void) {
|
|
31
|
+
int a[n], b[n], d = omp_get_default_device();
|
|
32
|
+
for (int i = 0; i < n; i++) { a[i] = i; b[i] = 0; }
|
|
33
|
+
#pragma omp target enter data map(to: a) map(alloc: b)
|
|
34
|
+
#pragma omp target enter data map(to: a)
|
|
35
|
+
#pragma omp target map(alloc: a, b)
|
|
36
|
+
for (int i = 0; i < n; i++) b[i] = 2 * a[i] + 1;
|
|
37
|
+
#pragma omp target exit data map(from: b) map(delete: a)
|
|
38
|
+
int bad = 0;
|
|
39
|
+
for (int i = 0; i < n; i++) bad += b[i] != 2 * i + 1;
|
|
40
|
+
printf("bad= %d a_present= %d b_present= %d\n", bad,
|
|
41
|
+
omp_target_is_present(a, d), omp_target_is_present(b, d));
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
// site:
|
|
45
|
+
// title: craycc: map(delete:) on target exit data acts as release for an array entered twice (still present)
|
|
46
|
+
// control: ../vendor/checks/src/cce/control/cce-c-map-delete-refcount-control.c a entered once (reference count 1) instead of twice
|
|
47
|
+
// end site
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* Finding (C): every map with the present modifier (and with the
|
|
2
|
+
close modifier) aborts in CCE's offload runtime.
|
|
3
|
+
|
|
4
|
+
Legal OpenMP 5.2 C. a is mapped by the enclosing target data, so
|
|
5
|
+
map(present, to: a) finds it present (5.2 §5.8.3: the present modifier
|
|
6
|
+
requires the item to be present, which it is) and the program prints
|
|
7
|
+
ok=1.
|
|
8
|
+
|
|
9
|
+
Observed (HSA_XNACK 0 and 1): CCE craycc 19.0.0, 20.0.2, 21.0.3 abort:
|
|
10
|
+
libcrayacc/acc_clang_wrapper.c:761: void
|
|
11
|
+
TransferList::validate_clang_flags(int64_t): Assertion
|
|
12
|
+
`clang_flags == 0' failed.
|
|
13
|
+
(line 1009 in CCE 20 and 21). The same assertion ends the program
|
|
14
|
+
with map(close, to: a) in place of map(present, to: a) (CCE 19, and
|
|
15
|
+
omp52/60-c-clause-map-close on CCE 19, 20, 21 in the matrix). The C
|
|
16
|
+
negative probe omp52-c-clause-map-present therefore ends in this
|
|
17
|
+
assertion instead of
|
|
18
|
+
the present-table message CCE prints for Fortran (CRAY_ACC_ERROR -
|
|
19
|
+
Variable not found in present table); AFAR amdclang prints ok=1 here and
|
|
20
|
+
libomptarget's present message for the probe (HSA_XNACK=0).
|
|
21
|
+
|
|
22
|
+
craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
23
|
+
-Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
|
|
24
|
+
-fopenmp-version=52 -O2 */
|
|
25
|
+
#include <stdio.h>
|
|
26
|
+
#include <omp.h>
|
|
27
|
+
int main(void) {
|
|
28
|
+
int a[64], b[64];
|
|
29
|
+
for (int i = 0; i < 64; i++) { a[i] = i; b[i] = 0; }
|
|
30
|
+
#pragma omp target data map(to: a)
|
|
31
|
+
{
|
|
32
|
+
#pragma omp target map(present, to: a) map(from: b)
|
|
33
|
+
{
|
|
34
|
+
for (int i = 0; i < 64; i++) b[i] = 2 * a[i];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
int ok = 1;
|
|
38
|
+
for (int i = 0; i < 64; i++) ok = ok && b[i] == 2 * i;
|
|
39
|
+
printf("ok=%d\n", ok);
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
// site:
|
|
43
|
+
// title: craycc: every map with the present (or close) modifier aborts in the runtime: Assertion `clang_flags == 0' failed
|
|
44
|
+
// control: ../vendor/checks/src/cce/control/cce-c-map-present-assert-control.c map(to: a) instead of map(present, to: a)
|
|
45
|
+
// end site
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* Finding (C): with -fopenmp-version=45 CCE cannot link
|
|
2
|
+
omp_is_initial_device called in a target region.
|
|
3
|
+
|
|
4
|
+
Legal OpenMP 4.5 C (4.5 §3.2.34: omp_is_initial_device; runtime
|
|
5
|
+
library routines may be called in target regions).
|
|
6
|
+
|
|
7
|
+
Expected: "on_host=0".
|
|
8
|
+
Observed: CCE craycc 19.0.0, 20.0.2 and 21.0.3 with
|
|
9
|
+
-fopenmp-version=45 fail to link:
|
|
10
|
+
lld: error: undefined symbol: omp_is_initial_device
|
|
11
|
+
>>> referenced by ...-cce-openmp__llc.amdgpu:
|
|
12
|
+
(omp_is_initial_device_cce$omp_redun_clone)
|
|
13
|
+
With no version flag (default 5.1; CCE 19 also at 50 and 52) it
|
|
14
|
+
links and prints "on_host=0". The first omp_vv C baseline (each test
|
|
15
|
+
at the version of its spec directory) lost 115 of 315 tests on CCE to
|
|
16
|
+
this; the baseline now compiles 4.5-5.1 tests with the default.
|
|
17
|
+
|
|
18
|
+
craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
19
|
+
-Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
|
|
20
|
+
-fopenmp-version=45 -O2 */
|
|
21
|
+
#include <stdio.h>
|
|
22
|
+
#include <omp.h>
|
|
23
|
+
int main(void) {
|
|
24
|
+
int on_host = 1;
|
|
25
|
+
#pragma omp target map(tofrom: on_host)
|
|
26
|
+
on_host = omp_is_initial_device();
|
|
27
|
+
printf("on_host=%d\n", on_host);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
// site:
|
|
31
|
+
// title: craycc -fopenmp-version=45: omp_is_initial_device called in a target region is an undefined symbol at the device link
|
|
32
|
+
// control: ../vendor/checks/src/cce/control/cce-c-openmp45-device-link-control.c built without -fopenmp-version=45 (the default,
|
|
33
|
+
// + 5.1)
|
|
34
|
+
// end site
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* Finding (C): a parallel for nested in a target region loses
|
|
2
|
+
iterations with schedule(static) and drops the final values of
|
|
3
|
+
lastprivate and linear list items on CCE.
|
|
4
|
+
|
|
5
|
+
Legal OpenMP 5.2 C. Inside the target region each parallel for must
|
|
6
|
+
run all 64 iterations (5.2 §11.5: every iteration is executed once,
|
|
7
|
+
whatever the schedule); lastprivate(t) gives t the value of the
|
|
8
|
+
sequentially last iteration (5.2 §5.4.5) and linear(x: 1) gives x its
|
|
9
|
+
value after the last iteration (5.2 §5.4.6), and the map(tofrom:)
|
|
10
|
+
returns both to the host.
|
|
11
|
+
|
|
12
|
+
Expected: "static 64 of 64; lastprivate t=63; linear 64 of 64, x=64".
|
|
13
|
+
Observed (-O2, HSA_XNACK=1; CCE 19 also at HSA_XNACK=0 and at -O0):
|
|
14
|
+
CCE craycc 19.0.0, 20.0.2 and 21.0.3 print "static 1 of 64; lastprivate t=-1; linear 64 of 64,
|
|
15
|
+
x=0" (the region has one thread; without schedule(static) all 64
|
|
16
|
+
iterations run, with schedule(static, 4) too). AFAR amdclang prints
|
|
17
|
+
the expected line, and CCE ftn runs the Fortran forms correctly
|
|
18
|
+
(omp52-clause-schedule-static, -lastprivate, -linear, -collapse).
|
|
19
|
+
In the matrix this makes the C collapse, lastprivate, linear and
|
|
20
|
+
schedule programs wrong_answer on CCE.
|
|
21
|
+
|
|
22
|
+
Probe (data/evidence/triage_probe/pfor_*.c, results/t27b/probes.jsonl,
|
|
23
|
+
tuolumne, both memory modes, 3 runs each): schedule(dynamic) loses
|
|
24
|
+
iterations too on CCE 19, 20 and 21 (b computed wrong, bad > 0), with or
|
|
25
|
+
without default(none) shared(a, b); the same parallel for without a
|
|
26
|
+
schedule clause (with or without default(none)) is correct; AFAR is
|
|
27
|
+
correct in every form. So schedule(static) without a chunk size,
|
|
28
|
+
schedule(dynamic) and the catalog's auto, guided, runtime, monotonic and
|
|
29
|
+
simd forms trigger it, as does lastprivate; schedule(static, 4) (above)
|
|
30
|
+
does not, so not every schedule clause does.
|
|
31
|
+
|
|
32
|
+
: three defects in one program (schedule(static)
|
|
33
|
+
loses iterations; lastprivate and linear lose the final value); the
|
|
34
|
+
control above covers only the first. The HPE packet splits them (cases
|
|
35
|
+
cce-c-parallel-for-in-target-static, -lastprivate, -linear, each with its
|
|
36
|
+
own control); a linear item's final value is lost with num_threads(1) too:
|
|
37
|
+
the linear case's former control (num_threads(1) added, now dropped from
|
|
38
|
+
the case) prints x=0 on CCE 19, 20, 21.0.3 and 21.0.4 in both modes
|
|
39
|
+
(data/vendor/checks/results-compact), so it does not isolate the defect
|
|
40
|
+
and is not listed as a control below.
|
|
41
|
+
|
|
42
|
+
craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
|
|
43
|
+
-Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
|
|
44
|
+
-fopenmp-version=52 -O2 */
|
|
45
|
+
#include <stdio.h>
|
|
46
|
+
int main(void) {
|
|
47
|
+
int b[64], c[64], d[64], t = -1, x = 0;
|
|
48
|
+
for (int i = 0; i < 64; i++) { b[i] = 0; c[i] = 0; d[i] = -1; }
|
|
49
|
+
#pragma omp target map(from: b, c, d) map(tofrom: t, x)
|
|
50
|
+
{
|
|
51
|
+
#pragma omp parallel for schedule(static)
|
|
52
|
+
for (int i = 0; i < 64; i++) b[i] = i + 1;
|
|
53
|
+
#pragma omp parallel for lastprivate(t)
|
|
54
|
+
for (int i = 0; i < 64; i++) { c[i] = i + 1; t = i; }
|
|
55
|
+
#pragma omp parallel for linear(x: 1)
|
|
56
|
+
for (int i = 0; i < 64; i++) { d[i] = x; x++; }
|
|
57
|
+
}
|
|
58
|
+
int nb = 0, nd = 0;
|
|
59
|
+
for (int i = 0; i < 64; i++) { nb += b[i] == i + 1; nd += d[i] == i; }
|
|
60
|
+
printf("static %d of 64; lastprivate t=%d; linear %d of 64, x=%d\n",
|
|
61
|
+
nb, t, nd, x);
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
// site:
|
|
65
|
+
// title: craycc: parallel for schedule(static) in a target region runs 1 of 64 iterations
|
|
66
|
+
// control: ../vendor/checks/src/cce/control/cce-c-parallel-for-in-target-control.c schedule(static) removed from the first
|
|
67
|
+
// + parallel for
|
|
68
|
+
// + (the
|
|
69
|
+
// + first part of the output only)
|
|
70
|
+
// control: ../vendor/checks/src/cce/control/cce-c-parallel-for-in-target-static-control.c schedule(static) removed
|
|
71
|
+
// control: ../vendor/checks/src/cce/control/cce-c-parallel-for-in-target-lastprivate-control.c reduction(max: t) instead of
|
|
72
|
+
// + lastprivate(t)
|
|
73
|
+
// end site
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
! CCE 19 applies defaultmap(tofrom) to an array the
|
|
2
|
+
! same target construct maps EXPLICITLY with map(alloc:) or map(to:): on
|
|
3
|
+
! exit it copies the device values back to the host.
|
|
4
|
+
! Spec: on exit from the region the original list item is updated only "if
|
|
5
|
+
! the map-type is from or tofrom" (5.2 §5.8.3 p.154, exit step 1a); alloc
|
|
6
|
+
! and to have no from transfer. "The defaultmap clause determines the
|
|
7
|
+
! implicit data-mapping or data-sharing attribute of certain variables"
|
|
8
|
+
! (5.2 §5.8.7 p.161), and "explicit data-environment attribute clauses on
|
|
9
|
+
! target directives determine the attributes" of the variables they name
|
|
10
|
+
! (5.2 §5.8.1 p.148), so defaultmap(tofrom) does not change a's map type.
|
|
11
|
+
! Premise: the original and corresponding items do not share storage. The
|
|
12
|
+
! spec allows shared storage (5.2 §5.8.3 p.153, "may share storage"), so
|
|
13
|
+
! the evidence holds only where they are separate: run at HSA_XNACK=0 (on
|
|
14
|
+
! MI300A copy mode, on MI250X a discrete GPU), and the control regions 1
|
|
15
|
+
! and 3 (the same maps without defaultmap) must leave the host a unchanged
|
|
16
|
+
! (64 of 64): separate storage in the same configuration without
|
|
17
|
+
! defaultmap; for regions 2 and 4 separate storage is the premise.
|
|
18
|
+
! Expected: every region prints "host a unchanged: 64".
|
|
19
|
+
! Observed (2026-10-22, -O2, OMP_TARGET_OFFLOAD=mandatory, HSA_XNACK=0, two
|
|
20
|
+
! runs each, the same every run; tioga30 MI250X gfx90a and tuolumne1047
|
|
21
|
+
! MI300A gfx942):
|
|
22
|
+
! - CCE 19.0.0: regions 1 and 3: 64; regions 2 and 4
|
|
23
|
+
! (with defaultmap(tofrom)), ran_on_host=0: 0 -- the device's writes
|
|
24
|
+
! reached the host a.
|
|
25
|
+
! - CCE 20.0.2 and AFAR 24.0.0git: 64 in every region (correct).
|
|
26
|
+
! - CCE 21.0.3 and 21.0.4 : regions 2 and 4 print
|
|
27
|
+
! ran_on_host=1, but that is the map(tofrom) host_flag, which CCE 21 does
|
|
28
|
+
! not copy back in a region with defaultmap (cce21-defaultmap-aggregate-
|
|
29
|
+
! flag.f90): the label `ran_on_host=` names no independent measurement,
|
|
30
|
+
! and the regions run on the device. At HSA_XNACK=0 CCE 21.0.3 and 21.0.4
|
|
31
|
+
! copy a back in regions 2 and 4 (host a unchanged: 0): this defect, fixed
|
|
32
|
+
! in 20.0.2, is back in 21 (data/vendor/hpe/cce21-defaultmap-aggregate-
|
|
33
|
+
! flag.md, variants: confirmed in the four environments on both releases).
|
|
34
|
+
! Found by the gfx90a map-mutant audit (data/reports/map-mutant-audit-
|
|
35
|
+
! gfx90a.md): the weaken_map and swap_to_from mutants of the defaultmap-
|
|
36
|
+
! tofrom programs survive on CCE 19.
|
|
37
|
+
! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-<gfx>
|
|
38
|
+
! rocm/<r>; module unload cray-mpich)
|
|
39
|
+
! AFAR: amdflang -fopenmp --offload-arch=<gfx> -O2
|
|
40
|
+
! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
|
|
41
|
+
program p
|
|
42
|
+
use omp_lib, only: omp_is_initial_device
|
|
43
|
+
implicit none
|
|
44
|
+
integer, parameter :: n = 64
|
|
45
|
+
integer, allocatable :: a(:)
|
|
46
|
+
integer :: i, k, host_flag
|
|
47
|
+
do k = 1, 4
|
|
48
|
+
allocate(a(n))
|
|
49
|
+
a = [(i, i = 1, n)]
|
|
50
|
+
host_flag = 1
|
|
51
|
+
select case (k)
|
|
52
|
+
case (1)
|
|
53
|
+
!$omp target map(alloc: a) map(tofrom: host_flag)
|
|
54
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
55
|
+
do i = 1, n
|
|
56
|
+
a(i) = -i
|
|
57
|
+
end do
|
|
58
|
+
!$omp end target
|
|
59
|
+
case (2)
|
|
60
|
+
!$omp target map(alloc: a) map(tofrom: host_flag) defaultmap(tofrom)
|
|
61
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
62
|
+
do i = 1, n
|
|
63
|
+
a(i) = -i
|
|
64
|
+
end do
|
|
65
|
+
!$omp end target
|
|
66
|
+
case (3)
|
|
67
|
+
!$omp target map(to: a) map(tofrom: host_flag)
|
|
68
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
69
|
+
do i = 1, n
|
|
70
|
+
a(i) = -i
|
|
71
|
+
end do
|
|
72
|
+
!$omp end target
|
|
73
|
+
case (4)
|
|
74
|
+
!$omp target map(to: a) map(tofrom: host_flag) defaultmap(tofrom)
|
|
75
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
76
|
+
do i = 1, n
|
|
77
|
+
a(i) = -i
|
|
78
|
+
end do
|
|
79
|
+
!$omp end target
|
|
80
|
+
end select
|
|
81
|
+
print '(a,i0,a,i0,a,i0)', 'region ', k, ': ran_on_host=', host_flag, &
|
|
82
|
+
' host a unchanged: ', count(a == [(i, i = 1, n)])
|
|
83
|
+
deallocate(a)
|
|
84
|
+
end do
|
|
85
|
+
end program p
|
|
86
|
+
! site:
|
|
87
|
+
! title: ftn: with a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with
|
|
88
|
+
! + defaultmap(tofrom) an array in map(alloc) or map(to) is copied back
|
|
89
|
+
! control: ../vendor/checks/src/cce/control/cce-defaultmap-tofrom-explicit-map-control.f90 defaultmap(tofrom) removed from
|
|
90
|
+
! + regions 2 and 4
|
|
91
|
+
! same_as: cce21-defaultmap-aggregate-flag
|
|
92
|
+
! end site
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
! (copy mode for the whole catalog): CCE 19 and 20 lose the
|
|
2
|
+
! copy-back of the map list item that FOLLOWS a map clause with a mapper
|
|
3
|
+
! modifier, at HSA_XNACK=0 only (separate host and device memory).
|
|
4
|
+
! s is mapped through the user-defined mapper mm (map(to: q%v)); the
|
|
5
|
+
! final map type is to (5.2 §5.8.8 p.163, Table 5.3: mapper to, clause
|
|
6
|
+
! tofrom -> to), so s%v keeps its host value 1 in copy mode. host_flag is
|
|
7
|
+
! map(tofrom:) and is set to 0 on the device; it must come back (5.2 §5.8.3
|
|
8
|
+
! p.151: "the map-type is replaced with a final map type ... according to
|
|
9
|
+
! the rules of map-type decay" applies to the mapper's list item only).
|
|
10
|
+
! Expected (copy mode): host_flag= 0 b1= 3 sv= 1
|
|
11
|
+
! Observed (tuolumne, MI300A, 2026-10-22, 3 runs each, -O2,
|
|
12
|
+
! OMP_TARGET_OFFLOAD=mandatory):
|
|
13
|
+
! - CCE 19.0.0, 20.0.2 at HSA_XNACK=0: host_flag= 1 b1= 3 sv= 1 on every
|
|
14
|
+
! run: the region ran on the device (b came back, s%v was not copied
|
|
15
|
+
! back) but host_flag's copy-back is lost. With the host_flag clause
|
|
16
|
+
! BEFORE the mapper clause, host_flag= 0 (correct); without the mapper
|
|
17
|
+
! modifier correct. At HSA_XNACK=1 correct (host_flag= 0, sv= 7).
|
|
18
|
+
! - CCE 21.0.3 and AFAR 24.0.0git: correct in both modes.
|
|
19
|
+
! The catalog's map.mapper programs (5.0, 5.2) put host_flag after the
|
|
20
|
+
! mapper clause, so CCE 19/20 report them as "fell back to host"
|
|
21
|
+
! (ran_on_host=1) at HSA_XNACK=0.
|
|
22
|
+
! AFAR: amdflang -fopenmp --offload-arch=gfx942 -O2
|
|
23
|
+
! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm)
|
|
24
|
+
! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
|
|
25
|
+
program p
|
|
26
|
+
use omp_lib, only: omp_is_initial_device
|
|
27
|
+
implicit none
|
|
28
|
+
type :: dt
|
|
29
|
+
integer :: v
|
|
30
|
+
end type dt
|
|
31
|
+
!$omp declare mapper(mm: dt :: q) map(to: q%v)
|
|
32
|
+
integer :: host_flag, b(4)
|
|
33
|
+
type(dt) :: s
|
|
34
|
+
s%v = 1
|
|
35
|
+
host_flag = 1
|
|
36
|
+
b = 0
|
|
37
|
+
!$omp target map(from: b) map(mapper(mm), tofrom: s) map(tofrom: host_flag)
|
|
38
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
39
|
+
b = 2 + s%v
|
|
40
|
+
s%v = 7
|
|
41
|
+
!$omp end target
|
|
42
|
+
print *, 'host_flag=', host_flag, ' b1=', b(1), ' sv=', s%v
|
|
43
|
+
end program p
|
|
44
|
+
! site:
|
|
45
|
+
! title: ftn in copy mode: the map list item after a map clause with a mapper modifier is not copied back
|
|
46
|
+
! control: ../vendor/checks/src/cce/control/cce-mapper-next-map-copy-back-control.f90 the map(tofrom: host_flag) clause written
|
|
47
|
+
! + before the mapper clause
|
|
48
|
+
! end site
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
! scope: out of scope (host only: a Fortran output statement, no OpenMP; kept as a record)
|
|
2
|
+
! # Record (lead 3): CCE ftn prints one character of trim(merge('pass', 'fail', ok))
|
|
3
|
+
!
|
|
4
|
+
! - compiler: CCE ftn 19.0.0, 20.0.2, 21.0.3 and 21.0.4, with and without -fopenmp (-h noomp), -O0
|
|
5
|
+
! and -O2 (Tuolumne)
|
|
6
|
+
! - expected: every line ends in pass (A check=pass, B check=pass, C len= 4, D check=pass, E
|
|
7
|
+
! check=pass, F check=pass, G check=xpassy). merge('pass', 'fail', ok) is 'pass' when ok is
|
|
8
|
+
! true (both sources have length 4, as MERGE requires), and TRIM of it is 'pass' (the Fortran 2008
|
|
9
|
+
! standard's MERGE and TRIM).
|
|
10
|
+
! - actual: A check=p and B check=p (the trimmed merge as an output item, list-directed or with a
|
|
11
|
+
! format, prints its first character); C, D, E, F, G are right: LEN of the same expression is 4,
|
|
12
|
+
! TRIM of a variable holding it, the untrimmed merge, a constant mask and the expression inside
|
|
13
|
+
! a concatenation all print pass.
|
|
14
|
+
! - other family: AFAR amdflang prints pass on every line.
|
|
15
|
+
! - found by: the data-environment pilot, whose first RESULT lines used
|
|
16
|
+
! trim(merge('pass', 'fail', ok)) ("A false start is not counted").
|
|
17
|
+
! - legality: plain Fortran 2008 (no OpenMP); offload.engine.prerun.check's rules and AFAR flang front
|
|
18
|
+
! end accept it (data/evidence/lead_probe/logs/legality_new.jsonl); no compiler under test, gfortran or gcc
|
|
19
|
+
! is a legality witness.
|
|
20
|
+
! - scope: a host base-language defect: outside the device-offload scope (see data/reports/rulings.md),
|
|
21
|
+
! so it is recorded here, not counted as an offload finding.
|
|
22
|
+
! - evidence: data/evidence/lead_probe/leads/tm_host.f90, tm_target.f90 (the same in a program with a target
|
|
23
|
+
! region), data/evidence/lead_probe/logs/leads_tuolumne.jsonl and leads_tuolumne_noomp.txt
|
|
24
|
+
program tm
|
|
25
|
+
implicit none
|
|
26
|
+
logical :: ok
|
|
27
|
+
character(len=4) :: c
|
|
28
|
+
ok = .true.
|
|
29
|
+
print *, 'A check=', trim(merge('pass', 'fail', ok))
|
|
30
|
+
print '(a,a)', 'B check=', trim(merge('pass', 'fail', ok))
|
|
31
|
+
print *, 'C len=', len(trim(merge('pass', 'fail', ok)))
|
|
32
|
+
c = merge('pass', 'fail', ok)
|
|
33
|
+
print *, 'D check=', trim(c)
|
|
34
|
+
print *, 'E check=', merge('pass', 'fail', ok)
|
|
35
|
+
print *, 'F check=', trim(merge('pass', 'fail', .true.))
|
|
36
|
+
print *, 'G check=', 'x'//trim(merge('pass', 'fail', ok))//'y'
|
|
37
|
+
end program tm
|
|
38
|
+
! site:
|
|
39
|
+
! disposition: out-of-scope host only: a Fortran output statement with no offload construct
|
|
40
|
+
! end site
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
! OpenMP 5.0 §2.12.5 p.170: uses_allocators(allocator[(allocator-traits-array)]).
|
|
2
|
+
! The allocator handle is shared on a parallel do nested in the target
|
|
3
|
+
! region (a different construct, so 5.0 §2.12.5 p.175 does not forbid it).
|
|
4
|
+
! Expected: compiles and prints 2*i+1. The same program with the 5.2 form
|
|
5
|
+
! uses_allocators(traits(my_traits): my_alloc) compiles on CCE 19/20/21.
|
|
6
|
+
program p
|
|
7
|
+
use omp_lib
|
|
8
|
+
implicit none
|
|
9
|
+
integer, parameter :: n = 8
|
|
10
|
+
integer :: a(n), b(n), i, t
|
|
11
|
+
integer(omp_allocator_handle_kind) :: my_alloc
|
|
12
|
+
type(omp_alloctrait), parameter :: my_traits(1) = &
|
|
13
|
+
[omp_alloctrait(omp_atk_alignment, 64)]
|
|
14
|
+
a = [(i, i = 1, n)]
|
|
15
|
+
!$omp target map(to: a) map(from: b) uses_allocators(my_alloc(my_traits))
|
|
16
|
+
!$omp parallel do private(t) allocate(my_alloc: t) default(none) shared(a, b, my_alloc)
|
|
17
|
+
do i = 1, n
|
|
18
|
+
t = 2*a(i)
|
|
19
|
+
b(i) = t + 1
|
|
20
|
+
end do
|
|
21
|
+
!$omp end target
|
|
22
|
+
print *, b
|
|
23
|
+
end program p
|
|
24
|
+
! site:
|
|
25
|
+
! title: ftn: OpenMP 5.0 form uses_allocators(my_alloc(my_traits)) rejected as a function reference (ftn-451)
|
|
26
|
+
! control: ../vendor/checks/src/cce/control/cce-uses-allocators-traits-omp50-control.f90 the OpenMP 5.2 spelling
|
|
27
|
+
! + uses_allocators(traits(my_traits): my_alloc)
|
|
28
|
+
! end site
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
! OpenACC 3.4 §2.5.6 (if clause): with a false condition the local thread
|
|
2
|
+
! executes the region. Legal. Expected output: on_host = T.
|
|
3
|
+
! Compile: ftn -h acc -O2.
|
|
4
|
+
program t
|
|
5
|
+
use openacc
|
|
6
|
+
implicit none
|
|
7
|
+
logical :: on_host, use_dev
|
|
8
|
+
use_dev = .false.
|
|
9
|
+
on_host = .false.
|
|
10
|
+
!$acc serial if(use_dev) copy(on_host)
|
|
11
|
+
on_host = acc_on_device(acc_device_host)
|
|
12
|
+
!$acc end serial
|
|
13
|
+
print *, 'on_host =', on_host
|
|
14
|
+
end program t
|
|
15
|
+
! site:
|
|
16
|
+
! disposition: out-of-scope out of scope (maintainer ruling 2026-10-21): the region with if(.false.) runs on the host
|
|
17
|
+
! end site
|