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,91 @@
|
|
|
1
|
+
! # Finding (fortran-oop): SELECT TYPE in a declare target procedure takes CLASS DEFAULT for mapped objects of extended types
|
|
2
|
+
!
|
|
3
|
+
! - toolchains and modes that fail: cce19 (CCE 19.0.0: copy, unified), cce20 (CCE 20.0.2: copy, unified), cce21 (CCE 21.0.3: copy,
|
|
4
|
+
! unified), cce21_4 (CCE 21.0.4: copy, unified); -O2
|
|
5
|
+
! - build: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>; OpenACC: ftn -h acc)
|
|
6
|
+
! - failure: wrong_answer (check=fail); OMP_TARGET_OFFLOAD=mandatory
|
|
7
|
+
! - observed: `r1= 0 r2= 0 r3= -1`: the calls with an ext1 and an ext2 actual take the CLASS DEFAULT branch (oop-poly-select-type,
|
|
8
|
+
! every CCE release, both modes); a CLASS(*) dummy classifies every derived-type actual as CLASS DEFAULT (oop-unlimited-classify
|
|
9
|
+
! `r1= 0`, every CCE, both modes); with intrinsic and derived actuals of a CLASS(*) dummy CCE 19 misses only the derived-type
|
|
10
|
+
! actual (oop-unlimited-select-type `r1= 42 r2= 20 r3= 5`, expected r3= 7; CCE 20 and 21 correct). All three programs map
|
|
11
|
+
! non-polymorphic objects from the host and dispatch on them in the device procedure
|
|
12
|
+
! - expected: `r1= 10 r2= 100 r3= -1` (the TYPE IS (ext1) and TYPE IS (ext2) branches run for those actuals)
|
|
13
|
+
! - rule: Fortran 2018 11.1.11 (a TYPE IS guard is chosen when the dynamic type of the selector is that type); a CLASS dummy
|
|
14
|
+
! argument of a declare target procedure is not restricted by OpenMP (5.2 §1.2.6 p.19 l.1-3: the type-bound procedures accessed
|
|
15
|
+
! must be declare target; this program has none)
|
|
16
|
+
! - same-compiler control: the same three calls on the host (controls/host-select-type.f90 and
|
|
17
|
+
! controls/host-class-star-select-type.f90: correct on every CCE release in both modes, results/oop/probe/controls.jsonl)
|
|
18
|
+
! - other families: AFAR correct on all three programs; GCC 16.2 rejects them at compile time (a separate finding:
|
|
19
|
+
! gcc-vtab-not-marked-for-offload.f90)
|
|
20
|
+
! - gate and confirmer: 18 cells, 18 confirmed in the gate's four environments (a-d; results/oop/main/gate_reruns*.jsonl);
|
|
21
|
+
! confirmer (results/oop/main/confirm.jsonl): compiler_bug (R20-runtime-bug) 18
|
|
22
|
+
! - programs (3): oop-poly-select-type, oop-unlimited-classify, oop-unlimited-select-type (offload/engine/oop_gen.py; this file
|
|
23
|
+
! is the
|
|
24
|
+
! first one)
|
|
25
|
+
! - legality: for the cce cells: the rules (offload.engine.rules, with the fortran-oop restrictions) and AFAR's flang front end
|
|
26
|
+
! (-fsyntax-only) (tools/campaigns/oop.py legality, results/oop/main/legality.json)
|
|
27
|
+
module oop_m
|
|
28
|
+
implicit none
|
|
29
|
+
integer, parameter :: n = 64
|
|
30
|
+
type base_t
|
|
31
|
+
integer :: a = 0
|
|
32
|
+
end type base_t
|
|
33
|
+
type, extends(base_t) :: ext1
|
|
34
|
+
integer :: u = 0
|
|
35
|
+
end type ext1
|
|
36
|
+
type, extends(base_t) :: ext2
|
|
37
|
+
integer :: v = 0
|
|
38
|
+
end type ext2
|
|
39
|
+
contains
|
|
40
|
+
subroutine bump(s)
|
|
41
|
+
!$omp declare target
|
|
42
|
+
class(base_t), intent(inout) :: s
|
|
43
|
+
select type (s)
|
|
44
|
+
type is (ext1)
|
|
45
|
+
s%u = s%u + 10
|
|
46
|
+
type is (ext2)
|
|
47
|
+
s%v = s%v + 100
|
|
48
|
+
class default
|
|
49
|
+
s%a = -1
|
|
50
|
+
end select
|
|
51
|
+
end subroutine bump
|
|
52
|
+
end module oop_m
|
|
53
|
+
|
|
54
|
+
program oop
|
|
55
|
+
use omp_lib
|
|
56
|
+
use oop_m
|
|
57
|
+
implicit none
|
|
58
|
+
integer :: host_flag
|
|
59
|
+
logical :: ok
|
|
60
|
+
integer :: r1, r2, r3
|
|
61
|
+
type(ext1) :: e1
|
|
62
|
+
type(ext2) :: e2
|
|
63
|
+
type(base_t) :: b0
|
|
64
|
+
host_flag = 1
|
|
65
|
+
!$omp target map(from: host_flag)
|
|
66
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
67
|
+
!$omp end target
|
|
68
|
+
!$omp target map(tofrom: e1, e2, b0)
|
|
69
|
+
call bump(e1)
|
|
70
|
+
call bump(e2)
|
|
71
|
+
call bump(b0)
|
|
72
|
+
!$omp end target
|
|
73
|
+
r1 = e1%u
|
|
74
|
+
r2 = e2%v
|
|
75
|
+
r3 = b0%a
|
|
76
|
+
ok = .true.
|
|
77
|
+
ok = ok .and. (r1 == 10)
|
|
78
|
+
ok = ok .and. (r2 == 100)
|
|
79
|
+
ok = ok .and. (r3 == -1)
|
|
80
|
+
print '(a,i0)', 'r1= ', r1
|
|
81
|
+
print '(a,i0)', 'r2= ', r2
|
|
82
|
+
print '(a,i0)', 'r3= ', r3
|
|
83
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
84
|
+
end program oop
|
|
85
|
+
! site:
|
|
86
|
+
! title: SELECT TYPE in a device procedure takes the CLASS DEFAULT branch for mapped objects
|
|
87
|
+
! summary: A declare target subroutine with a CLASS(base_t) dummy argument and a SELECT TYPE construct, called in a target region
|
|
88
|
+
! + with objects of two extended types, should run the matching TYPE IS branch. CCE 19, 20 and 21 run the CLASS DEFAULT branch for
|
|
89
|
+
! + every object (the same with a CLASS(*) dummy). The same calls on the host take the right branches. AFAR runs the right branches.
|
|
90
|
+
! control: oop/controls/host-select-type.f90 the same calls of the same procedure on the host
|
|
91
|
+
! end site
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
! # Finding (fortran-oop): declare reduction on a derived type is rejected in target loops (Unsupported OpenMP construct)
|
|
2
|
+
!
|
|
3
|
+
! - toolchains and modes that fail: cce19 (CCE 19.0.0: copy, unified), cce20 (CCE 20.0.2: copy, unified), cce21 (CCE 21.0.3: copy,
|
|
4
|
+
! unified), cce21_4 (CCE 21.0.4: copy, unified); -O2
|
|
5
|
+
! - build: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>; OpenACC: ftn -h acc)
|
|
6
|
+
! - failure: rejected (not_implemented); OMP_TARGET_OFFLOAD=mandatory
|
|
7
|
+
! - observed: `Unsupported OpenMP construct Calls -- $udr_i_1OOP` for every combiner and initializer form (function, subroutine,
|
|
8
|
+
! type-bound operator(+), default initialization, argmax, a parallel do inside target), every CCE release
|
|
9
|
+
! - expected: compiles; `r1= 2080 r2= 4160`
|
|
10
|
+
! - rule: 5.2 §5.5.11 p.139-140 (declare reduction on a derived type); the procedures it calls are declare target (§5.5.2 p.125
|
|
11
|
+
! l.25-27)
|
|
12
|
+
! - other families: AFAR correct on all six (its earlier finding afar-udr-derived-type-link.f90 is a structure constructor
|
|
13
|
+
! combiner); GCC 16.2 correct on all six
|
|
14
|
+
! - gate and confirmer: 48 cells, 48 confirmed in the gate's four environments (a-d; results/oop/main/gate_reruns*.jsonl);
|
|
15
|
+
! confirmer (results/oop/main/confirm.jsonl): unsupported (R05-unsupported) 48
|
|
16
|
+
! - programs (6): oop-dreduce-function, oop-dreduce-subroutine, oop-dreduce-operator, oop-dreduce-default-init,
|
|
17
|
+
! oop-dreduce-argmax, oop-dreduce-nested (offload/engine/oop_gen.py; this file is the first one)
|
|
18
|
+
! - legality: for the cce cells: the rules (offload.engine.rules, with the fortran-oop restrictions) and AFAR's flang front end
|
|
19
|
+
! (-fsyntax-only) (tools/campaigns/oop.py legality, results/oop/main/legality.json)
|
|
20
|
+
module oop_m
|
|
21
|
+
implicit none
|
|
22
|
+
integer, parameter :: n = 64
|
|
23
|
+
type v2
|
|
24
|
+
integer :: x = 0, y = 0
|
|
25
|
+
end type v2
|
|
26
|
+
contains
|
|
27
|
+
function vadd(a, b) result(c)
|
|
28
|
+
!$omp declare target
|
|
29
|
+
type(v2), intent(in) :: a, b
|
|
30
|
+
type(v2) :: c
|
|
31
|
+
c%x = a%x + b%x
|
|
32
|
+
c%y = a%y + b%y
|
|
33
|
+
end function vadd
|
|
34
|
+
end module oop_m
|
|
35
|
+
|
|
36
|
+
program oop
|
|
37
|
+
use omp_lib
|
|
38
|
+
use oop_m
|
|
39
|
+
implicit none
|
|
40
|
+
integer :: host_flag
|
|
41
|
+
logical :: ok
|
|
42
|
+
integer :: r1, r2
|
|
43
|
+
type(v2) :: acc
|
|
44
|
+
integer :: i
|
|
45
|
+
!$omp declare reduction(vsum: v2: omp_out = vadd(omp_out, omp_in)) initializer(omp_priv = v2(0, 0))
|
|
46
|
+
host_flag = 1
|
|
47
|
+
!$omp target map(from: host_flag)
|
|
48
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
49
|
+
!$omp end target
|
|
50
|
+
acc = v2(0, 0)
|
|
51
|
+
!$omp target teams distribute parallel do reduction(vsum: acc)
|
|
52
|
+
do i = 1, n
|
|
53
|
+
acc = vadd(acc, v2(i, 2 * i))
|
|
54
|
+
end do
|
|
55
|
+
r1 = acc%x
|
|
56
|
+
r2 = acc%y
|
|
57
|
+
ok = .true.
|
|
58
|
+
ok = ok .and. (r1 == 2080)
|
|
59
|
+
ok = ok .and. (r2 == 4160)
|
|
60
|
+
print '(a,i0)', 'r1= ', r1
|
|
61
|
+
print '(a,i0)', 'r2= ', r2
|
|
62
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
63
|
+
end program oop
|
|
64
|
+
! site:
|
|
65
|
+
! title: declare reduction on a derived type cannot be used in a target region
|
|
66
|
+
! summary: A user-defined reduction on a derived type (declare reduction with a function, subroutine or type-bound operator
|
|
67
|
+
! + combiner) used on a target teams distribute parallel do is rejected by CCE 19, 20 and 21 ('Unsupported OpenMP construct'). AFAR
|
|
68
|
+
! + and GCC compile and run all six forms correctly.
|
|
69
|
+
! end site
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
! # Finding (fortran-oop): map(tofrom: vk(4)%g(3)) of a component of an array element does not reach the host (CCE 21, both modes)
|
|
2
|
+
!
|
|
3
|
+
! - toolchains and modes that fail: cce21 (CCE 21.0.3: copy, unified), cce21_4 (CCE 21.0.4: copy, unified); -O2
|
|
4
|
+
! - build: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>; OpenACC: ftn -h acc)
|
|
5
|
+
! - failure: wrong_answer (check=fail); OMP_TARGET_OFFLOAD=mandatory
|
|
6
|
+
! - observed: `r1= 0 r2= 0` on CCE 21.0.3 and 21.0.4 at HSA_XNACK=0 and 1; the same for a section vk(5)%g(3:5). The nested form
|
|
7
|
+
! vk(4)%h%c(8) is an internal compiler error on CCE 21 instead, linked to fuzz/s1-3463-cce21.f90 by the confirmer and not
|
|
8
|
+
! counted here
|
|
9
|
+
! - expected: `r1= 74 r2= 74`
|
|
10
|
+
! - rule: 5.2 §5.8.3 p.151 l.13; §5.8.3 p.154 exit step 1a
|
|
11
|
+
! - same-compiler control: the whole element map(tofrom: vk(5)) (controls/elemsec-element.f90): correct on CCE 21 in both modes
|
|
12
|
+
! (results/oop/main/rows.part*.jsonl)
|
|
13
|
+
! - other families: AFAR and GCC 16.2 correct; CCE 19 and 20 fail at HSA_XNACK=0 only
|
|
14
|
+
! - gate and confirmer: 8 cells, 8 confirmed in the gate's four environments (a-d; results/oop/main/gate_reruns*.jsonl); confirmer
|
|
15
|
+
! (results/oop/main/confirm.jsonl): needs_human (R22-expected-weak) 8; R22-expected-weak means the expected value has one
|
|
16
|
+
! source, the generator's Python model; the values follow from the program's arithmetic (checked by hand), and AFAR, GCC 16.2
|
|
17
|
+
! (gfx90a), GCC 16.2 (sm_80), NVHPC 25.11, NVHPC 26.9 print them on this program
|
|
18
|
+
! - programs (2): oop-elemsec-comp-element, oop-elemsec-comp-section (offload/engine/oop_gen.py; this file is the first one)
|
|
19
|
+
! - legality: for the cce cells: the rules (offload.engine.rules, with the fortran-oop restrictions) and AFAR's flang front end
|
|
20
|
+
! (-fsyntax-only) and NVHPC 26.9 nvfortran (compile only) (tools/campaigns/oop.py legality, results/oop/main/legality.json)
|
|
21
|
+
module oop_m
|
|
22
|
+
implicit none
|
|
23
|
+
integer, parameter :: n = 64
|
|
24
|
+
type dc
|
|
25
|
+
integer :: g(20) = 0
|
|
26
|
+
integer :: i = 0
|
|
27
|
+
end type dc
|
|
28
|
+
end module oop_m
|
|
29
|
+
|
|
30
|
+
program oop
|
|
31
|
+
use omp_lib
|
|
32
|
+
use oop_m
|
|
33
|
+
implicit none
|
|
34
|
+
integer :: host_flag
|
|
35
|
+
logical :: ok
|
|
36
|
+
integer :: r1, r2
|
|
37
|
+
type(dc) :: vk(5)
|
|
38
|
+
integer :: l
|
|
39
|
+
host_flag = 1
|
|
40
|
+
!$omp target map(from: host_flag)
|
|
41
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
42
|
+
!$omp end target
|
|
43
|
+
!$omp target map(tofrom: vk(4)%g(3))
|
|
44
|
+
vk(4)%g(3) = 74
|
|
45
|
+
!$omp end target
|
|
46
|
+
r1 = vk(4)%g(3)
|
|
47
|
+
r2 = sum(vk(4)%g)
|
|
48
|
+
ok = .true.
|
|
49
|
+
ok = ok .and. (r1 == 74)
|
|
50
|
+
ok = ok .and. (r2 == 74)
|
|
51
|
+
print '(a,i0)', 'r1= ', r1
|
|
52
|
+
print '(a,i0)', 'r2= ', r2
|
|
53
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
54
|
+
end program oop
|
|
55
|
+
! site:
|
|
56
|
+
! title: a component of an array element mapped tofrom does not come back (CCE 21, both memory modes)
|
|
57
|
+
! summary: map(tofrom: vk(4)%g(3)), an element of a component of an element of an array of structures: the target region's write
|
|
58
|
+
! + is lost on CCE 21.0.3 and 21.0.4 with separate and with unified memory. Mapping the whole element vk(5) works. AFAR and GCC are
|
|
59
|
+
! + correct.
|
|
60
|
+
! control: oop/controls/elemsec-element.f90 the whole array element instead of a component of it
|
|
61
|
+
! same_as: oop/cce-element-component-map-lost
|
|
62
|
+
! end site
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
! control (fortran-oop family program oop-alloccomp-comp-only, correct on every CCE in both modes)
|
|
2
|
+
! fortran-oop alloccomp/comp-only (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! map(tofrom:) of the allocatable component alone
|
|
4
|
+
! spec: OpenMP 5.2 §5.8.3 p.151-155 (map clause); OpenMP 5.2 §13.8 p.286 l.27-28 (other referenced
|
|
5
|
+
! elements of a mapped structure element are mapped too)
|
|
6
|
+
! legality: defined
|
|
7
|
+
! expected (computed by compliance/oop_gen.py): r1= 4160
|
|
8
|
+
module oop_m
|
|
9
|
+
implicit none
|
|
10
|
+
integer, parameter :: n = 64
|
|
11
|
+
type vec
|
|
12
|
+
integer :: n = 0
|
|
13
|
+
integer, allocatable :: a(:)
|
|
14
|
+
end type vec
|
|
15
|
+
end module oop_m
|
|
16
|
+
|
|
17
|
+
program oop
|
|
18
|
+
use omp_lib
|
|
19
|
+
use oop_m
|
|
20
|
+
implicit none
|
|
21
|
+
integer :: host_flag
|
|
22
|
+
logical :: ok
|
|
23
|
+
integer :: r1
|
|
24
|
+
type(vec) :: x
|
|
25
|
+
integer :: i
|
|
26
|
+
host_flag = 1
|
|
27
|
+
!$omp target map(from: host_flag)
|
|
28
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
29
|
+
!$omp end target
|
|
30
|
+
allocate(x%a(n))
|
|
31
|
+
x%n = n
|
|
32
|
+
do i = 1, n
|
|
33
|
+
x%a(i) = i
|
|
34
|
+
end do
|
|
35
|
+
!$omp target teams distribute parallel do map(tofrom: x%a)
|
|
36
|
+
do i = 1, n
|
|
37
|
+
x%a(i) = 2 * x%a(i)
|
|
38
|
+
end do
|
|
39
|
+
r1 = sum(x%a)
|
|
40
|
+
ok = .true.
|
|
41
|
+
ok = ok .and. (r1 == 4160)
|
|
42
|
+
print '(a,i0)', 'r1= ', r1
|
|
43
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
44
|
+
end program oop
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
! control for oop-alloccomp-whole: the same program; one change: map(tofrom: x, x%a) (the component listed) for
|
|
2
|
+
! map(tofrom: x) (the component mapped by the predefined default mapper)
|
|
3
|
+
! fortran-oop alloccomp/whole (OpenMP 5.2, free-form Fortran):
|
|
4
|
+
! map(tofrom:) of a structure with an allocatable array component: the component's data is mapped
|
|
5
|
+
! with it (deep copy)
|
|
6
|
+
! spec: OpenMP 5.2 §5.8.3 p.151 l.29-37 (components from the predefined default mapper); OpenMP 6.0 §B.5
|
|
7
|
+
! p.909 l.35-37 (5.0: mapping of allocatable and pointer components); OpenMP 5.2 §5.8.2 p.150
|
|
8
|
+
! (predefined default mapper)
|
|
9
|
+
! legality: defined
|
|
10
|
+
! expected (computed by compliance/oop_gen.py): r1= 10336, r2= 256
|
|
11
|
+
module oop_m
|
|
12
|
+
implicit none
|
|
13
|
+
integer, parameter :: n = 64
|
|
14
|
+
type vec
|
|
15
|
+
integer :: n = 0
|
|
16
|
+
integer, allocatable :: a(:)
|
|
17
|
+
end type vec
|
|
18
|
+
end module oop_m
|
|
19
|
+
|
|
20
|
+
program oop
|
|
21
|
+
use omp_lib
|
|
22
|
+
use oop_m
|
|
23
|
+
implicit none
|
|
24
|
+
integer :: host_flag
|
|
25
|
+
logical :: ok
|
|
26
|
+
integer :: r1, r2
|
|
27
|
+
type(vec) :: x
|
|
28
|
+
integer :: i
|
|
29
|
+
host_flag = 1
|
|
30
|
+
!$omp target map(from: host_flag)
|
|
31
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
32
|
+
!$omp end target
|
|
33
|
+
allocate(x%a(n))
|
|
34
|
+
x%n = n
|
|
35
|
+
do i = 1, n
|
|
36
|
+
x%a(i) = i
|
|
37
|
+
end do
|
|
38
|
+
!$omp target teams distribute parallel do map(tofrom: x, x%a)
|
|
39
|
+
do i = 1, n
|
|
40
|
+
x%a(i) = 3 * x%a(i) + x%n
|
|
41
|
+
end do
|
|
42
|
+
r1 = sum(x%a)
|
|
43
|
+
r2 = x%a(n)
|
|
44
|
+
ok = .true.
|
|
45
|
+
ok = ok .and. (r1 == 10336)
|
|
46
|
+
ok = ok .and. (r2 == 256)
|
|
47
|
+
print '(a,i0)', 'r1= ', r1
|
|
48
|
+
print '(a,i0)', 'r2= ', r2
|
|
49
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
50
|
+
end program oop
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
! control (fortran-oop family program oop-alloccomp-whole, correct on every CCE in both modes)
|
|
2
|
+
! fortran-oop alloccomp/whole (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! map(tofrom:) of a structure with an allocatable array component: the component's data is mapped
|
|
4
|
+
! with it (deep copy)
|
|
5
|
+
! spec: OpenMP 5.2 §5.8.3 p.151 l.29-37 (components from the predefined default mapper); OpenMP 6.0 §B.5
|
|
6
|
+
! p.909 l.35-37 (5.0: mapping of allocatable and pointer components); OpenMP 5.2 §5.8.2 p.150
|
|
7
|
+
! (predefined default mapper)
|
|
8
|
+
! legality: defined
|
|
9
|
+
! expected (computed by compliance/oop_gen.py): r1= 10336, r2= 256
|
|
10
|
+
module oop_m
|
|
11
|
+
implicit none
|
|
12
|
+
integer, parameter :: n = 64
|
|
13
|
+
type vec
|
|
14
|
+
integer :: n = 0
|
|
15
|
+
integer, allocatable :: a(:)
|
|
16
|
+
end type vec
|
|
17
|
+
end module oop_m
|
|
18
|
+
|
|
19
|
+
program oop
|
|
20
|
+
use omp_lib
|
|
21
|
+
use oop_m
|
|
22
|
+
implicit none
|
|
23
|
+
integer :: host_flag
|
|
24
|
+
logical :: ok
|
|
25
|
+
integer :: r1, r2
|
|
26
|
+
type(vec) :: x
|
|
27
|
+
integer :: i
|
|
28
|
+
host_flag = 1
|
|
29
|
+
!$omp target map(from: host_flag)
|
|
30
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
31
|
+
!$omp end target
|
|
32
|
+
allocate(x%a(n))
|
|
33
|
+
x%n = n
|
|
34
|
+
do i = 1, n
|
|
35
|
+
x%a(i) = i
|
|
36
|
+
end do
|
|
37
|
+
!$omp target teams distribute parallel do map(tofrom: x)
|
|
38
|
+
do i = 1, n
|
|
39
|
+
x%a(i) = 3 * x%a(i) + x%n
|
|
40
|
+
end do
|
|
41
|
+
r1 = sum(x%a)
|
|
42
|
+
r2 = x%a(n)
|
|
43
|
+
ok = .true.
|
|
44
|
+
ok = ok .and. (r1 == 10336)
|
|
45
|
+
ok = ok .and. (r2 == 256)
|
|
46
|
+
print '(a,i0)', 'r1= ', r1
|
|
47
|
+
print '(a,i0)', 'r2= ', r2
|
|
48
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
49
|
+
end program oop
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
! control (fortran-oop family program oop-elemsec-element, correct on every CCE in both modes)
|
|
2
|
+
! fortran-oop elemsec/element (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! map(tofrom: vk(5)): one element of an array of structures
|
|
4
|
+
! spec: OpenMP 5.2 §5.8.3 p.151 l.13 (structure elements and array sections are list items); §5.8.3
|
|
5
|
+
! p.157 l.21-22; OpenMP 5.2 §5.8.3 p.151-155 (map clause)
|
|
6
|
+
! legality: defined
|
|
7
|
+
! expected (computed by compliance/oop_gen.py): r1= 610, r2= 40, r3= 0
|
|
8
|
+
module oop_m
|
|
9
|
+
implicit none
|
|
10
|
+
integer, parameter :: n = 64
|
|
11
|
+
type dc
|
|
12
|
+
integer :: g(20) = 0
|
|
13
|
+
integer :: i = 0
|
|
14
|
+
end type dc
|
|
15
|
+
end module oop_m
|
|
16
|
+
|
|
17
|
+
program oop
|
|
18
|
+
use omp_lib
|
|
19
|
+
use oop_m
|
|
20
|
+
implicit none
|
|
21
|
+
integer :: host_flag
|
|
22
|
+
logical :: ok
|
|
23
|
+
integer :: r1, r2, r3
|
|
24
|
+
type(dc) :: vk(5)
|
|
25
|
+
integer :: l
|
|
26
|
+
host_flag = 1
|
|
27
|
+
!$omp target map(from: host_flag)
|
|
28
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
29
|
+
!$omp end target
|
|
30
|
+
!$omp target map(tofrom: vk(5))
|
|
31
|
+
do l = 1, 20
|
|
32
|
+
vk(5)%g(l) = 20 + l
|
|
33
|
+
end do
|
|
34
|
+
vk(5)%i = 40
|
|
35
|
+
!$omp end target
|
|
36
|
+
r1 = sum(vk(5)%g)
|
|
37
|
+
r2 = vk(5)%i
|
|
38
|
+
r3 = sum(vk(4)%g)
|
|
39
|
+
ok = .true.
|
|
40
|
+
ok = ok .and. (r1 == 610)
|
|
41
|
+
ok = ok .and. (r2 == 40)
|
|
42
|
+
ok = ok .and. (r3 == 0)
|
|
43
|
+
print '(a,i0)', 'r1= ', r1
|
|
44
|
+
print '(a,i0)', 'r2= ', r2
|
|
45
|
+
print '(a,i0)', 'r3= ', r3
|
|
46
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
47
|
+
end program oop
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
! control for oop-assignfinal-final-dealloc: the family program oop-assignfinal-final-local (a non-allocatable local of
|
|
2
|
+
! the same finalizable type; no ALLOCATE/DEALLOCATE)
|
|
3
|
+
! fortran-oop assignfinal/final-local (OpenMP 5.2, free-form Fortran):
|
|
4
|
+
! a local object of a finalizable type in a declare target subroutine is finalized on return (the
|
|
5
|
+
! final subroutine counts on the device)
|
|
6
|
+
! spec: Fortran 2018 7.5.6.3 (when finalization occurs); OpenMP 5.2 §1.2.6 p.19 (type-bound procedures
|
|
7
|
+
! in declare target); OpenMP 5.2 §7.8.1 p.205-207 (declare target, procedures)
|
|
8
|
+
! legality: defined
|
|
9
|
+
! expected (computed by compliance/oop_gen.py): r1= 64, r2= 4160
|
|
10
|
+
module oop_m
|
|
11
|
+
implicit none
|
|
12
|
+
integer, parameter :: n = 64
|
|
13
|
+
type ft
|
|
14
|
+
integer :: v = 0
|
|
15
|
+
contains
|
|
16
|
+
final :: ft_fin
|
|
17
|
+
end type ft
|
|
18
|
+
integer :: fin_count = 0
|
|
19
|
+
!$omp declare target to(fin_count)
|
|
20
|
+
contains
|
|
21
|
+
subroutine ft_fin(o)
|
|
22
|
+
!$omp declare target
|
|
23
|
+
type(ft), intent(inout) :: o
|
|
24
|
+
!$omp atomic update
|
|
25
|
+
fin_count = fin_count + 1
|
|
26
|
+
end subroutine ft_fin
|
|
27
|
+
subroutine work(k, r)
|
|
28
|
+
!$omp declare target
|
|
29
|
+
integer, intent(in) :: k
|
|
30
|
+
integer, intent(out) :: r
|
|
31
|
+
type(ft) :: o
|
|
32
|
+
o%v = k
|
|
33
|
+
r = 2 * o%v
|
|
34
|
+
end subroutine work
|
|
35
|
+
end module oop_m
|
|
36
|
+
|
|
37
|
+
program oop
|
|
38
|
+
use omp_lib
|
|
39
|
+
use oop_m
|
|
40
|
+
implicit none
|
|
41
|
+
integer :: host_flag
|
|
42
|
+
logical :: ok
|
|
43
|
+
integer :: r1, r2
|
|
44
|
+
integer :: res(n), i
|
|
45
|
+
host_flag = 1
|
|
46
|
+
!$omp target map(from: host_flag)
|
|
47
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
48
|
+
!$omp end target
|
|
49
|
+
fin_count = 0
|
|
50
|
+
!$omp target update to(fin_count)
|
|
51
|
+
!$omp target teams distribute parallel do map(tofrom: res)
|
|
52
|
+
do i = 1, n
|
|
53
|
+
call work(i, res(i))
|
|
54
|
+
end do
|
|
55
|
+
!$omp target update from(fin_count)
|
|
56
|
+
r1 = fin_count
|
|
57
|
+
r2 = sum(res)
|
|
58
|
+
ok = .true.
|
|
59
|
+
ok = ok .and. (r1 == 64)
|
|
60
|
+
ok = ok .and. (r2 == 4160)
|
|
61
|
+
print '(a,i0)', 'r1= ', r1
|
|
62
|
+
print '(a,i0)', 'r2= ', r2
|
|
63
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
64
|
+
end program oop
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
! control for oop-unlimited-classify: the same calls on the host (one change: no target construct)
|
|
2
|
+
! fortran-oop unlimited/classify (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! a CLASS(*) function classifying array elements of two derived types in a target teams distribute
|
|
4
|
+
! parallel do
|
|
5
|
+
! spec: OpenMP 5.2 §7.8.1 p.205-207 (declare target, procedures); OpenMP 5.2 §5.3 p.107 l.17-19 (SELECT
|
|
6
|
+
! TYPE in OpenMP regions); Fortran 2018 11.1.11 (SELECT TYPE)
|
|
7
|
+
! legality: defined
|
|
8
|
+
! expected (computed by compliance/oop_gen.py): r1= 320
|
|
9
|
+
module oop_m
|
|
10
|
+
implicit none
|
|
11
|
+
integer, parameter :: n = 64
|
|
12
|
+
type pt
|
|
13
|
+
integer :: a = 0
|
|
14
|
+
end type pt
|
|
15
|
+
type qt
|
|
16
|
+
integer :: b = 0
|
|
17
|
+
end type qt
|
|
18
|
+
contains
|
|
19
|
+
integer function code_of(x)
|
|
20
|
+
!$omp declare target
|
|
21
|
+
class(*), intent(in) :: x
|
|
22
|
+
select type (x)
|
|
23
|
+
type is (integer)
|
|
24
|
+
code_of = 1
|
|
25
|
+
type is (pt)
|
|
26
|
+
code_of = 2
|
|
27
|
+
type is (qt)
|
|
28
|
+
code_of = 3
|
|
29
|
+
class default
|
|
30
|
+
code_of = 0
|
|
31
|
+
end select
|
|
32
|
+
end function code_of
|
|
33
|
+
end module oop_m
|
|
34
|
+
|
|
35
|
+
program oop
|
|
36
|
+
use omp_lib
|
|
37
|
+
use oop_m
|
|
38
|
+
implicit none
|
|
39
|
+
integer :: host_flag
|
|
40
|
+
logical :: ok
|
|
41
|
+
integer :: r1
|
|
42
|
+
type(pt) :: ps(n)
|
|
43
|
+
type(qt) :: qs(n)
|
|
44
|
+
integer :: i, tot
|
|
45
|
+
host_flag = 1
|
|
46
|
+
!$omp target map(from: host_flag)
|
|
47
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
48
|
+
!$omp end target
|
|
49
|
+
tot = 0
|
|
50
|
+
do i = 1, n
|
|
51
|
+
tot = tot + code_of(ps(i)) + code_of(qs(i))
|
|
52
|
+
end do
|
|
53
|
+
r1 = tot
|
|
54
|
+
ok = .true.
|
|
55
|
+
ok = ok .and. (r1 == 320)
|
|
56
|
+
print '(a,i0)', 'r1= ', r1
|
|
57
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
58
|
+
end program oop
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
! control for oop-assignfinal-firstprivate: the same firstprivate(x) on a host parallel construct (one change: parallel for target)
|
|
2
|
+
! fortran-oop assignfinal/firstprivate (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! firstprivate(x) on a target construct initializes the new list item as if by the type-bound
|
|
4
|
+
! defined assignment
|
|
5
|
+
! spec: OpenMP 5.2 §5.4.4 p.113 l.3-6 (firstprivate initialization by a compatible type-bound defined
|
|
6
|
+
! assignment); OpenMP 5.2 §1.2.6 p.19 l.1-3 (type-bound procedures accessed in a target region
|
|
7
|
+
! appear in a declare target directive)
|
|
8
|
+
! legality: defined
|
|
9
|
+
! expected (computed by compliance/oop_gen.py): r1= 1, r2= 5
|
|
10
|
+
module oop_m
|
|
11
|
+
implicit none
|
|
12
|
+
integer, parameter :: n = 64
|
|
13
|
+
type ct
|
|
14
|
+
integer :: v = 0
|
|
15
|
+
integer :: copies = 0
|
|
16
|
+
contains
|
|
17
|
+
procedure :: asg => ct_asg
|
|
18
|
+
generic :: assignment(=) => asg
|
|
19
|
+
end type ct
|
|
20
|
+
contains
|
|
21
|
+
subroutine ct_asg(a, b)
|
|
22
|
+
!$omp declare target
|
|
23
|
+
class(ct), intent(inout) :: a
|
|
24
|
+
class(ct), intent(in) :: b
|
|
25
|
+
a%v = b%v
|
|
26
|
+
a%copies = b%copies + 1
|
|
27
|
+
end subroutine ct_asg
|
|
28
|
+
end module oop_m
|
|
29
|
+
|
|
30
|
+
program oop
|
|
31
|
+
use omp_lib
|
|
32
|
+
use oop_m
|
|
33
|
+
implicit none
|
|
34
|
+
integer :: host_flag
|
|
35
|
+
logical :: ok
|
|
36
|
+
integer :: r1, r2
|
|
37
|
+
type(ct) :: x
|
|
38
|
+
host_flag = 1
|
|
39
|
+
!$omp target map(from: host_flag)
|
|
40
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
41
|
+
!$omp end target
|
|
42
|
+
x%v = 5
|
|
43
|
+
x%copies = 0
|
|
44
|
+
!$omp parallel firstprivate(x) num_threads(1)
|
|
45
|
+
r1 = x%copies
|
|
46
|
+
r2 = x%v
|
|
47
|
+
!$omp end parallel
|
|
48
|
+
ok = .true.
|
|
49
|
+
ok = ok .and. (r1 == 1)
|
|
50
|
+
ok = ok .and. (r2 == 5)
|
|
51
|
+
print '(a,i0)', 'r1= ', r1
|
|
52
|
+
print '(a,i0)', 'r2= ', r2
|
|
53
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
54
|
+
end program oop
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
! control for oop-assignfinal-lastprivate: the same parallel do lastprivate(w) on the host (one change: no enclosing target)
|
|
2
|
+
! fortran-oop assignfinal/lastprivate (OpenMP 5.2, free-form Fortran):
|
|
3
|
+
! lastprivate(w) of a parallel do in a target region: the original is updated as if by the
|
|
4
|
+
! type-bound defined assignment
|
|
5
|
+
! spec: OpenMP 5.2 §5.4.5 p.115 l.24-25 (lastprivate update by a type-bound defined assignment); OpenMP
|
|
6
|
+
! 5.2 §1.2.6 p.19 l.1-3 (type-bound procedures accessed in a target region appear in a declare
|
|
7
|
+
! target directive)
|
|
8
|
+
! legality: defined
|
|
9
|
+
! expected (computed by compliance/oop_gen.py): r1= 64, r2= 1
|
|
10
|
+
module oop_m
|
|
11
|
+
implicit none
|
|
12
|
+
integer, parameter :: n = 64
|
|
13
|
+
type ct
|
|
14
|
+
integer :: v = 0
|
|
15
|
+
integer :: copies = 0
|
|
16
|
+
contains
|
|
17
|
+
procedure :: asg => ct_asg
|
|
18
|
+
generic :: assignment(=) => asg
|
|
19
|
+
end type ct
|
|
20
|
+
contains
|
|
21
|
+
subroutine ct_asg(a, b)
|
|
22
|
+
!$omp declare target
|
|
23
|
+
class(ct), intent(inout) :: a
|
|
24
|
+
class(ct), intent(in) :: b
|
|
25
|
+
a%v = b%v
|
|
26
|
+
a%copies = b%copies + 1
|
|
27
|
+
end subroutine ct_asg
|
|
28
|
+
end module oop_m
|
|
29
|
+
|
|
30
|
+
program oop
|
|
31
|
+
use omp_lib
|
|
32
|
+
use oop_m
|
|
33
|
+
implicit none
|
|
34
|
+
integer :: host_flag
|
|
35
|
+
logical :: ok
|
|
36
|
+
integer :: r1, r2
|
|
37
|
+
type(ct) :: w
|
|
38
|
+
integer :: i
|
|
39
|
+
host_flag = 1
|
|
40
|
+
!$omp target map(from: host_flag)
|
|
41
|
+
host_flag = merge(1, 0, omp_is_initial_device())
|
|
42
|
+
!$omp end target
|
|
43
|
+
w%v = -1
|
|
44
|
+
w%copies = 0
|
|
45
|
+
!$omp parallel do lastprivate(w)
|
|
46
|
+
do i = 1, n
|
|
47
|
+
w%v = i
|
|
48
|
+
w%copies = 0
|
|
49
|
+
end do
|
|
50
|
+
r1 = w%v
|
|
51
|
+
r2 = w%copies
|
|
52
|
+
ok = .true.
|
|
53
|
+
ok = ok .and. (r1 == 64)
|
|
54
|
+
ok = ok .and. (r2 == 1)
|
|
55
|
+
print '(a,i0)', 'r1= ', r1
|
|
56
|
+
print '(a,i0)', 'r2= ', r2
|
|
57
|
+
print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
|
|
58
|
+
end program oop
|