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,96 @@
|
|
|
1
|
+
! Finding: CCE 20 and 21 internal compiler error: optcg killed by
|
|
2
|
+
! signal 6 (ftn-2116 "optcg was terminated due to receipt of signal 06:
|
|
3
|
+
! Aborted") on a program with a target teams loop that maps a pointer
|
|
4
|
+
! component (map(always, tofrom: dr%pc)) and reduces with a user-defined
|
|
5
|
+
! reduction (reduction(padd: rp2a), declare reduction padd for a derived
|
|
6
|
+
! type), next to a target teams region with map(tofrom: dr) and
|
|
7
|
+
! reduction(min: r1a). CCE 19 does not implement user-defined reductions
|
|
8
|
+
! in target regions (not_implemented, a support gap).
|
|
9
|
+
!
|
|
10
|
+
! Legal OpenMP 5.2 (declare reduction §5.5.11 and its use on teams/loop,
|
|
11
|
+
! §5.5.8; a pointer component in a map clause, §5.8.3). Legality: offload.engine.prerun.check accepts
|
|
12
|
+
! it (rerun: offload.engine.rules with the race rule and the restriction checks, and the AFAR
|
|
13
|
+
! flang front end, not under test here); no compiler under test, gfortran or gcc is a legality
|
|
14
|
+
! witness.
|
|
15
|
+
!
|
|
16
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev2.log):
|
|
17
|
+
! the confirmer's reduction of s1 seed 6085 (results/confirm/drafts/
|
|
18
|
+
! fuzz_s1_6085_cce21_gfx942_unified, 216 -> 179 lines, ICE kept) gives the
|
|
19
|
+
! optcg abort on CCE 20 and 21; this file is that program reduced further
|
|
20
|
+
! on CCE 21 by deleting lines while the abort stays
|
|
21
|
+
! (data/evidence/dataenv_probe/min_ice.py; 179 -> 130 lines). Hand-written forms of
|
|
22
|
+
! the two kernels alone do not reproduce it (data/evidence/dataenv_probe/ice/b1-b3.f90:
|
|
23
|
+
! CCE reports "Unsupported OpenMP construct Calls -- __GET_DYNAMIC_TYPE" or
|
|
24
|
+
! compiles). Fuzz campaign s1: the ftn-2116 signal 06 cells of CCE 19/20/21.
|
|
25
|
+
!
|
|
26
|
+
! Fix: reduced further by clause and list-item
|
|
27
|
+
! deletion as well as lines (data/evidence/dataenv_probe/min_ice.py, 130 -> 56 lines,
|
|
28
|
+
! results/t28_probe/short/): two empty target teams constructs, one with
|
|
29
|
+
! map(tofrom: dr) (a structure with an allocatable component) and
|
|
30
|
+
! reduction(min: r1a), one a target teams loop with the user reduction
|
|
31
|
+
! reduction(padd: rp2a), and a module procedure in a submodule; the optcg
|
|
32
|
+
! abort stays on CCE 20 and 21, CCE 19 reports user reductions not
|
|
33
|
+
! implemented, AFAR compiles it (results/t28_probe/icev_fr1.log).
|
|
34
|
+
!
|
|
35
|
+
! ftn -fopenmp -O2 (a bundle:
|
|
36
|
+
!@file fuzz_dmod.f90
|
|
37
|
+
module fuzz_dmod
|
|
38
|
+
implicit none
|
|
39
|
+
type :: mt_t
|
|
40
|
+
end type mt_t
|
|
41
|
+
type :: pair_t
|
|
42
|
+
integer :: x, y
|
|
43
|
+
end type pair_t
|
|
44
|
+
!$omp declare reduction(padd: pair_t: omp_out = pair_t(omp_out%x + omp_in%x, omp_out%y + omp_in%y)) &
|
|
45
|
+
!$omp& initializer(omp_priv = pair_t(0, 0))
|
|
46
|
+
end module fuzz_dmod
|
|
47
|
+
!@file fuzz_smod.f90
|
|
48
|
+
module fuzz_smod
|
|
49
|
+
implicit none
|
|
50
|
+
interface
|
|
51
|
+
module integer function gs1(x)
|
|
52
|
+
integer, intent(in) :: x
|
|
53
|
+
end function gs1
|
|
54
|
+
end interface
|
|
55
|
+
end module fuzz_smod
|
|
56
|
+
!@file fuzz_ssub.f90
|
|
57
|
+
submodule (fuzz_smod) fuzz_ssub
|
|
58
|
+
implicit none
|
|
59
|
+
contains
|
|
60
|
+
module integer function gs1(x)
|
|
61
|
+
integer, intent(in) :: x
|
|
62
|
+
end function gs1
|
|
63
|
+
end submodule fuzz_ssub
|
|
64
|
+
!@file fuzz_prog.f90
|
|
65
|
+
program fuzz_prog
|
|
66
|
+
use fuzz_dmod
|
|
67
|
+
implicit none
|
|
68
|
+
integer, parameter :: n = 100, m = 5
|
|
69
|
+
type :: rec_t
|
|
70
|
+
integer, allocatable :: o1(:)
|
|
71
|
+
end type rec_t
|
|
72
|
+
type(pair_t) :: rp2a
|
|
73
|
+
integer :: i, r1a
|
|
74
|
+
contains
|
|
75
|
+
subroutine kp1(xr4, dr)
|
|
76
|
+
real(4), allocatable, intent(in) :: xr4(:)
|
|
77
|
+
type(rec_t), intent(inout) :: dr
|
|
78
|
+
!$omp target teams map(tofrom: dr) reduction(min: r1a)
|
|
79
|
+
!$omp end target teams
|
|
80
|
+
end subroutine kp1
|
|
81
|
+
subroutine kp2(ic, xk1, xr4, dr, ms)
|
|
82
|
+
integer, intent(inout) :: ic(:, :)
|
|
83
|
+
integer(1), allocatable, intent(in) :: xk1(:)
|
|
84
|
+
real(4), intent(in) :: xr4(:)
|
|
85
|
+
type(rec_t), intent(inout) :: dr
|
|
86
|
+
type(mt_t), intent(inout) :: ms
|
|
87
|
+
!$omp target teams loop reduction(padd: rp2a)
|
|
88
|
+
do i = 1, n
|
|
89
|
+
end do
|
|
90
|
+
end subroutine kp2
|
|
91
|
+
end program fuzz_prog
|
|
92
|
+
! site:
|
|
93
|
+
! title: craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic
|
|
94
|
+
! control: ../vendor/checks/src/other/control/s1-6085-cce21-control.f90 reduction(min: r1a) removed from the first target teams
|
|
95
|
+
! same_as: catalog/cce-c-map-iterator-ice
|
|
96
|
+
! end site
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
! Finding: CCE 20 rejects the enter clause of declare
|
|
2
|
+
! target (ftn-1725 "Unexpected syntax while parsing the DIRECTIVE statement :
|
|
3
|
+
! "INDIRECT, LINK, TO or DEVICE_TYPE" was expected but found "E"").
|
|
4
|
+
!
|
|
5
|
+
! Legal OpenMP 5.2: enter is the 5.2 name of the declare target clause that
|
|
6
|
+
! 5.0/5.1 spell to ("The clause-name to may be used as a synonym for the
|
|
7
|
+
! clause-name enter. This use has been deprecated.", 5.2 §5.8.4 p.158; "The
|
|
8
|
+
! enter clause was added as a synonym for the to clause on the declare
|
|
9
|
+
! target directive", 5.2 Appendix B.2 p.627). CCE 20 claims it: the CCE
|
|
10
|
+
! 20.0.0 release notes list "[5.2] ... misc. new syntax allowed by
|
|
11
|
+
! specification (e.g. `declare target`, `ordered`, metadirective)", and
|
|
12
|
+
! the only new 5.2 syntax of declare target is enter (catalog/omp/
|
|
13
|
+
! claims.yaml; maintainer reading). A claimed form
|
|
14
|
+
! rejected: compiler_bug. CCE 19 makes no such claim (its identical
|
|
15
|
+
! rejection is unsupported, rule R11c); CCE 21 claims enter (Fortran) and
|
|
16
|
+
! accepts it.
|
|
17
|
+
!
|
|
18
|
+
! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
|
|
19
|
+
! results/t28_probe/dt_enter.f90.*.json): CCE 20.0.2 ftn-1725 at the enter
|
|
20
|
+
! keyword (dt_enter.f90 line 13, column 24); CCE 19.0.0 the same
|
|
21
|
+
! (unsupported, no claim); CCE 21.0.3 and AFAR amdflang 24.0.0git compile
|
|
22
|
+
! it and print "RESULT check=pass" in both modes. Tioga MI250X (gfx90a):
|
|
23
|
+
! the catalog program omp52-clause-enter is rejected the same way by
|
|
24
|
+
! cce20_g90 (results/confirm/batch_full.jsonl, R11).
|
|
25
|
+
! Fuzz campaign s1: CCE 20's 7,099 enter rejections (s1 and s1x0; 5,588
|
|
26
|
+
! s1 programs use enter) are compiler_bug: 4,502 by rule R11 (another
|
|
27
|
+
! family compiles the program) and 2,597 by decision D9 (the other
|
|
28
|
+
! families reject the program at other statements). Representative: s1
|
|
29
|
+
! seed 6760 (116 lines, AFAR and CCE 21 print the model value); this
|
|
30
|
+
! reproducer is written by hand (data/evidence/dataenv_probe/dt_enter.f90).
|
|
31
|
+
! Expected: "RESULT check=pass".
|
|
32
|
+
!
|
|
33
|
+
! ftn -fopenmp -O2 (cce20 recipe, offload/engine/toolchains.py)
|
|
34
|
+
module m
|
|
35
|
+
implicit none
|
|
36
|
+
integer, parameter :: n = 16
|
|
37
|
+
integer :: g(n) = 1
|
|
38
|
+
!$omp declare target enter(g)
|
|
39
|
+
end module m
|
|
40
|
+
program p
|
|
41
|
+
use m
|
|
42
|
+
implicit none
|
|
43
|
+
integer :: i
|
|
44
|
+
logical :: ok
|
|
45
|
+
!$omp target
|
|
46
|
+
do i = 1, n
|
|
47
|
+
g(i) = g(i) + i
|
|
48
|
+
end do
|
|
49
|
+
!$omp end target
|
|
50
|
+
!$omp target update from(g)
|
|
51
|
+
ok = .true.
|
|
52
|
+
do i = 1, n
|
|
53
|
+
ok = ok .and. g(i) == 1 + i
|
|
54
|
+
end do
|
|
55
|
+
if (ok) then
|
|
56
|
+
print '(a)', 'RESULT check=pass'
|
|
57
|
+
else
|
|
58
|
+
print '(a)', 'RESULT check=fail'
|
|
59
|
+
end if
|
|
60
|
+
end program p
|
|
61
|
+
! site:
|
|
62
|
+
! title: ftn rejects the enter clause of declare target (the OpenMP 5.2 name of the to clause)
|
|
63
|
+
! control: ../vendor/checks/src/other/control/s1-6760-cce20-control.f90 declare target to(g), the deprecated spelling, instead of
|
|
64
|
+
! + enter(g)
|
|
65
|
+
! end site
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
! Finding: CCE 19, 20, 21 reject a strided array section in a
|
|
2
|
+
! motion clause of target update (ftn-1747 "The stride specified for array
|
|
3
|
+
! ... must not be greater than 1. Subarray references in the MAP clause
|
|
4
|
+
! must be to contiguous memory").
|
|
5
|
+
!
|
|
6
|
+
! Legal OpenMP 5.0-5.2: "A stride expression may not be specified unless
|
|
7
|
+
! otherwise stated" (5.2 §3.2.5 p.66) and the data-motion clauses state it:
|
|
8
|
+
! "The list items may include array sections with stride expressions"
|
|
9
|
+
! (5.2 §5.9 p.165); added in 5.0: "The target update construct (see Section
|
|
10
|
+
! 13.9) was modified to allow array sections that specify discontiguous
|
|
11
|
+
! storage" (5.2 §B.4 p.634). Only the map clause requires contiguous storage
|
|
12
|
+
! (5.2 §5.8.3 p.156). CCE claims full OpenMP 5.0 (intro_openmp(7) of 19.0.0,
|
|
13
|
+
! 20.0.2, 21.0.3). gfortran 13 rejects it too ("Stride should not be
|
|
14
|
+
! specified for array section in TO clause"): a limitation of gfortran, not
|
|
15
|
+
! a legality verdict. AFAR prints "error: stride cannot be specified on an
|
|
16
|
+
! array section" for strided sections of structure components (e.g.
|
|
17
|
+
! gs%k(1:n:2)); in s1 and s1x0 289 AFAR cells carry it and none of them
|
|
18
|
+
! agrees (194 compile_reject, 68 run_error, 17 wrong_code, 10 ICE), against
|
|
19
|
+
! 54% agree for the cells without it, and 22 of AFAR's 138 present-modifier
|
|
20
|
+
! aborts are among them (8 times the overall rate). The message is not
|
|
21
|
+
! always fatal; an AFAR defect with strided component sections is likely
|
|
22
|
+
! but was not reduced in this task. For a plain array, as here, AFAR is
|
|
23
|
+
! silent and correct.
|
|
24
|
+
! Expected: "RESULT check=pass" (the odd elements are doubled on the device
|
|
25
|
+
! and copied back; the even ones are not checked, since they depend on the
|
|
26
|
+
! memory mode).
|
|
27
|
+
!
|
|
28
|
+
! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
|
|
29
|
+
! results/t28_probe/strided_update.f90.*.json):
|
|
30
|
+
! - CCE 19.0.0, 20.0.2, 21.0.3: compile error ftn-1747 at the target update
|
|
31
|
+
! (21.0.3 words it "... in the MAP clause must not be greater than 1.");
|
|
32
|
+
! - AFAR amdflang 24.0.0git: compiles, "RESULT check=pass" in both modes.
|
|
33
|
+
! - Tioga MI250X (gfx90a, HSA_XNACK=0): the same; CCE 19/20/21 reject,
|
|
34
|
+
! AFAR passes (results/t28_probe/g90/strided_update.cce21_g90.json).
|
|
35
|
+
! Fuzz campaign s1: 988 CCE cells (s1 and s1x0) fail on this diagnostic,
|
|
36
|
+
! verdict compiler_bug (rule R11 where AFAR compiles the program, decision
|
|
37
|
+
! D1 where every family rejects the program at different statements).
|
|
38
|
+
! Representative: s1 seed 6888 on cce21 (the confirmer's reduction,
|
|
39
|
+
! results/confirm/drafts/fuzz_s1_6888_cce21_gfx942_unified, keeps
|
|
40
|
+
! "!$omp target update to(gs%k(1:n:2))"); reproducer written by hand from
|
|
41
|
+
! it (data/evidence/dataenv_probe/strided_update.f90).
|
|
42
|
+
!
|
|
43
|
+
! ftn -fopenmp -O2 (cce19/cce20/cce21 recipes, offload/engine/toolchains.py)
|
|
44
|
+
program p
|
|
45
|
+
implicit none
|
|
46
|
+
integer, parameter :: n = 16
|
|
47
|
+
integer :: a(n), i
|
|
48
|
+
logical :: ok
|
|
49
|
+
a = 0
|
|
50
|
+
!$omp target enter data map(to: a)
|
|
51
|
+
do i = 1, n
|
|
52
|
+
a(i) = i
|
|
53
|
+
end do
|
|
54
|
+
!$omp target update to(a(1:n:2))
|
|
55
|
+
!$omp target
|
|
56
|
+
do i = 1, n
|
|
57
|
+
a(i) = 2 * a(i)
|
|
58
|
+
end do
|
|
59
|
+
!$omp end target
|
|
60
|
+
!$omp target exit data map(from: a)
|
|
61
|
+
ok = .true.
|
|
62
|
+
do i = 1, n
|
|
63
|
+
! the even elements are 0 with separate memory and 2 * i with
|
|
64
|
+
! shared memory: only the updated ones are checked
|
|
65
|
+
if (mod(i, 2) == 1) ok = ok .and. a(i) == 2 * i
|
|
66
|
+
end do
|
|
67
|
+
if (ok) then
|
|
68
|
+
print '(a)', 'RESULT check=pass'
|
|
69
|
+
else
|
|
70
|
+
print '(a)', 'RESULT check=fail'
|
|
71
|
+
end if
|
|
72
|
+
end program p
|
|
73
|
+
! site:
|
|
74
|
+
! title: ftn: target update to(a(1:n:2)) rejected (ftn-1747, stride must not be greater than 1)
|
|
75
|
+
! control: ../vendor/checks/src/other/control/s1-6888-cce21-control.f90 to(a(1:n)), without the stride (all elements updated)
|
|
76
|
+
! end site
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
! Minimized by compliance.fuzz_min from fuzz seed 7882 (fuzz-3).
|
|
2
|
+
! toolchain: cce20 (-O2, HSA_XNACK=1, OMP_TARGET_OFFLOAD=mandatory)
|
|
3
|
+
! failure: run_error (exit_status)
|
|
4
|
+
! message: Variable not found in present table
|
|
5
|
+
! expected: runs to completion (the host run does)
|
|
6
|
+
! observed: device: fail exit_status: 1; host reference (afar) checksum=0
|
|
7
|
+
! Legal OpenMP 5.2: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
8
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
9
|
+
! compiler under test, gfortran or gcc is a legality witness.
|
|
10
|
+
! also fails on: cce19, cce21
|
|
11
|
+
! Finding: CCE 19, 20, 21 end with exit status 1 ("Variable not
|
|
12
|
+
! found in present table", the CCE runtime's present check) at a target
|
|
13
|
+
! construct with map(present, tofrom: xc) for a character array xc that the
|
|
14
|
+
! enclosing target data construct maps (map(to: ... xc ...)); AFAR runs it.
|
|
15
|
+
! Legal OpenMP 5.2: the target data construct makes xc present, so the
|
|
16
|
+
! present modifier is satisfied (5.2 §5.8.3 p.152 l.25-27: "If a map clause with a
|
|
17
|
+
! present map-type-modifier appears on a construct and on entry to the
|
|
18
|
+
! region the corresponding list item is not present in the device data
|
|
19
|
+
! environment, runtime error termination is performed"); a
|
|
20
|
+
! character array is a map list item. Related to s1-8634-cce21.f90 (CCE ICE
|
|
21
|
+
! on a character scalar in enter/exit data): another construct and
|
|
22
|
+
! symptom (an array, a run-time presence failure).
|
|
23
|
+
! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
|
|
24
|
+
! results/t28_probe/rt/7882-cce20.f90.*.json): CCE 19, 20, 21 exit status 1
|
|
25
|
+
! in both modes; AFAR "RESULT checksum=0" (the reference). Reduced from s1
|
|
26
|
+
! seed 7882 by tools/campaigns/fuzz.py minimize-one (197 -> 84 lines).
|
|
27
|
+
! Shorter form (fix; written by hand from
|
|
28
|
+
! the 84-line reduction, which git history keeps): an allocatable
|
|
29
|
+
! character(len=4) array alone in target data map(to: xc) and an inner
|
|
30
|
+
! target map(present, tofrom: xc) (data/evidence/dataenv_probe/short/c7882_a.f90).
|
|
31
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/short/
|
|
32
|
+
! c7882_a.f90.*.json): CCE 19, 20, 21 exit status 1 ("Variable not found in
|
|
33
|
+
! present table") in both modes; AFAR "RESULT check=pass" in both modes.
|
|
34
|
+
! With a fixed-size character array (c7882_b) only CCE 19 fails; with
|
|
35
|
+
! other items in the target data list (c7882_c, c7882_d) all three fail.
|
|
36
|
+
! Expected: "RESULT check=pass".
|
|
37
|
+
program p
|
|
38
|
+
use omp_lib, only: omp_is_initial_device
|
|
39
|
+
implicit none
|
|
40
|
+
integer, parameter :: n = 48
|
|
41
|
+
character(len=4), allocatable :: xc(:)
|
|
42
|
+
integer :: i, hf1
|
|
43
|
+
allocate(xc(n))
|
|
44
|
+
do i = 1, n
|
|
45
|
+
xc(i) = achar(65 + mod(i * 33, 26)) // 'b#c'
|
|
46
|
+
end do
|
|
47
|
+
hf1 = -1
|
|
48
|
+
!$omp target data map(to: xc)
|
|
49
|
+
!$omp target map(present, tofrom: xc) map(tofrom: hf1)
|
|
50
|
+
hf1 = merge(1, 0, omp_is_initial_device())
|
|
51
|
+
!$omp end target
|
|
52
|
+
!$omp end target data
|
|
53
|
+
if (hf1 == 0) then
|
|
54
|
+
print '(a)', 'RESULT check=pass'
|
|
55
|
+
else
|
|
56
|
+
print '(a)', 'RESULT check=fail'
|
|
57
|
+
end if
|
|
58
|
+
end program p
|
|
59
|
+
! site:
|
|
60
|
+
! title: ftn: map(present, tofrom: xc) of an allocatable character array mapped by the enclosing target data stops with "Variable
|
|
61
|
+
! + not found in present table"
|
|
62
|
+
! control: ../vendor/checks/src/other/control/s1-7882-cce20-control.f90 map(tofrom: xc) without the present modifier
|
|
63
|
+
! end site
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
! Finding: CCE 19, 20, 21 crash (internal compiler error) on a
|
|
2
|
+
! character scalar in the map clause of a standalone target enter data or
|
|
3
|
+
! target exit data construct. In this smallest form optcg is killed by
|
|
4
|
+
! signal 11 (ftn-2116 "optcg was terminated due to receipt of signal 013:
|
|
5
|
+
! Segmentation fault"); in larger programs the same statements give
|
|
6
|
+
! "Unhandled expression type in get base or dv mem" (s1 seed 8634; with a
|
|
7
|
+
! derived-type variable and an internal subroutine in the program,
|
|
8
|
+
! data/evidence/dataenv_probe/ice/a5.f90 gives it on CCE 19, 20 and 21) or
|
|
9
|
+
! "unexpected type in TYPE_DEREF" (s1 seed 2952 on CCE 21). Character
|
|
10
|
+
! arrays in the same constructs compile (data/evidence/dataenv_probe/ice/c2.f90).
|
|
11
|
+
!
|
|
12
|
+
! Legal OpenMP 5.2: a character scalar is a variable list item of map
|
|
13
|
+
! (5.2 §5.8.3; the enter and exit data constructs take map clauses, §13.6,
|
|
14
|
+
! §13.7). (A gfortran -fopenmp accept is no evidence: owner, 2026-10-23.) Expected: "RESULT
|
|
15
|
+
! check=pass".
|
|
16
|
+
!
|
|
17
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev3.log
|
|
18
|
+
! and icev.log; data/evidence/dataenv_probe/ice/c1.f90 is this program):
|
|
19
|
+
! - CCE 19.0.0, 20.0.2, 21.0.3: ftn-2116, optcg killed by signal 11; the
|
|
20
|
+
! same with map(delete: xs) on exit data alone
|
|
21
|
+
! (data/evidence/dataenv_probe/ice_char_exit_delete.f90);
|
|
22
|
+
! - AFAR amdflang 24.0.0git: compiles and prints "RESULT check=pass".
|
|
23
|
+
! - Tioga MI250X (gfx90a, HSA_XNACK=0): CCE 21 the same ICE
|
|
24
|
+
! (results/t28_probe/g90/ice_char_exit_delete.cce21_g90.json).
|
|
25
|
+
! Fuzz campaign s1: the "Unhandled expression type in get base or dv mem"
|
|
26
|
+
! and "unexpected type in TYPE_DEREF" ICE cells of CCE 19/20/21 (most of
|
|
27
|
+
! those programs map character scalars and arrays in target enter data;
|
|
28
|
+
! not every one was reduced). The confirmer's reduction of seed 8634
|
|
29
|
+
! (results/confirm/drafts/fuzz_s1_8634_cce21_gfx942_unified, 151 -> 76
|
|
30
|
+
! lines, ICE site kept) keeps "!$omp target exit data map(delete: xs)" of
|
|
31
|
+
! character(len=8) :: xs; this file is reduced from it by hand.
|
|
32
|
+
!
|
|
33
|
+
! ftn -fopenmp -O2
|
|
34
|
+
program p
|
|
35
|
+
implicit none
|
|
36
|
+
character(len=8) :: xs
|
|
37
|
+
xs = 'abcdefgh'
|
|
38
|
+
!$omp target enter data map(to: xs)
|
|
39
|
+
!$omp target exit data map(release: xs)
|
|
40
|
+
print '(a)', 'RESULT check=pass'
|
|
41
|
+
end program p
|
|
42
|
+
! site:
|
|
43
|
+
! title: ftn: internal compiler error (optcg signal 11) for a character scalar in target enter data / exit data
|
|
44
|
+
! control: ../vendor/checks/src/other/control/s1-8634-cce21-control.f90 a character array xs(2) instead of a character scalar
|
|
45
|
+
! end site
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
! Finding: CCE 21 (and CCE 19/20 in the campaign) reports ftn-1510
|
|
2
|
+
! "Variable "HF2" must have its data scope explicitly declared because
|
|
3
|
+
! DEFAULT(NONE) was specified" for an assignment in a target region of the
|
|
4
|
+
! internal subroutine kp2, which has no default clause anywhere: the
|
|
5
|
+
! default(none) is on an (empty) parallel construct in a sibling internal
|
|
6
|
+
! subroutine kp1.
|
|
7
|
+
!
|
|
8
|
+
! Legal OpenMP 5.2: default(none) restricts only "each variable that is
|
|
9
|
+
! referenced in the construct" (5.2 §5.4.1 p.109); hf2 is referenced only
|
|
10
|
+
! in kp2's target region, which has no default clause. Legality: offload.engine.prerun.check accepts it
|
|
11
|
+
! (rerun: offload.engine.rules with the race rule and the restriction checks, and the AFAR
|
|
12
|
+
! flang front end, not under test here); no compiler under test, gfortran or gcc is a legality
|
|
13
|
+
! witness. (CCE also has the known ICE for masked in a target
|
|
14
|
+
! region, cce19-target-parallel-single-ice.f90; this diagnostic comes
|
|
15
|
+
! first.)
|
|
16
|
+
!
|
|
17
|
+
! : hand reductions that drop the unused module, types
|
|
18
|
+
! and dummies no longer show ftn-1510, and the program also needs the masked
|
|
19
|
+
! construct, which CCE documents as unsupported in offload regions; the vendor
|
|
20
|
+
! packet uses this generated program.
|
|
21
|
+
!
|
|
22
|
+
! Observed (tuolumne, -O2, 2026-10-23): CCE 21.0.3 ftn-1510 for HF2 at
|
|
23
|
+
! the assignment. Fuzz campaign s1: the ftn-1510 cells of CCE 19/20/21 for
|
|
24
|
+
! variables other than a loop's iteration variable (decision D3; R11 where
|
|
25
|
+
! AFAR compiles). Representative s1 seed 91 (cce21, copy mode; compile
|
|
26
|
+
! only): the confirmer's reduction (results/confirm/drafts/
|
|
27
|
+
! fuzz_s1_91_cce21_gfx942_copy, 223 -> 148 lines) reduced further by
|
|
28
|
+
! deleting lines while the diagnostic stays (data/evidence/dataenv_probe/min_ice.py,
|
|
29
|
+
! 148 -> 61 lines). A hand-written two-subroutine form without the
|
|
30
|
+
! structure maps compiles (it ICEs on the masked construct instead), so
|
|
31
|
+
! the trigger is not reduced further.
|
|
32
|
+
!
|
|
33
|
+
! Fix: the empty fuzz_ext file is gone and the
|
|
34
|
+
! program is reduced further by clause and list-item deletion as well as
|
|
35
|
+
! lines (data/evidence/dataenv_probe/min_ice.py, 61 -> 41 lines, results/t28_probe/
|
|
36
|
+
! short/): kp1 holds an empty parallel default(none) in a target region,
|
|
37
|
+
! its sibling kp2 a target region whose masked construct assigns hf2; CCE
|
|
38
|
+
! 21 reports ftn-1510 for HF2, CCE 19 and 20 stop earlier at their ICE for
|
|
39
|
+
! masked in a target region (results/t28_probe/icev_fr1.log); AFAR
|
|
40
|
+
! compiles it. kp2's unused dummies stay because min_ice does not edit
|
|
41
|
+
! argument lists.
|
|
42
|
+
!
|
|
43
|
+
! ftn -fopenmp -O2 (a bundle:
|
|
44
|
+
!@file fuzz_dmod.f90
|
|
45
|
+
module fuzz_dmod
|
|
46
|
+
implicit none
|
|
47
|
+
type :: mt_t
|
|
48
|
+
end type mt_t
|
|
49
|
+
end module fuzz_dmod
|
|
50
|
+
!@file fuzz_prog.f90
|
|
51
|
+
program fuzz_prog
|
|
52
|
+
use omp_lib, only: omp_is_initial_device
|
|
53
|
+
use fuzz_dmod
|
|
54
|
+
implicit none
|
|
55
|
+
type :: rec_t
|
|
56
|
+
end type rec_t
|
|
57
|
+
type(rec_t) :: dr
|
|
58
|
+
integer :: hf2
|
|
59
|
+
!$omp target data map(tofrom: dr)
|
|
60
|
+
!$omp end target data
|
|
61
|
+
contains
|
|
62
|
+
subroutine kp1(dr)
|
|
63
|
+
type(rec_t), intent(inout) :: dr
|
|
64
|
+
!$omp target
|
|
65
|
+
!$omp parallel default(none)
|
|
66
|
+
!$omp end parallel
|
|
67
|
+
!$omp end target
|
|
68
|
+
end subroutine kp1
|
|
69
|
+
subroutine kp2(ia, ic, xk1, xr8, dr, ms, p2)
|
|
70
|
+
integer, intent(inout) :: ia(:)
|
|
71
|
+
integer, allocatable, intent(inout) :: ic(:, :)
|
|
72
|
+
integer(kind=1), intent(inout) :: xk1(:)
|
|
73
|
+
real(kind=8), intent(in) :: xr8(:)
|
|
74
|
+
type(rec_t), intent(inout) :: dr
|
|
75
|
+
type(mt_t), intent(inout) :: ms
|
|
76
|
+
integer, intent(in), optional :: p2
|
|
77
|
+
!$omp target &
|
|
78
|
+
!$omp& map(tofrom: hf2)
|
|
79
|
+
!$omp masked
|
|
80
|
+
hf2 = merge(1, 0, omp_is_initial_device())
|
|
81
|
+
!$omp end masked
|
|
82
|
+
!$omp end target
|
|
83
|
+
end subroutine kp2
|
|
84
|
+
end program fuzz_prog
|
|
85
|
+
! site:
|
|
86
|
+
! title: ftn: default(none) on a parallel construct in one internal subroutine makes a variable of another subroutine's target
|
|
87
|
+
! + region an error (ftn-1510)
|
|
88
|
+
! control: ../vendor/checks/src/other/control/s1-91-cce21-control.f90 default(none) removed from the empty parallel construct of
|
|
89
|
+
! + kp1 (the
|
|
90
|
+
! + ftn-1510
|
|
91
|
+
! + for HF2 goes away; CCE then stops at the masked construct, documented as unsupported in offload regions)
|
|
92
|
+
! end site
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
! Minimized by compliance.fuzz_min from fuzz seed 9443 (fuzz-3).
|
|
2
|
+
! toolchain: afar (-O2, HSA_XNACK=1, OMP_TARGET_OFFLOAD=mandatory)
|
|
3
|
+
! failure: run_error (crash)
|
|
4
|
+
! message: 'present' map type modifier
|
|
5
|
+
! expected: runs to completion (the host run does)
|
|
6
|
+
! observed: device: fail crash: SIGABRT; host reference (cce21) checksum=0
|
|
7
|
+
! Legal OpenMP 5.2: offload.engine.rules accepts it (offload.engine.prerun.check, rerun: with the
|
|
8
|
+
! race rule and the restriction checks); NVHPC is no witness: it rejects it
|
|
9
|
+
! (NVFORTRAN-S-0034-Syntax error at or near :); the check's other
|
|
10
|
+
! witness, the AFAR flang front end, is the compiler under test and is not counted; no gfortran
|
|
11
|
+
! or gcc is a legality witness.
|
|
12
|
+
! also fails on: cce19
|
|
13
|
+
! Finding: AFAR aborts at HSA_XNACK=1 (SIGABRT, "Call to
|
|
14
|
+
! getTargetPointer returned null pointer ('present' map type modifier)")
|
|
15
|
+
! at an empty target construct with map(close, present, to: xk1), where
|
|
16
|
+
! the enclosing target data construct maps xk1 (an integer(1) array); at
|
|
17
|
+
! HSA_XNACK=0 AFAR runs it. CCE 19 also ends with exit status 1 in both
|
|
18
|
+
! modes; CCE 20 and 21 run it.
|
|
19
|
+
! Legal OpenMP 5.2: the target data construct makes xk1 present, so the
|
|
20
|
+
! present modifier is satisfied (5.2 §5.8.3); close is a hint.
|
|
21
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23,
|
|
22
|
+
! results/t28_probe/rt/9443-afar.f90.*.json): AFAR SIGABRT at HSA_XNACK=1,
|
|
23
|
+
! "RESULT checksum=0" at HSA_XNACK=0; CCE 19 exit status 1 (both modes);
|
|
24
|
+
! CCE 20, 21 "RESULT checksum=0". Reduced from s1 seed 9443 by
|
|
25
|
+
! tools/campaigns/fuzz.py minimize-one (146 -> 82 lines). The present-modifier aborts
|
|
26
|
+
! are AFAR's largest unified-only group in the copy-mode comparison.
|
|
27
|
+
! Related: ../afar-xnack1-present-not-enforced.f90 (AFAR at HSA_XNACK=1
|
|
28
|
+
! does not enforce present for an absent item: the opposite symptom of the
|
|
29
|
+
! same unified-memory present handling).
|
|
30
|
+
! Shorter form (fix; written by hand from
|
|
31
|
+
! the 82-line reduction, which git history keeps): an integer(1) array
|
|
32
|
+
! alone in target data map(to: xk1) and an empty target with
|
|
33
|
+
! map(close, present, to: xk1) (data/evidence/dataenv_probe/short/c9443_a.f90).
|
|
34
|
+
! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/short/
|
|
35
|
+
! c9443_a.f90.*.json): AFAR SIGABRT at HSA_XNACK=1, "RESULT check=pass" at
|
|
36
|
+
! HSA_XNACK=0; CCE 19, 20, 21 pass in both modes (CCE 19's exit status 1
|
|
37
|
+
! needs the longer form). Without close (c9443_b) AFAR passes: the close
|
|
38
|
+
! modifier is the trigger. Expected: "RESULT check=pass".
|
|
39
|
+
! Known defect: this is the AFAR close + present abort at
|
|
40
|
+
! HSA_XNACK=1 of fuzz/158-afar.f90 and fuzz/1131-afar.f90 (there after
|
|
41
|
+
! target enter data, here inside target data); not a new finding.
|
|
42
|
+
program p
|
|
43
|
+
implicit none
|
|
44
|
+
integer, parameter :: n = 100
|
|
45
|
+
integer(1) :: xk1(n)
|
|
46
|
+
integer :: i
|
|
47
|
+
do i = 1, n
|
|
48
|
+
xk1(i) = int(mod(i * 17 + 16, 127), 1)
|
|
49
|
+
end do
|
|
50
|
+
!$omp target data map(to: xk1)
|
|
51
|
+
!$omp target map(close, present, to: xk1)
|
|
52
|
+
!$omp end target
|
|
53
|
+
!$omp end target data
|
|
54
|
+
print '(a)', 'RESULT check=pass'
|
|
55
|
+
end program p
|
|
56
|
+
! site:
|
|
57
|
+
! title: AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)
|
|
58
|
+
! control: ../vendor/checks/src/other/control/s1-9443-afar-control.f90 map(present, to: xk1) without the close modifier
|
|
59
|
+
! end site
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
! Finding: CCE 19 does not finish compiling this program (killed
|
|
2
|
+
! after 300 s; the campaign's limit was 600 s), while CCE 20, CCE 21 and
|
|
3
|
+
! AFAR compile it in seconds. The kernels: target constructs with
|
|
4
|
+
! map(always, tofrom:) of a structure component and thread_limit, and a
|
|
5
|
+
! target with a depend(out: go2(:)) on a declare target module array, in a
|
|
6
|
+
! bundle with a default declare mapper and a submodule.
|
|
7
|
+
!
|
|
8
|
+
! A compile that does not finish is the compiler's defect whatever the
|
|
9
|
+
! program (RUL-COMPILE-TIME); the program passed the fuzz legality checks
|
|
10
|
+
! (offload.engine.rules, gfortran -std=f2008, AFAR flang's front end).
|
|
11
|
+
!
|
|
12
|
+
! Observed (tuolumne, -O2, 2026-10-23, results/t28_probe/hangv.log): CCE
|
|
13
|
+
! 19.0.0 compile timeout; CCE 20.0.2, 21.0.3 and AFAR compile. Fuzz
|
|
14
|
+
! campaign s1: the CCE 19 compile timeouts (93 cells in s1 and s1x0; every
|
|
15
|
+
! one of those programs has target nowait with depend). Representative s1
|
|
16
|
+
! seed 9914, reduced by deleting while the CCE 19 compile still ran after
|
|
17
|
+
! 60 s (data/evidence/dataenv_probe/min_hang.py; 191 -> 99 lines).
|
|
18
|
+
!
|
|
19
|
+
! Fix: reduced further by line, clause and
|
|
20
|
+
! list-item deletion while the CCE 19 compile still ran after 90 s
|
|
21
|
+
! (data/evidence/dataenv_probe/min_ice.py with the compile-timeout oracle, 83 -> 34
|
|
22
|
+
! lines, results/t28_probe/short/; each kept candidate timed out). What
|
|
23
|
+
! remains: an empty target with thread_limit(1), an empty target with
|
|
24
|
+
! depend(out: go2(:)) on a declare target module array, and a module
|
|
25
|
+
! procedure in a submodule; CCE 20 compiles it in 5 s, CCE 21 in 10 s,
|
|
26
|
+
! AFAR in 2 s. (The reduction's empty fuzz_ext.f90, a translation unit of
|
|
27
|
+
! its own, is left out here.)
|
|
28
|
+
!
|
|
29
|
+
! ftn -fopenmp -O2 (a bundle: !@file marks start the files)
|
|
30
|
+
!@file fuzz_dmod.f90
|
|
31
|
+
module fuzz_dmod
|
|
32
|
+
implicit none
|
|
33
|
+
integer, parameter :: nm = 48
|
|
34
|
+
integer :: go2(nm)
|
|
35
|
+
!$omp declare target to(go2)
|
|
36
|
+
end module fuzz_dmod
|
|
37
|
+
!@file fuzz_smod.f90
|
|
38
|
+
module fuzz_smod
|
|
39
|
+
implicit none
|
|
40
|
+
interface
|
|
41
|
+
module integer function gs1(x)
|
|
42
|
+
integer, intent(in) :: x
|
|
43
|
+
end function gs1
|
|
44
|
+
end interface
|
|
45
|
+
end module fuzz_smod
|
|
46
|
+
!@file fuzz_ssub.f90
|
|
47
|
+
submodule (fuzz_smod) fuzz_ssub
|
|
48
|
+
implicit none
|
|
49
|
+
contains
|
|
50
|
+
module integer function gs1(x)
|
|
51
|
+
integer, intent(in) :: x
|
|
52
|
+
end function gs1
|
|
53
|
+
end submodule fuzz_ssub
|
|
54
|
+
!@file fuzz_prog.f90
|
|
55
|
+
program fuzz_prog
|
|
56
|
+
use fuzz_dmod
|
|
57
|
+
implicit none
|
|
58
|
+
!$omp target thread_limit(1)
|
|
59
|
+
!$omp end target
|
|
60
|
+
!$omp target depend(out: go2(:))
|
|
61
|
+
!$omp end target
|
|
62
|
+
end program fuzz_prog
|
|
63
|
+
! spec (requirement): a target construct accepts a depend clause (with an array section as list item) that is associated with
|
|
64
|
+
! the target task, and a thread_limit clause that bounds the threads of the contention group; the specification says nothing
|
|
65
|
+
! about compile time, so the requirement that these constructs are compiled at all is only implied.
|
|
66
|
+
! "The target construct generates a target task. The generated task region encloses the target region. If a depend clause is
|
|
67
|
+
! present, it is associated with the target task. The device clause determines the device on which the target region executes.
|
|
68
|
+
! If the nowait clause is present," (5.2 §13.8 p.284 l.14-16)
|
|
69
|
+
! "If the thread_limit clause is specified, the number of threads will be less than or equal to threadlim. Otherwise, if the"
|
|
70
|
+
! (5.2 §13.3 p.277 l.19-20)
|
|
71
|
+
! spec (this program): an empty target with thread_limit(1) and an empty target with depend(out: go2(:)) on a declare target
|
|
72
|
+
! module array are legal constructs; CCE 19 does not finish compiling the program (killed after 300 s), CCE 20, CCE 21 and AFAR
|
|
73
|
+
! compile it in seconds.
|
|
74
|
+
! site:
|
|
75
|
+
! title: ftn 19 does not finish compiling target regions with map(always, tofrom:) of a structure component and a depend on a
|
|
76
|
+
! + declare target array
|
|
77
|
+
! control: ../vendor/checks/src/other/control/s1-9914-cce19-control.f90 thread_limit(1) removed from the first target
|
|
78
|
+
! end site
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#include <stdio.h>
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
#include <openacc.h>
|
|
4
|
+
|
|
5
|
+
enum { n = 64 };
|
|
6
|
+
struct holder {
|
|
7
|
+
int *v;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
int main(void) {
|
|
11
|
+
int b[n];
|
|
12
|
+
int host_flag = 1, sum = 0;
|
|
13
|
+
struct holder h;
|
|
14
|
+
h.v = malloc(n * sizeof(int));
|
|
15
|
+
for (int i = 0; i < n; i++) {
|
|
16
|
+
h.v[i] = 1;
|
|
17
|
+
b[i] = 0;
|
|
18
|
+
}
|
|
19
|
+
#pragma acc enter data copyin(h)
|
|
20
|
+
#pragma acc enter data copyin(h.v[0:n])
|
|
21
|
+
#pragma acc parallel loop copyout(b) copy(host_flag) present(h)
|
|
22
|
+
for (int i = 0; i < n; i++) {
|
|
23
|
+
if (i == 0) host_flag = acc_on_device(acc_device_host) ? 1 : 0;
|
|
24
|
+
b[i] = i + 1 + h.v[i];
|
|
25
|
+
}
|
|
26
|
+
#pragma acc exit data delete(h.v[0:n])
|
|
27
|
+
#pragma acc exit data delete(h)
|
|
28
|
+
for (int i = 0; i < n; i++)
|
|
29
|
+
sum += b[i];
|
|
30
|
+
free(h.v);
|
|
31
|
+
printf("sum= %d\n", sum);
|
|
32
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, sum == 2144 ? "pass" : "fail");
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
program delete_only
|
|
2
|
+
use openacc, only: acc_device_host, acc_on_device
|
|
3
|
+
implicit none
|
|
4
|
+
integer, parameter :: n = 64
|
|
5
|
+
type :: holder
|
|
6
|
+
integer, allocatable :: v(:)
|
|
7
|
+
end type holder
|
|
8
|
+
type(holder) :: h
|
|
9
|
+
integer :: b(n)
|
|
10
|
+
integer :: i, host_flag
|
|
11
|
+
allocate(h%v(n))
|
|
12
|
+
h%v = 1
|
|
13
|
+
b = 0
|
|
14
|
+
host_flag = 1
|
|
15
|
+
!$acc enter data copyin(h)
|
|
16
|
+
!$acc enter data copyin(h%v)
|
|
17
|
+
!$acc parallel loop copyout(b) copy(host_flag) present(h)
|
|
18
|
+
do i = 1, n
|
|
19
|
+
if (i == 1) host_flag = merge(1, 0, acc_on_device(acc_device_host))
|
|
20
|
+
b(i) = i + h%v(i)
|
|
21
|
+
end do
|
|
22
|
+
!$acc exit data delete(h%v)
|
|
23
|
+
!$acc exit data delete(h)
|
|
24
|
+
print '(a,i0)', 'sum= ', sum(b)
|
|
25
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', sum(b) == 2144)
|
|
26
|
+
end program delete_only
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
program map_to_pointer
|
|
2
|
+
use omp_lib, only: omp_is_initial_device
|
|
3
|
+
implicit none
|
|
4
|
+
integer, parameter :: n = 64
|
|
5
|
+
integer, pointer :: wp(:)
|
|
6
|
+
integer :: b(n), zc(1)
|
|
7
|
+
integer :: i, host_flag, changed
|
|
8
|
+
logical :: shared_mem
|
|
9
|
+
allocate(wp(n))
|
|
10
|
+
wp = 0
|
|
11
|
+
b = 0
|
|
12
|
+
host_flag = 1
|
|
13
|
+
zc = 0
|
|
14
|
+
! separate memory? (a write to a map(to:) array is visible on the host only when storage is shared)
|
|
15
|
+
!$omp target map(to: zc)
|
|
16
|
+
zc(1) = 1
|
|
17
|
+
!$omp end target
|
|
18
|
+
shared_mem = zc(1) == 1
|
|
19
|
+
!$omp target map(from: b) map(tofrom: host_flag) map(to: wp)
|
|
20
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
21
|
+
do i = 1, n
|
|
22
|
+
wp(i) = 2*i
|
|
23
|
+
b(i) = wp(i) + 1
|
|
24
|
+
end do
|
|
25
|
+
!$omp end target
|
|
26
|
+
changed = count(wp /= 0)
|
|
27
|
+
print '(a,i0,a,i0,a,l1)', 'b(n)= ', b(n), ' host wp changed: ', changed, ' shared_mem= ', shared_mem
|
|
28
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', &
|
|
29
|
+
merge('pass', 'fail', b(n) == 2*n + 1 .and. (shared_mem .or. changed == 0))
|
|
30
|
+
deallocate(wp)
|
|
31
|
+
end program map_to_pointer
|