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,70 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-sections on cce19
|
|
2
|
+
//
|
|
3
|
+
// - compiler: cce19
|
|
4
|
+
// - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-sections (c, version 52, sha256 27f3fa01bb99e123)
|
|
6
|
+
// - expected: check=pass (trusted; elision + model)
|
|
7
|
+
// - actual: wrong_answer check=fail (check_fail: ran_on_host=0 check=fail)
|
|
8
|
+
// - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the expected value
|
|
9
|
+
// - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/unified, elision
|
|
10
|
+
// - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md); RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY (rulings.md)
|
|
11
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
12
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
13
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
14
|
+
// - witnesses: afar/gfx942/unified, elision
|
|
15
|
+
// - withdrawn: none
|
|
16
|
+
//
|
|
17
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
18
|
+
// id: omp52-c-w-sections
|
|
19
|
+
// primary atom: omp.directive.sections
|
|
20
|
+
// atoms: omp.directive.sections
|
|
21
|
+
// legal: yes
|
|
22
|
+
// observable: yes
|
|
23
|
+
// ran_on_host: inside the target region of interest
|
|
24
|
+
// evidence: construct
|
|
25
|
+
// needs: none
|
|
26
|
+
// std: c11
|
|
27
|
+
// feature: a sections construct with two sections in a target parallel region
|
|
28
|
+
// spec: OpenMP 5.2 §11.3, p.243 (sections construct)
|
|
29
|
+
#include <stdio.h>
|
|
30
|
+
#include <stdbool.h>
|
|
31
|
+
#include <omp.h>
|
|
32
|
+
|
|
33
|
+
enum { n = 64 };
|
|
34
|
+
|
|
35
|
+
int main(void) {
|
|
36
|
+
int a[n], b[n], ref[n];
|
|
37
|
+
int host_flag = 1;
|
|
38
|
+
for (int i = 0; i < n; i++) {
|
|
39
|
+
a[i] = i + 1;
|
|
40
|
+
b[i] = 0;
|
|
41
|
+
ref[i] = 2 * (i + 1) + 1;
|
|
42
|
+
}
|
|
43
|
+
#pragma omp target parallel map(to: a) map(tofrom: b, host_flag)
|
|
44
|
+
{
|
|
45
|
+
#pragma omp sections
|
|
46
|
+
{
|
|
47
|
+
#pragma omp section
|
|
48
|
+
{
|
|
49
|
+
for (int i = 0; i < n / 2; i++) b[i] = 2 * a[i] + 1;
|
|
50
|
+
host_flag = omp_is_initial_device();
|
|
51
|
+
}
|
|
52
|
+
#pragma omp section
|
|
53
|
+
{
|
|
54
|
+
for (int i = n / 2; i < n; i++) b[i] = a[i] + a[i] + 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
bool ok = true;
|
|
59
|
+
for (int i = 0; i < n; i++)
|
|
60
|
+
ok = ok && (b[i] == ref[i]);
|
|
61
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
// site:
|
|
65
|
+
// title: craycc: sections in a target parallel region is accepted without a message and gives a wrong result
|
|
66
|
+
// control: ../vendor/checks/src/cce/control/cce-c-sections-in-target-wrong-control.c the same sections on the host (parallel
|
|
67
|
+
// + instead of
|
|
68
|
+
// + target
|
|
69
|
+
// + parallel)
|
|
70
|
+
// end site
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-single on cce19
|
|
2
|
+
//
|
|
3
|
+
// - compiler: cce19
|
|
4
|
+
// - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-single (c, version 52, sha256 bce7f8273ffc4497)
|
|
6
|
+
// - expected: None (None; )
|
|
7
|
+
// - actual: rejected (link_undefined_symbol: lld: error: undefined symbol: __kmpc_single)
|
|
8
|
+
// - verdict: compiler_bug by rule R10b-own-link-or-hang: a link failure on symbols the compiler's own generated code needs, or a compile that does not finish, on a legal program: the compiler's defect (never a rejection)
|
|
9
|
+
// - reason:
|
|
10
|
+
// - citations: RUL-COMPILE-TIME (rulings.md)
|
|
11
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
12
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
13
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
14
|
+
// - witnesses: none
|
|
15
|
+
// - withdrawn: none
|
|
16
|
+
//
|
|
17
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
18
|
+
// id: omp52-c-w-single
|
|
19
|
+
// primary atom: omp.directive.single
|
|
20
|
+
// atoms: omp.directive.single
|
|
21
|
+
// legal: yes
|
|
22
|
+
// observable: yes
|
|
23
|
+
// ran_on_host: inside the target region of interest
|
|
24
|
+
// evidence: construct
|
|
25
|
+
// needs: none
|
|
26
|
+
// std: c11
|
|
27
|
+
// feature: a single construct in a target parallel region
|
|
28
|
+
// spec: OpenMP 5.2 §11.1, p.240 (single construct)
|
|
29
|
+
#include <stdio.h>
|
|
30
|
+
#include <stdbool.h>
|
|
31
|
+
#include <omp.h>
|
|
32
|
+
|
|
33
|
+
enum { n = 64 };
|
|
34
|
+
|
|
35
|
+
int main(void) {
|
|
36
|
+
int a[n], b[n], ref[n];
|
|
37
|
+
int host_flag = 1;
|
|
38
|
+
int s = 0;
|
|
39
|
+
for (int i = 0; i < n; i++) {
|
|
40
|
+
a[i] = i + 1;
|
|
41
|
+
b[i] = 0;
|
|
42
|
+
ref[i] = 0;
|
|
43
|
+
}
|
|
44
|
+
#pragma omp target parallel map(tofrom: s, host_flag)
|
|
45
|
+
{
|
|
46
|
+
#pragma omp single
|
|
47
|
+
{
|
|
48
|
+
s = s + 1;
|
|
49
|
+
host_flag = omp_is_initial_device();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
bool ok = true;
|
|
53
|
+
for (int i = 0; i < n; i++)
|
|
54
|
+
ok = ok && (b[i] == ref[i]);
|
|
55
|
+
ok = ok && (s == 1);
|
|
56
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
// site:
|
|
60
|
+
// title: ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal
|
|
61
|
+
// + compiler errors or device link failures instead of a diagnostic
|
|
62
|
+
// control: ../vendor/checks/src/cce/control/cce-c-single-masked-task-link-control.c the same single on the host (parallel
|
|
63
|
+
// + instead of target
|
|
64
|
+
// + parallel)
|
|
65
|
+
// same_as: cce19-target-parallel-single-ice
|
|
66
|
+
// end site
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-clause-default-shared on cce19
|
|
2
|
+
//
|
|
3
|
+
// - compiler: cce19
|
|
4
|
+
// - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-clause-default-shared (c, version 52, sha256 bc42f5f6b8c6dd23)
|
|
6
|
+
// - expected: None (None; )
|
|
7
|
+
// - actual: rejected (link_undefined_symbol: lld: error: undefined symbol: __kmpc_omp_task_alloc)
|
|
8
|
+
// - verdict: compiler_bug by rule R10b-own-link-or-hang: a link failure on symbols the compiler's own generated code needs, or a compile that does not finish, on a legal program: the compiler's defect (never a rejection)
|
|
9
|
+
// - reason:
|
|
10
|
+
// - citations: RUL-COMPILE-TIME (rulings.md)
|
|
11
|
+
// - legality: legal (legal by construction: offload.engine.gen / c_gen / acc_gen check every program against the catalog rules and the offload scope as it is built (no compiler))
|
|
12
|
+
// - witnesses: none
|
|
13
|
+
// - withdrawn: none
|
|
14
|
+
//
|
|
15
|
+
// Generated by compliance.c_gen (OpenMP 5.2, C11): the C port (offload.engine.f2c) of omp52-clause-default-shared. Do not edit.
|
|
16
|
+
// id: omp52-c-clause-default-shared
|
|
17
|
+
// primary atom: omp.clause.default.shared
|
|
18
|
+
// legal: yes
|
|
19
|
+
// observable: yes
|
|
20
|
+
// ran_on_host: inside the target region of interest
|
|
21
|
+
// evidence: construct
|
|
22
|
+
// needs: none
|
|
23
|
+
// std: c11
|
|
24
|
+
#include <stdio.h>
|
|
25
|
+
#include <stdbool.h>
|
|
26
|
+
#include <omp.h>
|
|
27
|
+
|
|
28
|
+
enum { n = 64 };
|
|
29
|
+
|
|
30
|
+
int main(void) {
|
|
31
|
+
int a[n];
|
|
32
|
+
int b[n];
|
|
33
|
+
int ref[n];
|
|
34
|
+
int host_flag;
|
|
35
|
+
bool ok;
|
|
36
|
+
int c;
|
|
37
|
+
int r;
|
|
38
|
+
for (int i = 1; i <= n; i++) {
|
|
39
|
+
a[i - 1] = i;
|
|
40
|
+
b[i - 1] = 0;
|
|
41
|
+
ref[i - 1] = 2 * i + 1;
|
|
42
|
+
}
|
|
43
|
+
host_flag = 1;
|
|
44
|
+
r = 0;
|
|
45
|
+
#pragma omp target map(to: a) map(from: b) map(from: r) map(tofrom: host_flag)
|
|
46
|
+
{
|
|
47
|
+
host_flag = (omp_is_initial_device() ? 1 : 0);
|
|
48
|
+
for (int i = 1; i <= n; i++) {
|
|
49
|
+
b[i - 1] = 2 * a[i - 1] + 1;
|
|
50
|
+
}
|
|
51
|
+
#pragma omp parallel private(c)
|
|
52
|
+
{
|
|
53
|
+
c = 7;
|
|
54
|
+
#pragma omp task default(shared)
|
|
55
|
+
{
|
|
56
|
+
c = 42;
|
|
57
|
+
}
|
|
58
|
+
#pragma omp taskwait
|
|
59
|
+
if (omp_get_thread_num() == 0) r = c;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
bool t1_ = true;
|
|
63
|
+
for (int k2_ = 0; k2_ < n; k2_++)
|
|
64
|
+
t1_ = t1_ && (b[k2_] == ref[k2_]);
|
|
65
|
+
ok = t1_ && (r == 42);
|
|
66
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
// site:
|
|
70
|
+
// title: ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal
|
|
71
|
+
// + compiler errors or device link failures instead of a diagnostic
|
|
72
|
+
// control: ../vendor/checks/src/cce/control/cce-c-task-in-target-link-control.c the same region on the host (the target
|
|
73
|
+
// + directive removed)
|
|
74
|
+
// same_as: cce19-target-parallel-single-ice
|
|
75
|
+
// end site
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-clause-uses_allocators-traits on cce19
|
|
2
|
+
//
|
|
3
|
+
// - compiler: cce19
|
|
4
|
+
// - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-clause-uses_allocators-traits (c, version 52, sha256 a5d4d553d629ef11)
|
|
6
|
+
// - expected: None (None; )
|
|
7
|
+
// - actual: rejected (diagnostic: <tmpdir>/omp52-c-clause-uses_allocators-traits.c:33:23: error: call to undeclared function 'traits'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-de)
|
|
8
|
+
// - no control: the 5.0 spelling uses_allocators(my_alloc(my_traits)), once the check case's control (dropped), is an
|
|
9
|
+
// internal compiler error on CCE 19, 20, 21.0.3 and 21.0.4 in both modes and on both GPUs, and AFAR rejects it as old
|
|
10
|
+
// syntax (its rows: data/vendor/checks/results-compact, results-site, variant control), so it does not isolate the
|
|
11
|
+
// rejection
|
|
12
|
+
// - verdict: compiler_bug by rule R11-compile-rejection: a legal program the compiler rejects with a diagnostic (or whose link fails on symbols the compiler's own code needs, or whose compile does not finish) while another compiler family compiles it
|
|
13
|
+
// - reason:
|
|
14
|
+
// - citations: RUL-COMPILE-TIME (rulings.md)
|
|
15
|
+
// - legality: legal (legal by construction: offload.engine.gen / c_gen / acc_gen check every program against the catalog rules and the offload scope as it is built (no compiler))
|
|
16
|
+
// - witnesses: none
|
|
17
|
+
// - withdrawn: none
|
|
18
|
+
//
|
|
19
|
+
// Generated by compliance.c_gen (OpenMP 5.2, C11): the C port (offload.engine.f2c) of omp52-clause-uses_allocators-traits. Do not edit.
|
|
20
|
+
// id: omp52-c-clause-uses_allocators-traits
|
|
21
|
+
// primary atom: omp.clause.uses_allocators.traits
|
|
22
|
+
// legal: yes
|
|
23
|
+
// observable: no (unverified: the check covers the device kernel, not the atom)
|
|
24
|
+
// ran_on_host: inside the target region of interest
|
|
25
|
+
// evidence: unverified
|
|
26
|
+
// needs: none
|
|
27
|
+
// std: c11
|
|
28
|
+
// unverified (oracle_not_written): re-categorised (was implementation_defined): memory from the allocator 'will be byte aligned to at least the value specified for the alignment trait' (5.2 §6.2 p.173, 6.0 §8.2 p.306), so a check that t's address is a multiple of 64 is a deterministic oracle of the original; it is not written. A mutant without the trait could still be 64-byte aligned (any alignment conforms then), AFAR rejects uses_allocators and CCE 19's mutant without the trait is an internal compiler error (final-review re-audit)
|
|
29
|
+
#include <stdio.h>
|
|
30
|
+
#include <stdbool.h>
|
|
31
|
+
#include <omp.h>
|
|
32
|
+
|
|
33
|
+
enum { n = 64 };
|
|
34
|
+
|
|
35
|
+
int main(void) {
|
|
36
|
+
int a[n];
|
|
37
|
+
int b[n];
|
|
38
|
+
int ref[n];
|
|
39
|
+
int host_flag;
|
|
40
|
+
bool ok;
|
|
41
|
+
int t;
|
|
42
|
+
omp_allocator_handle_t my_alloc;
|
|
43
|
+
const const omp_alloctrait_t my_traits[1] = {{omp_atk_alignment, 64}};
|
|
44
|
+
for (int i = 1; i <= n; i++) {
|
|
45
|
+
a[i - 1] = i;
|
|
46
|
+
b[i - 1] = 0;
|
|
47
|
+
ref[i - 1] = 2 * i + 1;
|
|
48
|
+
}
|
|
49
|
+
host_flag = 1;
|
|
50
|
+
#pragma omp target map(to: a) map(from: b) map(tofrom: host_flag) \
|
|
51
|
+
uses_allocators(traits(my_traits): my_alloc)
|
|
52
|
+
{
|
|
53
|
+
host_flag = (omp_is_initial_device() ? 1 : 0);
|
|
54
|
+
#pragma omp parallel for default(none) shared(a, b, my_alloc) private(t) \
|
|
55
|
+
allocate(my_alloc: t)
|
|
56
|
+
for (int i = 1; i <= n; i++) {
|
|
57
|
+
t = 2 * a[i - 1];
|
|
58
|
+
b[i - 1] = t + 1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
bool t1_ = true;
|
|
62
|
+
for (int k2_ = 0; k2_ < n; k2_++)
|
|
63
|
+
t1_ = t1_ && (b[k2_] == ref[k2_]);
|
|
64
|
+
ok = t1_;
|
|
65
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
// site:
|
|
69
|
+
// 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
|
|
70
|
+
// same_as: catalog/cce-c-map-iterator-ice
|
|
71
|
+
// end site
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-allocate-const-firstprivate on cce19
|
|
2
|
+
!
|
|
3
|
+
! - compiler: cce19
|
|
4
|
+
! - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-allocate-const-firstprivate (f90, version 52, sha256 367be03382f737d3)
|
|
6
|
+
! - expected: None (None; )
|
|
7
|
+
! - actual: ice (ice: INTERNAL COMPILER ERROR: "Too few arguments on the stack" (/workspace/crayftn/pdgcs/v_fei.c, line 11730,
|
|
8
|
+
! version cc4d36e4ff3377d45f0e6e892b5dacd82009a0ca))
|
|
9
|
+
! - verdict: compiler_bug by rule R10-compile-ice: an internal compiler error (or the compiler rejecting code it generated) on a
|
|
10
|
+
! legal program: always the compiler's defect
|
|
11
|
+
! - reason:
|
|
12
|
+
! - citations: RUL-COMPILE-TIME (rulings.md)
|
|
13
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
14
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
15
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
16
|
+
! - witnesses: none
|
|
17
|
+
! - withdrawn: none
|
|
18
|
+
!
|
|
19
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
20
|
+
! id: omp52-w-allocate-const-firstprivate
|
|
21
|
+
! primary atom: pair.omp.clause.allocate+omp.clause.firstprivate
|
|
22
|
+
! atoms: pair.omp.clause.allocate+omp.clause.firstprivate, omp.clause.allocate, omp.clause.firstprivate
|
|
23
|
+
! legal: yes
|
|
24
|
+
! observable: yes
|
|
25
|
+
! ran_on_host: inside the target region of interest
|
|
26
|
+
! evidence: construct
|
|
27
|
+
! needs: none
|
|
28
|
+
! std: f2008
|
|
29
|
+
! feature: a firstprivate scalar allocated with omp_const_mem_alloc (uses_allocators) on a target loop
|
|
30
|
+
! spec: OpenMP 5.2 §6.6 (allocate clause) and §13.8, p.285: an allocator in a uses_allocators clause may be used in an allocate
|
|
31
|
+
! clause on the target construct
|
|
32
|
+
! pair of: omp.clause.allocate + omp.clause.firstprivate (each has a program of its own)
|
|
33
|
+
program wide_prog
|
|
34
|
+
use omp_lib, only: omp_is_initial_device
|
|
35
|
+
use omp_lib, only: omp_const_mem_alloc
|
|
36
|
+
implicit none
|
|
37
|
+
integer, parameter :: n = 64
|
|
38
|
+
integer :: a(n), b(n), ref(n)
|
|
39
|
+
integer :: x
|
|
40
|
+
integer :: i, host_flag
|
|
41
|
+
logical :: ok
|
|
42
|
+
do i = 1, n
|
|
43
|
+
a(i) = i
|
|
44
|
+
b(i) = 0
|
|
45
|
+
ref(i) = i + 5
|
|
46
|
+
end do
|
|
47
|
+
host_flag = 1
|
|
48
|
+
x = 5
|
|
49
|
+
!$omp target teams distribute parallel do map(to: a) map(from: b) &
|
|
50
|
+
!$omp& map(tofrom: host_flag) firstprivate(x) allocate(omp_const_mem_alloc: x) &
|
|
51
|
+
!$omp& uses_allocators(omp_const_mem_alloc)
|
|
52
|
+
do i = 1, n
|
|
53
|
+
b(i) = a(i) + x
|
|
54
|
+
if (i == 1) host_flag = merge(1, 0, omp_is_initial_device())
|
|
55
|
+
end do
|
|
56
|
+
!$omp end target teams distribute parallel do
|
|
57
|
+
ok = all(b == ref)
|
|
58
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
59
|
+
end program wide_prog
|
|
60
|
+
! site:
|
|
61
|
+
! title: ftn: internal compiler error "Too few arguments on the stack" for uses_allocators with an allocate clause in a target
|
|
62
|
+
! + region
|
|
63
|
+
! control: ../vendor/checks/src/cce/control/cce-flang-allocate-const-mem-ice-control.f90 the allocate and uses_allocators clauses
|
|
64
|
+
! + removed (x
|
|
65
|
+
! + firstprivate only)
|
|
66
|
+
! same_as: catalog/cce-allocators-stack-ice
|
|
67
|
+
! end site
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-allocate-in-device on cce19
|
|
2
|
+
!
|
|
3
|
+
! - compiler: cce19
|
|
4
|
+
! - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-allocate-in-device (f90, version 52, sha256 eb06c2541aa05fb4)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: crash (crash: SIGABRT; without mandatory: crash: SIGABRT)
|
|
8
|
+
! - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value
|
|
9
|
+
! from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the
|
|
10
|
+
! expected value
|
|
11
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses:
|
|
12
|
+
! afar/gfx942/unified, afar/gfx942/unified (port:omp52-c-w-allocate-in-device), cce19/gfx942/unified
|
|
13
|
+
! (port:omp52-c-w-allocate-in-device), cc ...
|
|
14
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md);
|
|
15
|
+
! RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY
|
|
16
|
+
! (rulings.md)
|
|
17
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
18
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
19
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
20
|
+
! - witnesses: afar/gfx942/unified, afar/gfx942/unified (port:omp52-c-w-allocate-in-device), cce19/gfx942/unified
|
|
21
|
+
! (port:omp52-c-w-allocate-in-device), cce20/gfx942/unified (port:omp52-c-w-allocate-in-device), cce21/gfx942/unified
|
|
22
|
+
! (port:omp52-c-w-allocate-in-device), elision
|
|
23
|
+
! - withdrawn: none
|
|
24
|
+
!
|
|
25
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
26
|
+
! id: omp52-w-allocate-in-device
|
|
27
|
+
! primary atom: base.device.allocate
|
|
28
|
+
! atoms: base.device.allocate
|
|
29
|
+
! legal: yes
|
|
30
|
+
! observable: yes
|
|
31
|
+
! ran_on_host: inside the target region of interest
|
|
32
|
+
! evidence: construct
|
|
33
|
+
! needs: none
|
|
34
|
+
! std: f2008
|
|
35
|
+
! feature: ALLOCATE and DEALLOCATE of a local allocatable array in a target region
|
|
36
|
+
! spec: OpenMP 5.2 §1.7, pp.34-35: Fortran 2008 is a normative base language (the Fortran 2018 features whose use is unspecified are
|
|
37
|
+
! listed there; this is not one of them)
|
|
38
|
+
program wide_prog
|
|
39
|
+
use omp_lib, only: omp_is_initial_device
|
|
40
|
+
implicit none
|
|
41
|
+
integer, parameter :: n = 64
|
|
42
|
+
integer :: a(n), b(n), ref(n)
|
|
43
|
+
integer :: i, host_flag
|
|
44
|
+
logical :: ok
|
|
45
|
+
do i = 1, n
|
|
46
|
+
a(i) = i
|
|
47
|
+
b(i) = 0
|
|
48
|
+
ref(i) = 2*i + 1
|
|
49
|
+
end do
|
|
50
|
+
host_flag = 1
|
|
51
|
+
!$omp target map(to: a) map(from: b) map(tofrom: host_flag)
|
|
52
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
53
|
+
block
|
|
54
|
+
integer, allocatable :: w(:)
|
|
55
|
+
allocate(w(n))
|
|
56
|
+
w = 2*a + 1
|
|
57
|
+
b = w
|
|
58
|
+
deallocate(w)
|
|
59
|
+
end block
|
|
60
|
+
!$omp end target
|
|
61
|
+
ok = all(b == ref)
|
|
62
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
63
|
+
end program wide_prog
|
|
64
|
+
! site:
|
|
65
|
+
! title: ftn: ALLOCATE/DEALLOCATE of a local allocatable in device code aborts (SIGABRT), OpenMP and OpenACC
|
|
66
|
+
! control: ../vendor/checks/src/cce/control/cce-flang-allocate-in-target-crash-control.f90 w a fixed-size local array (no
|
|
67
|
+
! + ALLOCATE/DEALLOCATE)
|
|
68
|
+
! end site
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-lastprivate-parallel-in-seq-loop on cce19
|
|
2
|
+
!
|
|
3
|
+
! - compiler: cce19
|
|
4
|
+
! - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-lastprivate-parallel-in-seq-loop (f90, version 52, sha256 b5e25088c4a2a5e8)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: wrong_answer check=fail (check_fail: ran_on_host=0 check=fail)
|
|
8
|
+
! - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value
|
|
9
|
+
! from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the
|
|
10
|
+
! expected value
|
|
11
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy,
|
|
12
|
+
! afar/gfx942/copy (port:omp52-c-w-lastprivate-parallel-in-seq-loop), afar/gfx942/unified, afar/gfx942/unified
|
|
13
|
+
! (port:omp52-c-w-lastprivate-parallel-in-seq-loop), elision
|
|
14
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md);
|
|
15
|
+
! RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY
|
|
16
|
+
! (rulings.md)
|
|
17
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
18
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
19
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
20
|
+
! - witnesses: afar/gfx942/copy, afar/gfx942/copy (port:omp52-c-w-lastprivate-parallel-in-seq-loop), afar/gfx942/unified,
|
|
21
|
+
! afar/gfx942/unified (port:omp52-c-w-lastprivate-parallel-in-seq-loop), elision
|
|
22
|
+
! - withdrawn: none
|
|
23
|
+
!
|
|
24
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
25
|
+
! id: omp52-w-lastprivate-parallel-in-seq-loop
|
|
26
|
+
! primary atom: pair.omp.clause.lastprivate+base.device.parallel_in_seq_loop
|
|
27
|
+
! atoms: pair.omp.clause.lastprivate+base.device.parallel_in_seq_loop, omp.clause.lastprivate, base.device.parallel_in_seq_loop
|
|
28
|
+
! legal: yes
|
|
29
|
+
! observable: yes
|
|
30
|
+
! ran_on_host: inside the target region of interest
|
|
31
|
+
! evidence: construct
|
|
32
|
+
! needs: none
|
|
33
|
+
! std: f2008
|
|
34
|
+
! feature: lastprivate on a parallel do nested in a sequential loop of a target region
|
|
35
|
+
! spec: the parts' own programs
|
|
36
|
+
! pair of: omp.clause.lastprivate + base.device.parallel_in_seq_loop (each has a program of its own)
|
|
37
|
+
program wide_prog
|
|
38
|
+
use omp_lib, only: omp_is_initial_device
|
|
39
|
+
implicit none
|
|
40
|
+
integer, parameter :: n = 64
|
|
41
|
+
integer :: a(n), b(n), ref(n)
|
|
42
|
+
integer :: k, last
|
|
43
|
+
integer :: i, host_flag
|
|
44
|
+
logical :: ok
|
|
45
|
+
do i = 1, n
|
|
46
|
+
a(i) = i
|
|
47
|
+
b(i) = 0
|
|
48
|
+
ref(i) = 2*i + 1
|
|
49
|
+
end do
|
|
50
|
+
host_flag = 1
|
|
51
|
+
!$omp target map(to: a) map(tofrom: b, host_flag)
|
|
52
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
53
|
+
do k = 1, 3
|
|
54
|
+
!$omp parallel do lastprivate(last)
|
|
55
|
+
do i = 1, n
|
|
56
|
+
last = a(i) + k
|
|
57
|
+
end do
|
|
58
|
+
!$omp end parallel do
|
|
59
|
+
b(k) = last
|
|
60
|
+
end do
|
|
61
|
+
!$omp end target
|
|
62
|
+
ok = all(b(1:3) == [n + 1, n + 2, n + 3])
|
|
63
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
64
|
+
end program wide_prog
|
|
65
|
+
! site:
|
|
66
|
+
! title: ftn: lastprivate on a parallel do in a target region gives a wrong final value when the variable is firstprivate in the
|
|
67
|
+
! + target region (not mapped)
|
|
68
|
+
! control: ../vendor/checks/src/cce/control/cce-flang-lastprivate-parallel-in-seq-loop-wrong-control.f90 last also mapped tofrom
|
|
69
|
+
! + on the
|
|
70
|
+
! + target
|
|
71
|
+
! + construct (the sequential loop kept)
|
|
72
|
+
! end site
|
|
73
|
+
! spec (requirement): With lastprivate, the original list item is assigned the value of the new list item from the
|
|
74
|
+
! sequentially last iteration.
|
|
75
|
+
! "the value of each new list item from the sequentially last iteration of the associated loops, or the lexically last
|
|
76
|
+
! structured block sequence associated with a sections construct, is assigned to the original list item." (5.2
|
|
77
|
+
! §5.4.5 p.115 l.14-16)
|
|
78
|
+
! spec (requirement): A scalar referenced in a target region and not mapped is firstprivate in it, so the original
|
|
79
|
+
! list item of the inner lastprivate is the target region's copy.
|
|
80
|
+
! "If the above rules do not apply then a scalar variable is not mapped but instead has an implicit data-sharing
|
|
81
|
+
! attribute of firstprivate" (5.2 §5.8.1 p.149 l.8-9)
|
|
82
|
+
! spec (this program): last is firstprivate in the target region and lastprivate on each parallel do of the sequential
|
|
83
|
+
! k loop, so b(k) must take the value a(n) + k (65, 66, 67) from the final iteration; ftn gives a wrong final value.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-stop-unreached on cce19
|
|
2
|
+
!
|
|
3
|
+
! - compiler: cce19
|
|
4
|
+
! - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-stop-unreached (f90, version 52, sha256 4ae6862a92abf979)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: crash Thread execution stopped at FILE ../../omp52-w-stop-unreached.f90 LINE 28 due to a regular STOP statement. ...
|
|
8
|
+
! (repeated; crash: SIGABRT; without mandatory: crash: SIGABRT)
|
|
9
|
+
! - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value
|
|
10
|
+
! from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the
|
|
11
|
+
! expected value
|
|
12
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy,
|
|
13
|
+
! afar/gfx942/copy (port:omp52-c-w-stop-unreached), afar/gfx942/unified, afar/gfx942/unified (port:omp52-c-w-stop-unreache ...
|
|
14
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md);
|
|
15
|
+
! RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY
|
|
16
|
+
! (rulings.md)
|
|
17
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
18
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
19
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
20
|
+
! - witnesses: afar/gfx942/copy, afar/gfx942/copy (port:omp52-c-w-stop-unreached), afar/gfx942/unified, afar/gfx942/unified
|
|
21
|
+
! (port:omp52-c-w-stop-unreached), cce19/gfx942/copy (port:omp52-c-w-stop-unreached), cce19/gfx942/unified
|
|
22
|
+
! (port:omp52-c-w-stop-unrea ...
|
|
23
|
+
! - withdrawn: none
|
|
24
|
+
!
|
|
25
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
26
|
+
! id: omp52-w-stop-unreached
|
|
27
|
+
! primary atom: base.device.stop
|
|
28
|
+
! atoms: base.device.stop
|
|
29
|
+
! legal: yes
|
|
30
|
+
! observable: yes
|
|
31
|
+
! ran_on_host: inside the target region of interest
|
|
32
|
+
! evidence: construct
|
|
33
|
+
! needs: none
|
|
34
|
+
! std: f2008
|
|
35
|
+
! feature: a STOP statement in device code that is not executed
|
|
36
|
+
! spec: OpenMP 5.2 §4.3, p.76: a structured block may contain STOP or ERROR STOP statements
|
|
37
|
+
program wide_prog
|
|
38
|
+
use omp_lib, only: omp_is_initial_device
|
|
39
|
+
implicit none
|
|
40
|
+
integer, parameter :: n = 64
|
|
41
|
+
integer :: a(n), b(n), ref(n)
|
|
42
|
+
integer :: i, host_flag
|
|
43
|
+
logical :: ok
|
|
44
|
+
do i = 1, n
|
|
45
|
+
a(i) = i
|
|
46
|
+
b(i) = 0
|
|
47
|
+
ref(i) = 2*i + 1
|
|
48
|
+
end do
|
|
49
|
+
host_flag = 1
|
|
50
|
+
!$omp target teams distribute parallel do map(to: a) map(from: b) map(tofrom: host_flag)
|
|
51
|
+
do i = 1, n
|
|
52
|
+
if (a(i) < 0) stop 1
|
|
53
|
+
b(i) = 2*a(i) + 1
|
|
54
|
+
if (i == 1) host_flag = merge(1, 0, omp_is_initial_device())
|
|
55
|
+
end do
|
|
56
|
+
!$omp end target teams distribute parallel do
|
|
57
|
+
ok = all(b == ref)
|
|
58
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
59
|
+
end program wide_prog
|
|
60
|
+
! site:
|
|
61
|
+
! title: ftn: an IF statement guarding STOP in device code: the STOP runs although its condition is false (target loop), or an
|
|
62
|
+
! + internal compiler error (directly in a target region)
|
|
63
|
+
! control: ../vendor/checks/src/cce/control/cce-flang-stop-in-target-crash-control.f90 the IF with an assignment instead of STOP
|
|
64
|
+
! end site
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
! # Draft finding: omp52-clause-from-iterator on cce19
|
|
2
|
+
!
|
|
3
|
+
! - compiler: cce19
|
|
4
|
+
! - toolchain: cce19; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
! - program: catalog omp52-clause-from-iterator (f90, version 52, sha256 5869ce00261053a5)
|
|
6
|
+
! - expected: None (None; )
|
|
7
|
+
! - actual: rejected (link_undefined_symbol: The Cpu Module:(.text+0xa3b): undefined reference to `OmpIt$k')
|
|
8
|
+
! - verdict: compiler_bug by rule R10b-own-link-or-hang: a link failure on symbols the compiler's own generated code needs, or a
|
|
9
|
+
! compile that does not finish, on a legal program: the compiler's defect (never a rejection)
|
|
10
|
+
! - reason:
|
|
11
|
+
! - citations: RUL-COMPILE-TIME (rulings.md)
|
|
12
|
+
! - legality: legal (legal by construction: offload.engine.gen / c_gen / acc_gen check every program against the catalog rules
|
|
13
|
+
! and the
|
|
14
|
+
! offload scope as it is built (no compiler))
|
|
15
|
+
! - witnesses: none
|
|
16
|
+
! - withdrawn: none
|
|
17
|
+
!
|
|
18
|
+
! Generated by compliance.gen (OpenMP 5.2, free-form Fortran). Do not edit.
|
|
19
|
+
! id: omp52-clause-from-iterator
|
|
20
|
+
! primary atom: omp.clause.from.iterator
|
|
21
|
+
! legal: yes
|
|
22
|
+
! observable: yes
|
|
23
|
+
! ran_on_host: inside the target region of interest
|
|
24
|
+
! evidence: copy_mode_only
|
|
25
|
+
! needs: none
|
|
26
|
+
! std: f2008
|
|
27
|
+
! derivation (check=pass): target enter data maps a (to) and b (alloc); the host adds 10 to a and target update to(a) copies it (5.2
|
|
28
|
+
! derivation: §13.9 p.289), so the device's a(i) = i + 10 and the target region writes b(i) = 2*(i + 10) + 1 on the device; target
|
|
29
|
+
! derivation: update from(iterator(k = 1:1): b(k:n)) expands to from(b(1:n)) (5.2 §3.2.6 p.67), so the host's b is the device's: b =
|
|
30
|
+
! derivation: ref = 2*(i + 10) + 1; the check accepts
|
|
31
|
+
program gen_prog
|
|
32
|
+
use omp_lib, only: omp_is_initial_device
|
|
33
|
+
implicit none
|
|
34
|
+
integer, parameter :: n = 64
|
|
35
|
+
integer, allocatable, target :: a(:), b(:)
|
|
36
|
+
integer :: ref(n)
|
|
37
|
+
integer :: i, host_flag
|
|
38
|
+
logical :: ok
|
|
39
|
+
integer :: k
|
|
40
|
+
allocate(a(n), b(n))
|
|
41
|
+
do i = 1, n
|
|
42
|
+
a(i) = i
|
|
43
|
+
b(i) = 0
|
|
44
|
+
ref(i) = 2*(i + 10) + 1
|
|
45
|
+
end do
|
|
46
|
+
host_flag = 1
|
|
47
|
+
!$omp target enter data map(to: a) map(alloc: b)
|
|
48
|
+
do i = 1, n
|
|
49
|
+
a(i) = a(i) + 10
|
|
50
|
+
end do
|
|
51
|
+
!$omp target update to(a)
|
|
52
|
+
!$omp target map(to: a) map(from: b) map(tofrom: host_flag)
|
|
53
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
54
|
+
do i = 1, n
|
|
55
|
+
b(i) = 2*a(i) + 1
|
|
56
|
+
end do
|
|
57
|
+
!$omp end target
|
|
58
|
+
!$omp target update from(iterator(k = 1:1): b(k:n))
|
|
59
|
+
!$omp target exit data map(release: a, b)
|
|
60
|
+
ok = all(b == ref)
|
|
61
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
62
|
+
deallocate(a, b)
|
|
63
|
+
end program gen_prog
|
|
64
|
+
! site:
|
|
65
|
+
! title: ftn: target update from(iterator(k = 1:1): b(k:n)) fails at the host link (OmpIt$k undefined)
|
|
66
|
+
! control: ../vendor/checks/src/cce/control/cce-iterator-link-control.f90 from(b(1:n)) without the iterator modifier
|
|
67
|
+
! end site
|