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,77 @@
|
|
|
1
|
+
// # Draft finding: omp60-c-directive-target_loop on cce21
|
|
2
|
+
//
|
|
3
|
+
// - compiler: cce21
|
|
4
|
+
// - toolchain: cce21; arch: gfx942; machine: tuolumne; memory mode: unified; opt: -O2
|
|
5
|
+
// - program: catalog omp60-c-directive-target_loop (c, version 60, sha256 f7b09fc0585b20d6)
|
|
6
|
+
// - expected: None (None; )
|
|
7
|
+
// - actual: ice (ice: PLEASE submit a bug report to HPE at https://support.hpe.com/ and include the crash backtrace, preprocessed source, and associated run script.)
|
|
8
|
+
// - verdict: compiler_bug by rule R10-compile-ice: an internal compiler error (or the compiler rejecting code it generated) on a legal program: always the compiler's defect
|
|
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 6.0, C11): the C port (offload.engine.f2c) of omp60-directive-target_loop. Do not edit.
|
|
16
|
+
// id: omp60-c-directive-target_loop
|
|
17
|
+
// primary atom: omp.directive.target_loop
|
|
18
|
+
// legal: yes
|
|
19
|
+
// observable: yes
|
|
20
|
+
// ran_on_host: probe (a target region just before the region of interest, which may not call the OpenMP API)
|
|
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
|
+
int on_dev = 0;
|
|
30
|
+
#pragma omp declare target(on_dev)
|
|
31
|
+
|
|
32
|
+
int main(void) {
|
|
33
|
+
int a[n];
|
|
34
|
+
int b[n];
|
|
35
|
+
int ref[n];
|
|
36
|
+
int host_flag;
|
|
37
|
+
bool ok;
|
|
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
|
+
#pragma omp target map(tofrom: host_flag)
|
|
45
|
+
{
|
|
46
|
+
host_flag = (omp_is_initial_device() ? 1 : 0);
|
|
47
|
+
on_dev = 1;
|
|
48
|
+
}
|
|
49
|
+
#pragma omp target loop map(to: a) map(from: b)
|
|
50
|
+
for (int i = 1; i <= n; i++) {
|
|
51
|
+
b[i - 1] = 2 * a[i - 1] + on_dev;
|
|
52
|
+
}
|
|
53
|
+
bool t1_ = true;
|
|
54
|
+
for (int k2_ = 0; k2_ < n; k2_++)
|
|
55
|
+
t1_ = t1_ && (b[k2_] == 2 * a[k2_]);
|
|
56
|
+
if (t1_) host_flag = 1;
|
|
57
|
+
bool t3_ = true;
|
|
58
|
+
for (int k4_ = 0; k4_ < n; k4_++)
|
|
59
|
+
t3_ = t3_ && (b[k4_] == ref[k4_]);
|
|
60
|
+
ok = t3_;
|
|
61
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
// site:
|
|
65
|
+
// title: craycc: internal compiler error on the 6.0 combined construct target loop instead of a diagnostic
|
|
66
|
+
// control: ../vendor/checks/src/cce/control/cce21-c-target-loop-ice-control.c target teams loop instead of target loop
|
|
67
|
+
// end site
|
|
68
|
+
// spec (requirement): OpenMP 6.0 defines target loop as a combined construct, whose semantics are those of a target
|
|
69
|
+
// construct holding exactly one loop construct.
|
|
70
|
+
// "The semantics of combined constructs are identical to that of explicitly specifying the first construct containing
|
|
71
|
+
// one instance of the second construct and no other statements." (6.0 §19.3 p.531 l.2-3)
|
|
72
|
+
// spec (requirement): A compound directive name is a combined directive name when the second construct can be
|
|
73
|
+
// immediately nested in the first.
|
|
74
|
+
// "If the construct named by directive-name-B can be immediately nested inside the construct named by
|
|
75
|
+
// directive-name-A, the compound-directive name is a combined-directive name" (6.0 §19.1 p.525 l.11-13)
|
|
76
|
+
// spec (this program): target loop is a combined construct of the 6.0 grammar and must behave as target with one loop
|
|
77
|
+
// construct; the compiler gives an internal error instead of either compiling it or diagnosing it as unsupported.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-defaultmap-present-private-array on afar
|
|
2
|
+
!
|
|
3
|
+
! - compiler: afar
|
|
4
|
+
! - toolchain: afar; arch: gfx942; machine: tuolumne; memory mode: copy; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-defaultmap-present-private-array (f90, version 52, sha256 24c00652b35b31db)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: crash (crash: SIGABRT; without mandatory: crash: SIGABRT)
|
|
8
|
+
! - scope: AFAR in copy mode (MI300A and MI250X), where defaultmap(present) and the private array each pass alone; CCE
|
|
9
|
+
! 19, 20, 21 also abort, but defaultmap(present) alone already fails there, so that failure is not this finding's
|
|
10
|
+
! - verdict: copy_mode_failure by rule R17-copy-mode-failure: wrong in copy mode, the same toolchain gives the expected value in
|
|
11
|
+
! unified mode, the same compiler on another arch does not give it in copy mode, and the expected value is trusted: a compiler
|
|
12
|
+
! failure specific to separate host and device memory
|
|
13
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy
|
|
14
|
+
! (port:omp52-c-w-defaultmap-present-private-array)
|
|
15
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md); RUL-PRESENCE-WITNESS
|
|
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 (port:omp52-c-w-defaultmap-present-private-array)
|
|
21
|
+
! - withdrawn: none
|
|
22
|
+
!
|
|
23
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
24
|
+
! id: omp52-w-defaultmap-present-private-array
|
|
25
|
+
! primary atom: pair.omp.clause.defaultmap.present+base.device.private_array
|
|
26
|
+
! atoms: pair.omp.clause.defaultmap.present+base.device.private_array, omp.clause.defaultmap.present, base.device.private_array
|
|
27
|
+
! legal: yes
|
|
28
|
+
! observable: yes
|
|
29
|
+
! ran_on_host: inside the target region of interest
|
|
30
|
+
! evidence: construct
|
|
31
|
+
! needs: none
|
|
32
|
+
! std: f2008
|
|
33
|
+
! feature: defaultmap(present: aggregate) with a private array on the same target loop (the arrays the loop maps are present by
|
|
34
|
+
! enter data)
|
|
35
|
+
! spec: OpenMP 5.2 §5.8.7, p.161 (defaultmap applies to variables without an explicitly determined attribute: the private array is
|
|
36
|
+
! not one)
|
|
37
|
+
! pair of: omp.clause.defaultmap.present + base.device.private_array (each has a program of its own)
|
|
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 :: t(4)
|
|
44
|
+
integer :: i, host_flag
|
|
45
|
+
logical :: ok
|
|
46
|
+
do i = 1, n
|
|
47
|
+
a(i) = i
|
|
48
|
+
b(i) = 0
|
|
49
|
+
ref(i) = 2*i + 1
|
|
50
|
+
end do
|
|
51
|
+
host_flag = 1
|
|
52
|
+
!$omp target enter data map(to: a) map(alloc: b)
|
|
53
|
+
!$omp target teams distribute parallel do defaultmap(present: aggregate) &
|
|
54
|
+
!$omp& private(t) map(tofrom: host_flag)
|
|
55
|
+
do i = 1, n
|
|
56
|
+
t(1) = a(i)
|
|
57
|
+
t(2) = 1
|
|
58
|
+
t(3) = a(i)
|
|
59
|
+
t(4) = 0
|
|
60
|
+
b(i) = sum(t)
|
|
61
|
+
if (i == 1) host_flag = merge(1, 0, omp_is_initial_device())
|
|
62
|
+
end do
|
|
63
|
+
!$omp end target teams distribute parallel do
|
|
64
|
+
!$omp target exit data map(from: b) map(release: a)
|
|
65
|
+
ok = all(b == ref)
|
|
66
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
67
|
+
end program wide_prog
|
|
68
|
+
! site:
|
|
69
|
+
! title: AFAR at HSA_XNACK=0: defaultmap(present: aggregate) checks the presence of an array that is private on the same construct
|
|
70
|
+
! + and aborts
|
|
71
|
+
! control: ../vendor/checks/src/other/control/defaultmap-present-private-array-abort-control.f90 defaultmap(present: aggregate)
|
|
72
|
+
! + removed
|
|
73
|
+
! end site
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
! # Draft finding: acc34-w-associate on nvhpc
|
|
2
|
+
!
|
|
3
|
+
! - compiler: nvhpc
|
|
4
|
+
! - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
! - program: catalog acc34-w-associate (f90, version 34, sha256 68f44e65e61fcf01)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: run_error (exit_status: 1) [the confirmer's class run_error; the matrix's class of the same run is wrong_answer: a run
|
|
8
|
+
! that fails]
|
|
9
|
+
! - observed: the run ends with "call to cuStreamSynchronize returned error 700 (CUDA_ERROR_ILLEGAL_ADDRESS)" (NVHPC 25.11
|
|
10
|
+
! and 26.9): an ASSOCIATE construct in a parallel loop; the OpenMP form (omp52-w-associate) is correct
|
|
11
|
+
! - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value
|
|
12
|
+
! from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the
|
|
13
|
+
! expected value
|
|
14
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: cce19/gfx942/copy,
|
|
15
|
+
! cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
16
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md);
|
|
17
|
+
! RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY
|
|
18
|
+
! (rulings.md)
|
|
19
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
20
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
21
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
22
|
+
! - witnesses: cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
23
|
+
! - withdrawn: none
|
|
24
|
+
!
|
|
25
|
+
! Generated by compliance.widen (OpenACC 3.4, free-form Fortran; catalog widening). Do not edit.
|
|
26
|
+
! id: acc34-w-associate
|
|
27
|
+
! primary atom: base.device.associate
|
|
28
|
+
! atoms: base.device.associate
|
|
29
|
+
! legal: yes
|
|
30
|
+
! observable: yes
|
|
31
|
+
! ran_on_host: inside the compute region of interest (acc_on_device)
|
|
32
|
+
! evidence: construct
|
|
33
|
+
! needs: none
|
|
34
|
+
! std: f2008
|
|
35
|
+
! feature: an ASSOCIATE construct in device code
|
|
36
|
+
! spec: OpenACC 3.4 §1.8, p.16: Fortran 2008 is a normative base language (the features whose use is unspecified are listed there;
|
|
37
|
+
! this is not one of them)
|
|
38
|
+
program wide_prog
|
|
39
|
+
use openacc, only: acc_device_host, acc_on_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
|
+
!$acc parallel loop copyin(a) copyout(b) copy(host_flag)
|
|
52
|
+
do i = 1, n
|
|
53
|
+
associate (x => a(i), y => b(i))
|
|
54
|
+
y = 2*x + 1
|
|
55
|
+
end associate
|
|
56
|
+
if (i == 1) host_flag = merge(1, 0, acc_on_device(acc_device_host))
|
|
57
|
+
end do
|
|
58
|
+
ok = all(b == ref)
|
|
59
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
60
|
+
end program wide_prog
|
|
61
|
+
! site:
|
|
62
|
+
! title: nvfortran -acc: ASSOCIATE construct in a parallel loop ends in CUDA_ERROR_ILLEGAL_ADDRESS
|
|
63
|
+
! control: ../vendor/checks/src/nvhpc/control/nvhpc-acc-associate-illegal-address-control.f90 the assignment written without the
|
|
64
|
+
! + ASSOCIATE
|
|
65
|
+
! + construct
|
|
66
|
+
! end site
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-function-pointer on nvhpc
|
|
2
|
+
//
|
|
3
|
+
// - compiler: nvhpc
|
|
4
|
+
// - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-function-pointer (c, version 52, sha256 b55bf877e3962528)
|
|
6
|
+
// - expected: check=pass (trusted; elision + model)
|
|
7
|
+
// - actual: run_error (exit_status: 1; without mandatory: exit_status: 1) [the confirmer's class run_error; the matrix's class of the same run is wrong_answer: a run that fails]
|
|
8
|
+
// - observed: the run ends with "Accelerator Fatal Error: Failed to find device function 'nvkernel_main_F1L31_2'! File was compiled with: -gpu=cc80" (NVHPC 25.11 and 26.9, both memory modes): the compile succeeds without generating the target region's kernel; split: the static local, VLA and long double forms are findings of their own
|
|
9
|
+
// - 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
|
|
10
|
+
// - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy, cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
11
|
+
// - 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)
|
|
12
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
13
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
14
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
15
|
+
// - witnesses: afar/gfx942/copy, cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
16
|
+
// - withdrawn: none
|
|
17
|
+
//
|
|
18
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
19
|
+
// id: omp52-c-w-function-pointer
|
|
20
|
+
// primary atom: base.device.function_pointer
|
|
21
|
+
// atoms: base.device.function_pointer
|
|
22
|
+
// legal: yes
|
|
23
|
+
// observable: yes
|
|
24
|
+
// ran_on_host: inside the target region of interest
|
|
25
|
+
// evidence: construct
|
|
26
|
+
// needs: none
|
|
27
|
+
// std: c11
|
|
28
|
+
// feature: a pointer to a declare target function taken and called in device code
|
|
29
|
+
// spec: OpenMP 5.2 §13.8, p.287: a program may rely on a function address in a target region for assignments, comparisons to zero and indirect calls
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <stdbool.h>
|
|
32
|
+
#include <omp.h>
|
|
33
|
+
|
|
34
|
+
enum { n = 64 };
|
|
35
|
+
|
|
36
|
+
#pragma omp declare target
|
|
37
|
+
int tw(int x) { return 2 * x + 1; }
|
|
38
|
+
int th(int x) { return 3 * x; }
|
|
39
|
+
#pragma omp end declare target
|
|
40
|
+
|
|
41
|
+
int main(void) {
|
|
42
|
+
int a[n], b[n], ref[n];
|
|
43
|
+
int host_flag = 1;
|
|
44
|
+
for (int i = 0; i < n; i++) {
|
|
45
|
+
a[i] = i + 1;
|
|
46
|
+
b[i] = 0;
|
|
47
|
+
ref[i] = (i % 2) ? 2 * (i + 1) + 1 : 3 * (i + 1);
|
|
48
|
+
}
|
|
49
|
+
#pragma omp target teams distribute parallel for map(to: a) map(from: b) map(tofrom: \
|
|
50
|
+
host_flag)
|
|
51
|
+
for (int i = 0; i < n; i++) {
|
|
52
|
+
int (*f)(int) = (i % 2) ? tw : th;
|
|
53
|
+
b[i] = f(a[i]);
|
|
54
|
+
if (i == 0) host_flag = omp_is_initial_device();
|
|
55
|
+
}
|
|
56
|
+
bool ok = true;
|
|
57
|
+
for (int i = 0; i < n; i++)
|
|
58
|
+
ok = ok && (b[i] == ref[i]);
|
|
59
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
60
|
+
return 0;
|
|
61
|
+
}
|
|
62
|
+
// site:
|
|
63
|
+
// title: nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time ("Failed to find device function") for
|
|
64
|
+
// + function pointers, static locals, VLAs, long double, type-bound calls
|
|
65
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-function-pointer-kernel-missing-control.c the two functions called directly
|
|
66
|
+
// + instead of
|
|
67
|
+
// + through a function pointer
|
|
68
|
+
// end site
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-long-double on nvhpc
|
|
2
|
+
//
|
|
3
|
+
// - compiler: nvhpc
|
|
4
|
+
// - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-long-double (c, version 52, sha256 95c075422c35bf6b)
|
|
6
|
+
// - expected: check=pass (trusted; elision + model)
|
|
7
|
+
// - actual: run_error (exit_status: 1; without mandatory: exit_status: 1) [the confirmer's class run_error; the matrix's class of the same run is wrong_answer: a run that fails]
|
|
8
|
+
// - observed: no diagnostic; the run ends with "Accelerator Fatal Error: Failed to find device function 'nvkernel_main_...'" (25.11 and 26.9, both memory modes): long double arithmetic in a target loop
|
|
9
|
+
// - 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
|
|
10
|
+
// - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: elision
|
|
11
|
+
// - 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)
|
|
12
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
13
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
14
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
15
|
+
// - witnesses: elision
|
|
16
|
+
// - withdrawn: none
|
|
17
|
+
//
|
|
18
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
19
|
+
// id: omp52-c-w-long-double
|
|
20
|
+
// primary atom: base.device.long_double
|
|
21
|
+
// atoms: base.device.long_double
|
|
22
|
+
// legal: yes
|
|
23
|
+
// observable: yes
|
|
24
|
+
// ran_on_host: inside the target region of interest
|
|
25
|
+
// evidence: construct
|
|
26
|
+
// needs: none
|
|
27
|
+
// std: c11
|
|
28
|
+
// feature: long double arithmetic on a mapped long double array (the representation of long double is implementation defined; a device that has no wider type than double may reject it)
|
|
29
|
+
// spec: OpenMP 5.2 §1.7, p.35: C11 is a normative base language
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <stdbool.h>
|
|
32
|
+
#include <omp.h>
|
|
33
|
+
|
|
34
|
+
enum { n = 64 };
|
|
35
|
+
|
|
36
|
+
int main(void) {
|
|
37
|
+
int a[n], b[n], ref[n];
|
|
38
|
+
int host_flag = 1;
|
|
39
|
+
long double ld[n];
|
|
40
|
+
for (int i = 0; i < n; i++) {
|
|
41
|
+
a[i] = i + 1;
|
|
42
|
+
b[i] = 0;
|
|
43
|
+
ref[i] = 2 * (i + 1) + 1;
|
|
44
|
+
}
|
|
45
|
+
for (int i = 0; i < n; i++) ld[i] = 0.0L;
|
|
46
|
+
#pragma omp target teams distribute parallel for map(to: a) map(from: ld) map(tofrom: \
|
|
47
|
+
host_flag)
|
|
48
|
+
for (int i = 0; i < n; i++) {
|
|
49
|
+
ld[i] = (long double)a[i] * 2.0L + 1.0L;
|
|
50
|
+
if (i == 0) host_flag = omp_is_initial_device();
|
|
51
|
+
}
|
|
52
|
+
for (int i = 0; i < n; i++) b[i] = (int)ld[i];
|
|
53
|
+
bool ok = true;
|
|
54
|
+
for (int i = 0; i < n; i++)
|
|
55
|
+
ok = ok && (b[i] == ref[i]);
|
|
56
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
// site:
|
|
60
|
+
// title: nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time ("Failed to find device function") for
|
|
61
|
+
// + function pointers, static locals, VLAs, long double, type-bound calls
|
|
62
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-long-double-kernel-missing-control.c double instead of long double
|
|
63
|
+
// same_as: catalog/nvhpc-c-function-pointer-kernel-missing
|
|
64
|
+
// end site
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-save-local-routine on nvhpc
|
|
2
|
+
//
|
|
3
|
+
// - compiler: nvhpc
|
|
4
|
+
// - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-save-local-routine (c, version 52, sha256 867d9b2fcaa9ad8f)
|
|
6
|
+
// - expected: check=pass (trusted; elision + model)
|
|
7
|
+
// - actual: run_error (exit_status: 1; without mandatory: exit_status: 1) [the confirmer's class run_error; the matrix's class of the same run is wrong_answer: a run that fails]
|
|
8
|
+
// - observed: nvc warns "NVC++-W-1053-External and Static variables are not supported in acc routine - cnt" and still compiles; the run ends with "Accelerator Fatal Error: Failed to find device function 'nvkernel_main_...'" (25.11 and 26.9, both memory modes). A warning, then no kernel: the program is legal (OpenMP 5.2 §7.8, p.204), so the target region should either run or the compile should fail
|
|
9
|
+
// - 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
|
|
10
|
+
// - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy, cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision, nvhpc/sm_80/copy (port:omp52-w-save-local-routine), nvhpc269/sm_80/copy (p ...
|
|
11
|
+
// - 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)
|
|
12
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
13
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
14
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
15
|
+
// - witnesses: afar/gfx942/copy, cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision, nvhpc/sm_80/copy (port:omp52-w-save-local-routine), nvhpc269/sm_80/copy (port:omp52-w-save-local-routine)
|
|
16
|
+
// - withdrawn: none
|
|
17
|
+
//
|
|
18
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
19
|
+
// id: omp52-c-w-save-local-routine
|
|
20
|
+
// primary atom: base.device.save_local
|
|
21
|
+
// atoms: base.device.save_local
|
|
22
|
+
// legal: yes
|
|
23
|
+
// observable: yes
|
|
24
|
+
// ran_on_host: inside the target region of interest
|
|
25
|
+
// evidence: construct
|
|
26
|
+
// needs: none
|
|
27
|
+
// std: c11
|
|
28
|
+
// feature: a static local variable of a declare target function, updated by sequential calls in one target region
|
|
29
|
+
// spec: OpenMP 5.2 §7.8, p.204: a variable with static storage duration declared in a device routine is treated as if it appeared in an enter clause on a declare target directive
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <stdbool.h>
|
|
32
|
+
#include <omp.h>
|
|
33
|
+
|
|
34
|
+
enum { n = 64 };
|
|
35
|
+
|
|
36
|
+
#pragma omp declare target
|
|
37
|
+
int bump(void) {
|
|
38
|
+
static int cnt = 0;
|
|
39
|
+
cnt = cnt + 1;
|
|
40
|
+
return cnt;
|
|
41
|
+
}
|
|
42
|
+
#pragma omp end declare target
|
|
43
|
+
|
|
44
|
+
int main(void) {
|
|
45
|
+
int a[n], b[n], ref[n];
|
|
46
|
+
int host_flag = 1;
|
|
47
|
+
for (int i = 0; i < n; i++) {
|
|
48
|
+
a[i] = i + 1;
|
|
49
|
+
b[i] = 0;
|
|
50
|
+
ref[i] = i < 3 ? i + 1 : 0;
|
|
51
|
+
}
|
|
52
|
+
#pragma omp target map(tofrom: b, host_flag)
|
|
53
|
+
{
|
|
54
|
+
host_flag = omp_is_initial_device();
|
|
55
|
+
b[0] = bump();
|
|
56
|
+
b[1] = bump();
|
|
57
|
+
b[2] = bump();
|
|
58
|
+
}
|
|
59
|
+
bool ok = true;
|
|
60
|
+
for (int i = 0; i < n; i++)
|
|
61
|
+
ok = ok && (b[i] == ref[i]);
|
|
62
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
63
|
+
return 0;
|
|
64
|
+
}
|
|
65
|
+
// site:
|
|
66
|
+
// title: nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time ("Failed to find device function") for
|
|
67
|
+
// + function pointers, static locals, VLAs, long double, type-bound calls
|
|
68
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-static-local-kernel-missing-control.c cnt a file-scope variable inside the
|
|
69
|
+
// + declare
|
|
70
|
+
// + target
|
|
71
|
+
// + region instead of a static local
|
|
72
|
+
// same_as: catalog/nvhpc-c-function-pointer-kernel-missing
|
|
73
|
+
// end site
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// # Draft finding: omp52-c-w-vla-local on nvhpc
|
|
2
|
+
//
|
|
3
|
+
// - compiler: nvhpc
|
|
4
|
+
// - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
// - program: catalog omp52-c-w-vla-local (c, version 52, sha256 3eb9b9911edd8b3b)
|
|
6
|
+
// - expected: check=pass (trusted; elision + model)
|
|
7
|
+
// - actual: run_error (exit_status: 1; without mandatory: exit_status: 1) [the confirmer's class run_error; the matrix's class of the same run is wrong_answer: a run that fails]
|
|
8
|
+
// - observed: no diagnostic; the run ends with "Accelerator Fatal Error: Failed to find device function 'nvkernel_main_...'" (25.11 and 26.9, both memory modes): a VLA declared in a target region
|
|
9
|
+
// - 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
|
|
10
|
+
// - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
11
|
+
// - 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)
|
|
12
|
+
// - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
13
|
+
// race rule and the restriction checks, and the AFAR clang front end, not under test here); no
|
|
14
|
+
// compiler under test, gfortran or gcc is a legality witness
|
|
15
|
+
// - witnesses: afar/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
16
|
+
// - withdrawn: none
|
|
17
|
+
//
|
|
18
|
+
// Generated by compliance.widen (OpenMP 5.2, C11; catalog widening). Do not edit.
|
|
19
|
+
// id: omp52-c-w-vla-local
|
|
20
|
+
// primary atom: base.device.vla
|
|
21
|
+
// atoms: base.device.vla
|
|
22
|
+
// legal: yes
|
|
23
|
+
// observable: yes
|
|
24
|
+
// ran_on_host: inside the target region of interest
|
|
25
|
+
// evidence: construct
|
|
26
|
+
// needs: none
|
|
27
|
+
// std: c11
|
|
28
|
+
// feature: a variable-length array declared in a target region
|
|
29
|
+
// spec: OpenMP 5.2 §1.7, p.35: C11 is a normative base language
|
|
30
|
+
#include <stdio.h>
|
|
31
|
+
#include <stdbool.h>
|
|
32
|
+
#include <omp.h>
|
|
33
|
+
|
|
34
|
+
enum { n = 64 };
|
|
35
|
+
|
|
36
|
+
int main(void) {
|
|
37
|
+
int a[n], b[n], ref[n];
|
|
38
|
+
int host_flag = 1;
|
|
39
|
+
int m = n;
|
|
40
|
+
for (int i = 0; i < n; i++) {
|
|
41
|
+
a[i] = i + 1;
|
|
42
|
+
b[i] = 0;
|
|
43
|
+
ref[i] = 2 * (i + 1) + 1;
|
|
44
|
+
}
|
|
45
|
+
#pragma omp target map(to: a, m) map(from: b) map(tofrom: host_flag)
|
|
46
|
+
{
|
|
47
|
+
host_flag = omp_is_initial_device();
|
|
48
|
+
int t[m];
|
|
49
|
+
for (int k = 0; k < m; k++) t[k] = 2 * a[k] + 1;
|
|
50
|
+
for (int k = 0; k < m; k++) b[k] = t[k];
|
|
51
|
+
}
|
|
52
|
+
bool ok = true;
|
|
53
|
+
for (int i = 0; i < n; i++)
|
|
54
|
+
ok = ok && (b[i] == ref[i]);
|
|
55
|
+
printf("RESULT ran_on_host=%d check=%s\n", host_flag, ok ? "pass" : "fail");
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
// site:
|
|
59
|
+
// title: nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time ("Failed to find device function") for
|
|
60
|
+
// + function pointers, static locals, VLAs, long double, type-bound calls
|
|
61
|
+
// control: ../vendor/checks/src/nvhpc/control/nvhpc-c-vla-kernel-missing-control.c int t[n] (a constant size) instead of int t[m]
|
|
62
|
+
// same_as: catalog/nvhpc-c-function-pointer-kernel-missing
|
|
63
|
+
// end site
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
! # Draft finding: omp52-w-type-bound-nopass on nvhpc
|
|
2
|
+
!
|
|
3
|
+
! - compiler: nvhpc
|
|
4
|
+
! - toolchain: nvhpc; arch: sm_80; machine: wingtip; memory mode: copy; opt: -O2
|
|
5
|
+
! - program: catalog omp52-w-type-bound-nopass (f90, version 52, sha256 b1838fc2dcb2b1e6)
|
|
6
|
+
! - expected: check=pass (trusted; elision + model)
|
|
7
|
+
! - actual: run_error (exit_status: 1; without mandatory: exit_status: 1) [the confirmer's class run_error; the matrix's class of
|
|
8
|
+
! the same run is wrong_answer: a run that fails]
|
|
9
|
+
! - observed: the run ends with "Accelerator Fatal Error: Failed to find device function 'nvkernel_MAIN__F1L43_2_'! File
|
|
10
|
+
! was compiled with: -gpu=cc80" (NVHPC 25.11 and 26.9, separate and managed memory): the compile succeeds without generating the
|
|
11
|
+
! kernel of the target region that calls a type-bound procedure; the OpenACC form (acc34-w-type-bound-*) runs the parallel loop on
|
|
12
|
+
! the host instead (ran_on_host=1)
|
|
13
|
+
! - verdict: compiler_bug by rule R20-runtime-bug: a legal program fails at run time, deterministically, against an expected value
|
|
14
|
+
! from two or more independent sources with an executed witness, and another toolchain, mode, arch or the elision gives the
|
|
15
|
+
! expected value
|
|
16
|
+
! - reason: expected trusted check=pass (elision + model): stored main verdict: elision + model agree; witnesses: afar/gfx942/copy,
|
|
17
|
+
! cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
18
|
+
! - citations: RUL-DERIVED-NEEDS-EXECUTION (rulings.md); RUL-WITNESS-PER-MODE (rulings.md);
|
|
19
|
+
! RUL-SAME-COMPILER-RUNS (rulings.md); RUL-PRESENCE-WITNESS (rulings.md); RUL-METAMORPHIC-OTHER-FAMILY
|
|
20
|
+
! (rulings.md)
|
|
21
|
+
! - legality: legal: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
|
|
22
|
+
! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
|
|
23
|
+
! compiler under test, gfortran or gcc is a legality witness
|
|
24
|
+
! - witnesses: afar/gfx942/copy, cce19/gfx942/copy, cce20/gfx942/copy, cce21/gfx942/copy, elision
|
|
25
|
+
! - withdrawn: none
|
|
26
|
+
!
|
|
27
|
+
! Generated by compliance.widen (OpenMP 5.2, free-form Fortran; catalog widening). Do not edit.
|
|
28
|
+
! id: omp52-w-type-bound-nopass
|
|
29
|
+
! primary atom: base.device.type_bound_nopass
|
|
30
|
+
! atoms: base.device.type_bound_nopass
|
|
31
|
+
! legal: yes
|
|
32
|
+
! observable: yes
|
|
33
|
+
! ran_on_host: inside the target region of interest
|
|
34
|
+
! evidence: construct
|
|
35
|
+
! needs: none
|
|
36
|
+
! std: f2008
|
|
37
|
+
! feature: a NOPASS type-bound procedure called through a mapped object in device code
|
|
38
|
+
! 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
|
|
39
|
+
! listed there; this is not one of them)
|
|
40
|
+
module wmod
|
|
41
|
+
implicit none
|
|
42
|
+
type op_t
|
|
43
|
+
integer :: k = 0
|
|
44
|
+
contains
|
|
45
|
+
procedure, nopass :: tw => tw_impl
|
|
46
|
+
end type op_t
|
|
47
|
+
contains
|
|
48
|
+
integer function tw_impl(x)
|
|
49
|
+
!$omp declare target
|
|
50
|
+
integer, intent(in) :: x
|
|
51
|
+
tw_impl = 2*x + 1
|
|
52
|
+
end function tw_impl
|
|
53
|
+
end module wmod
|
|
54
|
+
|
|
55
|
+
program wide_prog
|
|
56
|
+
use omp_lib, only: omp_is_initial_device
|
|
57
|
+
use wmod
|
|
58
|
+
implicit none
|
|
59
|
+
integer, parameter :: n = 64
|
|
60
|
+
integer :: a(n), b(n), ref(n)
|
|
61
|
+
type(op_t) :: op
|
|
62
|
+
integer :: i, host_flag
|
|
63
|
+
logical :: ok
|
|
64
|
+
do i = 1, n
|
|
65
|
+
a(i) = i
|
|
66
|
+
b(i) = 0
|
|
67
|
+
ref(i) = 2*i + 1
|
|
68
|
+
end do
|
|
69
|
+
host_flag = 1
|
|
70
|
+
!$omp target teams distribute parallel do map(to: a, op) map(from: b) map(tofrom: host_flag)
|
|
71
|
+
do i = 1, n
|
|
72
|
+
b(i) = op%tw(a(i))
|
|
73
|
+
if (i == 1) host_flag = merge(1, 0, omp_is_initial_device())
|
|
74
|
+
end do
|
|
75
|
+
!$omp end target teams distribute parallel do
|
|
76
|
+
ok = all(b == ref)
|
|
77
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
78
|
+
end program wide_prog
|
|
79
|
+
! site:
|
|
80
|
+
! title: nvc/nvfortran -mp=gpu: compile succeeds but the kernel is missing at run time ("Failed to find device function") for
|
|
81
|
+
! + function pointers, static locals, VLAs, long double, type-bound calls
|
|
82
|
+
! control: ../vendor/checks/src/nvhpc/control/nvhpc-flang-type-bound-kernel-missing-control.f90 tw_impl called directly instead of
|
|
83
|
+
! + through the
|
|
84
|
+
! + type-bound name op%tw
|
|
85
|
+
! same_as: catalog/nvhpc-c-function-pointer-kernel-missing
|
|
86
|
+
! end site
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
! OpenACC 3.4 §2.14.1 (init; with no clause all devices are initialized)
|
|
2
|
+
! and §2.14.3 (set default_async). Legal. Expected output: ok 2 then
|
|
3
|
+
! ok 2 2. Compile: ftn -h acc -O2. Variants that abort the same way:
|
|
4
|
+
! `!$acc set device_num(0)`, `!$acc shutdown device_type(radeon)` (device-
|
|
5
|
+
! number assertion); `!$acc init device_type(radeon)` works.
|
|
6
|
+
! The catalog's acc34-directive-init, -set and -shutdown programs
|
|
7
|
+
! (no clauses) abort on CCE 19, 20 and 21 in both memory modes and on
|
|
8
|
+
! MI250X: "_cray_acc_init_device ... Incorrect device type set" and, for
|
|
9
|
+
! a plain `!$acc shutdown`, "_cray_acc_shutdown_device ... Shutting down
|
|
10
|
+
! incorrect device type" (results/acc_matrix.jsonl).
|
|
11
|
+
program t
|
|
12
|
+
use openacc
|
|
13
|
+
implicit none
|
|
14
|
+
integer :: a(8), i
|
|
15
|
+
a = 1
|
|
16
|
+
!$acc init
|
|
17
|
+
!$acc parallel loop copy(a)
|
|
18
|
+
do i = 1, 8
|
|
19
|
+
a(i) = 2
|
|
20
|
+
end do
|
|
21
|
+
print *, 'ok', a(1)
|
|
22
|
+
!$acc set default_async(2)
|
|
23
|
+
!$acc parallel loop copy(a) async
|
|
24
|
+
do i = 1, 8
|
|
25
|
+
a(i) = 2
|
|
26
|
+
end do
|
|
27
|
+
!$acc wait(2)
|
|
28
|
+
print *, 'ok', a(1), acc_get_default_async()
|
|
29
|
+
end program t
|
|
30
|
+
! site:
|
|
31
|
+
! title: ftn -h acc: !$acc init and !$acc set default_async abort in the runtime ("Incorrect device type set")
|
|
32
|
+
! control: ../vendor/checks/src/cce/control/cce-acc-init-set-runtime-assert-control.f90 device_type(radeon) added to the init and
|
|
33
|
+
! + set
|
|
34
|
+
! + directives
|
|
35
|
+
! end site
|