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,2047 @@
|
|
|
1
|
+
# Vendor claims for the first slice (OpenMP, free-form Fortran, target offload).
|
|
2
|
+
#
|
|
3
|
+
# Read by offload/engine/report.py (load_claims, compare_claims). Every entry is
|
|
4
|
+
# `status: provisional`: the mapping from a vendor's prose to catalog atoms is
|
|
5
|
+
# this project's reading and awaits the maintainer's review.
|
|
6
|
+
#
|
|
7
|
+
# Fields
|
|
8
|
+
# source short id of the document (see the sources list below)
|
|
9
|
+
# url where the claim is published (the citation)
|
|
10
|
+
# toolchain afar | cce19 (the compiler the claim is compared with)
|
|
11
|
+
# atom / atoms catalog atoms the claim covers (or `pattern`, an fnmatch glob)
|
|
12
|
+
# claim supported | unsupported | partial
|
|
13
|
+
# form optional: compile_error (an unsupported feature is a compile
|
|
14
|
+
# error, so anything but rejection contradicts it) or accepted
|
|
15
|
+
# (a partial feature is accepted, so rejection contradicts it)
|
|
16
|
+
# general true for a release-level statement ("full OpenMP 4.5"); it
|
|
17
|
+
# applies to an atom only when no specific claim for the same
|
|
18
|
+
# toolchain covers that atom
|
|
19
|
+
# versions optional: catalog versions (52, 60) the claim is compared at.
|
|
20
|
+
# Release-level 4.5/5.0 claims are compared with the 5.2
|
|
21
|
+
# programs only; 6.0 spellings are outside such claims.
|
|
22
|
+
# quote the vendor's words (verbatim, or "feature | status" for a
|
|
23
|
+
# status-table row)
|
|
24
|
+
# language language the vendor's statement is about
|
|
25
|
+
# version_note which compiler or release the document describes
|
|
26
|
+
#
|
|
27
|
+
# Sources
|
|
28
|
+
# hpe-cce-intro-openmp HPE intro_openmp(7). The quoted sentences are
|
|
29
|
+
# also in the man page shipped with CCE 19.0.0
|
|
30
|
+
# (/opt/cray/pe/cce/19.0.0/man/man7/intro_openmp.7,
|
|
31
|
+
# checked 2026-10-18); the web page describes the
|
|
32
|
+
# current release.
|
|
33
|
+
# rocm-openmp-support AMD "ROCm OpenMP support": "fully supports the
|
|
34
|
+
# OpenMP 4.5 standard and a subset of OpenMP 5.0,
|
|
35
|
+
# 5.1, and 5.2 standards" (release-level, ROCm 7.x
|
|
36
|
+
# LLVM; no per-feature list).
|
|
37
|
+
# rocm-clang-openmp-status AMD-hosted Clang 20.0.0git OpenMPSupport table:
|
|
38
|
+
# C/C++ only, older than AFAR's 24.0.0git; a
|
|
39
|
+
# purported column for amdflang.
|
|
40
|
+
# afar-flang-openmp-status flang/docs/OpenMPSupport.md at the exact AFAR
|
|
41
|
+
# 24.3.0 source commit of ROCm/llvm-project
|
|
42
|
+
# (copied to data/index/claims/amdflang_afar_openmp_status.csv).
|
|
43
|
+
# Status good -> supported, part / progress ->
|
|
44
|
+
# partial, none -> unsupported. Quotes use the CSV
|
|
45
|
+
# transcription's status codes; the rendered page
|
|
46
|
+
# words them differently (good is shown as done,
|
|
47
|
+
# none as unclaimed).
|
|
48
|
+
# afar-flang-lowering-todo flang/test/Lower/OpenMP/Todo tests at the same
|
|
49
|
+
# commit: the lowering stops with "not yet
|
|
50
|
+
# implemented" (the doc calls these authoritative).
|
|
51
|
+
# Listed in data/index/claims/amdflang_afar_lowering_todo_tests.txt.
|
|
52
|
+
|
|
53
|
+
claims:
|
|
54
|
+
|
|
55
|
+
# --- HPE CCE (cce19) ----------------------------------------------------------------
|
|
56
|
+
|
|
57
|
+
- source: hpe-cce-intro-openmp
|
|
58
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
59
|
+
general: true
|
|
60
|
+
versions: [52]
|
|
61
|
+
claim: supported
|
|
62
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
|
|
63
|
+
note: "Atoms that exist in OpenMP 4.5 (full 5.0 includes them)."
|
|
64
|
+
language: Fortran and C/C++
|
|
65
|
+
version_note: &hpe_note "intro_openmp(7); same text in the CCE 19.0.0 man page"
|
|
66
|
+
status: provisional
|
|
67
|
+
atoms: &omp45
|
|
68
|
+
- omp.directive.target
|
|
69
|
+
- omp.directive.target_data
|
|
70
|
+
- omp.directive.target_enter_data
|
|
71
|
+
- omp.directive.target_exit_data
|
|
72
|
+
- omp.directive.target_update
|
|
73
|
+
- omp.directive.teams
|
|
74
|
+
- omp.directive.distribute
|
|
75
|
+
- omp.directive.distribute_simd
|
|
76
|
+
- omp.directive.distribute_parallel_do
|
|
77
|
+
- omp.directive.distribute_parallel_do_simd
|
|
78
|
+
- omp.directive.declare_target
|
|
79
|
+
- omp.directive.parallel_do
|
|
80
|
+
- omp.directive.parallel_do_simd
|
|
81
|
+
- omp.directive.target_parallel
|
|
82
|
+
- omp.directive.target_parallel_do
|
|
83
|
+
- omp.directive.target_parallel_do_simd
|
|
84
|
+
- omp.directive.target_simd
|
|
85
|
+
- omp.directive.target_teams
|
|
86
|
+
- omp.directive.target_teams_distribute
|
|
87
|
+
- omp.directive.target_teams_distribute_simd
|
|
88
|
+
- omp.directive.target_teams_distribute_parallel_do
|
|
89
|
+
- omp.directive.target_teams_distribute_parallel_do_simd
|
|
90
|
+
- omp.directive.teams_distribute
|
|
91
|
+
- omp.directive.teams_distribute_simd
|
|
92
|
+
- omp.directive.teams_distribute_parallel_do
|
|
93
|
+
- omp.directive.teams_distribute_parallel_do_simd
|
|
94
|
+
- omp.clause.map
|
|
95
|
+
- omp.clause.map.to
|
|
96
|
+
- omp.clause.map.from
|
|
97
|
+
- omp.clause.map.tofrom
|
|
98
|
+
- omp.clause.map.alloc
|
|
99
|
+
- omp.clause.map.release
|
|
100
|
+
- omp.clause.map.delete
|
|
101
|
+
- omp.clause.map.always
|
|
102
|
+
- omp.clause.defaultmap
|
|
103
|
+
- omp.clause.defaultmap.tofrom
|
|
104
|
+
- omp.clause.defaultmap.scalar
|
|
105
|
+
- omp.clause.is_device_ptr
|
|
106
|
+
- omp.clause.use_device_ptr
|
|
107
|
+
- omp.clause.device
|
|
108
|
+
- omp.clause.if
|
|
109
|
+
- omp.clause.if.directive_name
|
|
110
|
+
- omp.clause.depend
|
|
111
|
+
- omp.clause.depend.in
|
|
112
|
+
- omp.clause.depend.out
|
|
113
|
+
- omp.clause.depend.inout
|
|
114
|
+
- omp.clause.nowait
|
|
115
|
+
- omp.clause.private
|
|
116
|
+
- omp.clause.firstprivate
|
|
117
|
+
- omp.clause.lastprivate
|
|
118
|
+
- omp.clause.shared
|
|
119
|
+
- omp.clause.default
|
|
120
|
+
- omp.clause.default.shared
|
|
121
|
+
- omp.clause.default.none
|
|
122
|
+
- omp.clause.reduction
|
|
123
|
+
- omp.clause.reduction.plus
|
|
124
|
+
- omp.clause.reduction.times
|
|
125
|
+
- omp.clause.reduction.minus
|
|
126
|
+
- omp.clause.reduction.max
|
|
127
|
+
- omp.clause.reduction.min
|
|
128
|
+
- omp.clause.reduction.iand
|
|
129
|
+
- omp.clause.reduction.ior
|
|
130
|
+
- omp.clause.reduction.ieor
|
|
131
|
+
- omp.clause.reduction.and
|
|
132
|
+
- omp.clause.reduction.or
|
|
133
|
+
- omp.clause.reduction.eqv
|
|
134
|
+
- omp.clause.reduction.neqv
|
|
135
|
+
- omp.clause.collapse
|
|
136
|
+
- omp.clause.dist_schedule
|
|
137
|
+
- omp.clause.dist_schedule.static
|
|
138
|
+
- omp.clause.dist_schedule.chunk_size
|
|
139
|
+
- omp.clause.schedule
|
|
140
|
+
- omp.clause.schedule.static
|
|
141
|
+
- omp.clause.schedule.dynamic
|
|
142
|
+
- omp.clause.schedule.guided
|
|
143
|
+
- omp.clause.schedule.auto
|
|
144
|
+
- omp.clause.schedule.runtime
|
|
145
|
+
- omp.clause.schedule.chunk_size
|
|
146
|
+
- omp.clause.schedule.monotonic
|
|
147
|
+
- omp.clause.schedule.nonmonotonic
|
|
148
|
+
- omp.clause.schedule.simd
|
|
149
|
+
- omp.clause.ordered
|
|
150
|
+
- omp.clause.ordered.n
|
|
151
|
+
- omp.clause.linear
|
|
152
|
+
- omp.clause.linear.val
|
|
153
|
+
- omp.clause.linear.ref
|
|
154
|
+
- omp.clause.linear.uval
|
|
155
|
+
- omp.clause.linear.step_simple_modifier
|
|
156
|
+
- omp.clause.aligned
|
|
157
|
+
- omp.clause.aligned.alignment
|
|
158
|
+
- omp.clause.safelen
|
|
159
|
+
- omp.clause.simdlen
|
|
160
|
+
- omp.clause.num_teams
|
|
161
|
+
- omp.clause.thread_limit
|
|
162
|
+
- omp.clause.num_threads
|
|
163
|
+
- omp.clause.proc_bind
|
|
164
|
+
- omp.clause.proc_bind.master
|
|
165
|
+
- omp.clause.proc_bind.close
|
|
166
|
+
- omp.clause.proc_bind.spread
|
|
167
|
+
- omp.clause.copyin
|
|
168
|
+
- omp.clause.to
|
|
169
|
+
- omp.clause.from
|
|
170
|
+
- omp.clause.link
|
|
171
|
+
|
|
172
|
+
- source: hpe-cce-intro-openmp
|
|
173
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
174
|
+
general: true
|
|
175
|
+
versions: [52]
|
|
176
|
+
claim: supported
|
|
177
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
|
|
178
|
+
note: "Atoms new in OpenMP 5.0 (OpenMP 5.0 Appendix B, 4.5 to 5.0 differences)."
|
|
179
|
+
language: Fortran and C/C++
|
|
180
|
+
version_note: *hpe_note
|
|
181
|
+
status: provisional
|
|
182
|
+
atoms: &omp50
|
|
183
|
+
- omp.directive.requires
|
|
184
|
+
- omp.directive.loop
|
|
185
|
+
- omp.directive.parallel_loop
|
|
186
|
+
- omp.directive.target_parallel_loop
|
|
187
|
+
- omp.directive.target_teams_loop
|
|
188
|
+
- omp.directive.teams_loop
|
|
189
|
+
- omp.clause.unified_shared_memory
|
|
190
|
+
- omp.clause.unified_address
|
|
191
|
+
- omp.clause.atomic_default_mem_order
|
|
192
|
+
- omp.clause.atomic_default_mem_order.seq_cst
|
|
193
|
+
- omp.clause.atomic_default_mem_order.acq_rel
|
|
194
|
+
- omp.clause.atomic_default_mem_order.relaxed
|
|
195
|
+
- omp.clause.bind
|
|
196
|
+
- omp.clause.bind.teams
|
|
197
|
+
- omp.clause.bind.parallel
|
|
198
|
+
- omp.clause.bind.thread
|
|
199
|
+
- omp.clause.order
|
|
200
|
+
- omp.clause.order.concurrent
|
|
201
|
+
- omp.clause.map.mapper
|
|
202
|
+
- omp.clause.use_device_addr
|
|
203
|
+
- omp.clause.device_type
|
|
204
|
+
- omp.clause.device_type.any
|
|
205
|
+
- omp.clause.device_type.host
|
|
206
|
+
- omp.clause.device_type.nohost
|
|
207
|
+
- omp.clause.depend.mutexinoutset
|
|
208
|
+
- omp.clause.depend.depobj
|
|
209
|
+
- omp.clause.depend.iterator
|
|
210
|
+
- omp.clause.in_reduction
|
|
211
|
+
- omp.clause.in_reduction.plus
|
|
212
|
+
- omp.clause.in_reduction.times
|
|
213
|
+
- omp.clause.in_reduction.minus
|
|
214
|
+
- omp.clause.in_reduction.max
|
|
215
|
+
- omp.clause.in_reduction.min
|
|
216
|
+
- omp.clause.in_reduction.iand
|
|
217
|
+
- omp.clause.in_reduction.ior
|
|
218
|
+
- omp.clause.in_reduction.ieor
|
|
219
|
+
- omp.clause.in_reduction.and
|
|
220
|
+
- omp.clause.in_reduction.or
|
|
221
|
+
- omp.clause.in_reduction.eqv
|
|
222
|
+
- omp.clause.in_reduction.neqv
|
|
223
|
+
- omp.clause.reduction.task
|
|
224
|
+
- omp.clause.reduction.inscan
|
|
225
|
+
- omp.clause.reduction.default
|
|
226
|
+
- omp.clause.lastprivate.conditional
|
|
227
|
+
- omp.clause.allocate
|
|
228
|
+
- omp.clause.allocate.allocator_simple_modifier
|
|
229
|
+
- omp.clause.uses_allocators
|
|
230
|
+
- omp.clause.defaultmap.alloc
|
|
231
|
+
- omp.clause.defaultmap.to
|
|
232
|
+
- omp.clause.defaultmap.from
|
|
233
|
+
- omp.clause.defaultmap.firstprivate
|
|
234
|
+
- omp.clause.defaultmap.none
|
|
235
|
+
- omp.clause.defaultmap.default
|
|
236
|
+
- omp.clause.defaultmap.aggregate
|
|
237
|
+
- omp.clause.defaultmap.pointer
|
|
238
|
+
- omp.clause.defaultmap.allocatable
|
|
239
|
+
- omp.clause.device.ancestor
|
|
240
|
+
- omp.clause.device.device_num
|
|
241
|
+
- omp.clause.nontemporal
|
|
242
|
+
|
|
243
|
+
- source: hpe-cce-intro-openmp
|
|
244
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
245
|
+
claim: unsupported
|
|
246
|
+
form: compile_error
|
|
247
|
+
quote: "The requires directive clauses dynamic_allocators and reverse_offload currently result in compile time errors."
|
|
248
|
+
language: Fortran and C/C++
|
|
249
|
+
version_note: *hpe_note
|
|
250
|
+
status: provisional
|
|
251
|
+
atoms:
|
|
252
|
+
- omp.clause.reverse_offload
|
|
253
|
+
- omp.clause.reverse_offload.required
|
|
254
|
+
- omp.clause.dynamic_allocators
|
|
255
|
+
- omp.clause.dynamic_allocators.required
|
|
256
|
+
|
|
257
|
+
- source: hpe-cce-intro-openmp
|
|
258
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
259
|
+
claim: unsupported
|
|
260
|
+
quote: "The device clause is not supported. The other mechanisms for selecting a default device are supported: OMP_DEFAULT_DEVICE and omp_set_default_device."
|
|
261
|
+
language: Fortran and C/C++
|
|
262
|
+
version_note: *hpe_note
|
|
263
|
+
status: provisional
|
|
264
|
+
atoms:
|
|
265
|
+
- omp.clause.device
|
|
266
|
+
- omp.clause.device.device_num
|
|
267
|
+
- omp.clause.device.ancestor
|
|
268
|
+
|
|
269
|
+
- source: hpe-cce-intro-openmp
|
|
270
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
271
|
+
claim: partial
|
|
272
|
+
form: accepted
|
|
273
|
+
quote: "Several hints are parsed and accepted, but no action is taken: simd nontemporal, atomic hints, nonmonotonic loop scheduling, and the close modifier."
|
|
274
|
+
language: Fortran and C/C++
|
|
275
|
+
version_note: *hpe_note
|
|
276
|
+
status: provisional
|
|
277
|
+
atoms:
|
|
278
|
+
- omp.clause.nontemporal
|
|
279
|
+
- omp.clause.schedule.nonmonotonic
|
|
280
|
+
- omp.clause.map.close
|
|
281
|
+
|
|
282
|
+
- source: hpe-cce-intro-openmp
|
|
283
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
284
|
+
claim: partial
|
|
285
|
+
form: accepted
|
|
286
|
+
quote: "The mutexinoutset and inoutset dependence types are accepted but treated as inout dependence types"
|
|
287
|
+
language: Fortran and C/C++
|
|
288
|
+
version_note: *hpe_note
|
|
289
|
+
status: provisional
|
|
290
|
+
atoms:
|
|
291
|
+
- omp.clause.depend.mutexinoutset
|
|
292
|
+
- omp.clause.depend.inoutset
|
|
293
|
+
|
|
294
|
+
- source: hpe-cce-intro-openmp
|
|
295
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
296
|
+
claim: partial
|
|
297
|
+
form: accepted
|
|
298
|
+
quote: "The uses_allocators clause is accepted, but its usefulness is limited because CCE does not currently support the OpenMP memory allocation APIs in target regions for non-host devices"
|
|
299
|
+
language: Fortran and C/C++
|
|
300
|
+
version_note: *hpe_note
|
|
301
|
+
status: provisional
|
|
302
|
+
atoms:
|
|
303
|
+
- omp.clause.uses_allocators
|
|
304
|
+
|
|
305
|
+
- source: hpe-cce-intro-openmp
|
|
306
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
307
|
+
claim: partial
|
|
308
|
+
form: accepted
|
|
309
|
+
quote: "The order(concurrent) clause is accepted, but is not used for additional optimization."
|
|
310
|
+
language: Fortran and C/C++
|
|
311
|
+
version_note: *hpe_note
|
|
312
|
+
status: provisional
|
|
313
|
+
atoms:
|
|
314
|
+
- omp.clause.order
|
|
315
|
+
- omp.clause.order.concurrent
|
|
316
|
+
|
|
317
|
+
- source: hpe-cce-intro-openmp
|
|
318
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
319
|
+
claim: supported
|
|
320
|
+
quote: "The following OpenMP 5.1 features are supported: ... iterator modifier in depend, map, and motion clauses (Fortran only)"
|
|
321
|
+
spec_version: "5.1"
|
|
322
|
+
language: Fortran
|
|
323
|
+
version_note: *hpe_note
|
|
324
|
+
status: provisional
|
|
325
|
+
atoms:
|
|
326
|
+
- omp.clause.depend.iterator
|
|
327
|
+
- omp.clause.map.iterator
|
|
328
|
+
- omp.clause.to.iterator
|
|
329
|
+
- omp.clause.from.iterator
|
|
330
|
+
|
|
331
|
+
- source: hpe-cce-intro-openmp
|
|
332
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
333
|
+
claim: supported
|
|
334
|
+
quote: "The following OpenMP 5.1 features are supported: ... has_device_addr clause on target construct"
|
|
335
|
+
spec_version: "5.1"
|
|
336
|
+
language: Fortran and C/C++
|
|
337
|
+
version_note: *hpe_note
|
|
338
|
+
status: provisional
|
|
339
|
+
atoms:
|
|
340
|
+
- omp.clause.has_device_addr
|
|
341
|
+
|
|
342
|
+
- source: hpe-cce-intro-openmp
|
|
343
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
344
|
+
claim: supported
|
|
345
|
+
quote: "The following OpenMP 5.1 features are supported: ... indirect clause"
|
|
346
|
+
spec_version: "5.1"
|
|
347
|
+
language: Fortran and C/C++
|
|
348
|
+
version_note: *hpe_note
|
|
349
|
+
status: provisional
|
|
350
|
+
atoms:
|
|
351
|
+
- omp.clause.indirect
|
|
352
|
+
|
|
353
|
+
- source: hpe-cce-intro-openmp
|
|
354
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
355
|
+
claim: unsupported
|
|
356
|
+
quote: "indirect invoked-by-fptr argument is not supported."
|
|
357
|
+
language: Fortran and C/C++
|
|
358
|
+
version_note: *hpe_note
|
|
359
|
+
status: provisional
|
|
360
|
+
atoms:
|
|
361
|
+
- omp.clause.indirect.invoked_by_fptr
|
|
362
|
+
|
|
363
|
+
- source: hpe-cce-intro-openmp
|
|
364
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
365
|
+
claim: supported
|
|
366
|
+
quote: "The following OpenMP 5.1 features are supported: ... primary policy for the proc_bind clause"
|
|
367
|
+
spec_version: "5.1"
|
|
368
|
+
language: Fortran and C/C++
|
|
369
|
+
version_note: *hpe_note
|
|
370
|
+
status: provisional
|
|
371
|
+
atoms:
|
|
372
|
+
- omp.clause.proc_bind.primary
|
|
373
|
+
|
|
374
|
+
- source: hpe-cce-intro-openmp
|
|
375
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
376
|
+
claim: supported
|
|
377
|
+
quote: "The following OpenMP 5.1 features are supported: ... reproducible/unconstrainted modifiers for order clause"
|
|
378
|
+
spec_version: "5.1"
|
|
379
|
+
language: Fortran and C/C++
|
|
380
|
+
version_note: *hpe_note
|
|
381
|
+
status: provisional
|
|
382
|
+
atoms:
|
|
383
|
+
- omp.clause.order.reproducible
|
|
384
|
+
- omp.clause.order.unconstrained
|
|
385
|
+
|
|
386
|
+
- source: hpe-cce-intro-openmp
|
|
387
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
388
|
+
claim: unsupported
|
|
389
|
+
quote: "The following OpenMP 5.1 features are supported: ... present behavior for defaultmap (C/C++ only)"
|
|
390
|
+
spec_version: "5.1"
|
|
391
|
+
note: "Fortran is excluded by the vendor's '(C/C++ only)'; read as unsupported for Fortran (an inference)."
|
|
392
|
+
language: Fortran
|
|
393
|
+
version_note: *hpe_note
|
|
394
|
+
status: provisional
|
|
395
|
+
atoms:
|
|
396
|
+
- omp.clause.defaultmap.present
|
|
397
|
+
|
|
398
|
+
- source: hpe-cce-intro-openmp
|
|
399
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
400
|
+
claim: supported
|
|
401
|
+
quote: "Default and named mappers in Fortran are supported for top-level objects (scalars and arrays) on map clauses; only default mappers are supported for update directives"
|
|
402
|
+
note: "The generated to/from programs name mapper(default), the form said to be supported on update."
|
|
403
|
+
language: Fortran
|
|
404
|
+
version_note: *hpe_note
|
|
405
|
+
status: provisional
|
|
406
|
+
atoms:
|
|
407
|
+
- omp.clause.map.mapper
|
|
408
|
+
- omp.clause.to.mapper
|
|
409
|
+
- omp.clause.from.mapper
|
|
410
|
+
|
|
411
|
+
- source: hpe-cce-intro-openmp
|
|
412
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
413
|
+
claim: supported
|
|
414
|
+
quote: "omp scan is functionally supported, but loops will be limited to a single thread"
|
|
415
|
+
language: Fortran and C/C++
|
|
416
|
+
version_note: *hpe_note
|
|
417
|
+
status: provisional
|
|
418
|
+
atoms:
|
|
419
|
+
- omp.clause.reduction.inscan
|
|
420
|
+
|
|
421
|
+
- source: hpe-cce-intro-openmp
|
|
422
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
423
|
+
claim: supported
|
|
424
|
+
quote: "The conditional modifier for lastprivate is functionally supported on GPU, but runs with a single thread."
|
|
425
|
+
language: Fortran and C/C++
|
|
426
|
+
version_note: *hpe_note
|
|
427
|
+
status: provisional
|
|
428
|
+
atoms:
|
|
429
|
+
- omp.clause.lastprivate.conditional
|
|
430
|
+
|
|
431
|
+
- source: hpe-cce-intro-openmp
|
|
432
|
+
url: https://cpe.ext.hpe.com/docs/latest/cce/man7/intro_openmp.7.html
|
|
433
|
+
claim: supported
|
|
434
|
+
quote: "Currently, CCE only supports omp requires unified_shared_memory for AMD MI250X, AMD MI300A, and NVIDIA GH200 GPUs. Recoverable page faults must be enabled at runtime for AMD GPUs to support unified memory (e.g., by setting the HSA_XNACK=1 environment variable), otherwise full unified memory support will not be available and the CCE OpenMP library will issue a fatal runtime error."
|
|
435
|
+
language: Fortran and C/C++
|
|
436
|
+
version_note: *hpe_note
|
|
437
|
+
status: provisional
|
|
438
|
+
atoms:
|
|
439
|
+
- omp.clause.unified_shared_memory
|
|
440
|
+
|
|
441
|
+
# --- AMD: ROCm release statement (afar) ---------------------------------------------
|
|
442
|
+
|
|
443
|
+
- source: rocm-openmp-support
|
|
444
|
+
url: https://rocm.docs.amd.com/projects/llvm-project/en/docs-7.1.0/conceptual/openmp.html
|
|
445
|
+
toolchain: afar
|
|
446
|
+
general: true
|
|
447
|
+
versions: [52]
|
|
448
|
+
claim: supported
|
|
449
|
+
quote: "The ROCm installation includes an LLVM-based implementation that fully supports the OpenMP 4.5 standard and a subset of OpenMP 5.0, 5.1, and 5.2 standards. Fortran, C/C++ compilers, and corresponding runtime libraries are included."
|
|
450
|
+
note: "Atoms that exist in OpenMP 4.5. The 5.x subset is not itemised, so no 5.x atom gets a claim from this page."
|
|
451
|
+
language: Fortran and C/C++
|
|
452
|
+
version_note: "Release-level claim for the ROCm 7.1/7.2 LLVM (same text at docs-7.2.4); not a statement about AFAR 24.3.0 (amdflang 24.0.0git)"
|
|
453
|
+
status: provisional
|
|
454
|
+
atoms: *omp45
|
|
455
|
+
|
|
456
|
+
# --- AMD: Clang 20.0.0git status table (afar, C/C++ only) --------------------------
|
|
457
|
+
|
|
458
|
+
- source: rocm-clang-openmp-status
|
|
459
|
+
url: &clang_url https://rocm.docs.amd.com/projects/llvm-project/en/docs-7.1.1/LLVM/clang/html/OpenMPSupport.html
|
|
460
|
+
toolchain: afar
|
|
461
|
+
claim: supported
|
|
462
|
+
quote: "device | clause: device_type | done"
|
|
463
|
+
language: C/C++
|
|
464
|
+
version_note: &clang_note "Clang 20.0.0git C/C++ table hosted by AMD; purported for amdflang, older than AFAR"
|
|
465
|
+
status: provisional
|
|
466
|
+
atoms: [omp.clause.device_type, omp.clause.device_type.any, omp.clause.device_type.host, omp.clause.device_type.nohost]
|
|
467
|
+
|
|
468
|
+
- source: rocm-clang-openmp-status
|
|
469
|
+
url: *clang_url
|
|
470
|
+
toolchain: afar
|
|
471
|
+
claim: supported
|
|
472
|
+
quote: "device | clause: extended device | done"
|
|
473
|
+
language: C/C++
|
|
474
|
+
version_note: *clang_note
|
|
475
|
+
status: provisional
|
|
476
|
+
atoms: [omp.clause.device.ancestor, omp.clause.device.device_num]
|
|
477
|
+
|
|
478
|
+
- source: rocm-clang-openmp-status
|
|
479
|
+
url: *clang_url
|
|
480
|
+
toolchain: afar
|
|
481
|
+
claim: supported
|
|
482
|
+
quote: "device | clause: uses_allocators clause | done"
|
|
483
|
+
language: C/C++
|
|
484
|
+
version_note: *clang_note
|
|
485
|
+
status: provisional
|
|
486
|
+
atoms: [omp.clause.uses_allocators]
|
|
487
|
+
|
|
488
|
+
- source: rocm-clang-openmp-status
|
|
489
|
+
url: *clang_url
|
|
490
|
+
toolchain: afar
|
|
491
|
+
claim: supported
|
|
492
|
+
quote: "device | support full 'defaultmap' functionality | done"
|
|
493
|
+
language: C/C++
|
|
494
|
+
version_note: *clang_note
|
|
495
|
+
status: provisional
|
|
496
|
+
atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.firstprivate, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer]
|
|
497
|
+
|
|
498
|
+
- source: rocm-clang-openmp-status
|
|
499
|
+
url: *clang_url
|
|
500
|
+
toolchain: afar
|
|
501
|
+
claim: supported
|
|
502
|
+
quote: "device | requires directive | done; device | clause: unified_shared_memory | done"
|
|
503
|
+
language: C/C++
|
|
504
|
+
version_note: *clang_note
|
|
505
|
+
status: provisional
|
|
506
|
+
atoms: [omp.directive.requires, omp.clause.unified_shared_memory]
|
|
507
|
+
|
|
508
|
+
- source: rocm-clang-openmp-status
|
|
509
|
+
url: *clang_url
|
|
510
|
+
toolchain: afar
|
|
511
|
+
claim: partial
|
|
512
|
+
quote: "device | clause: reverse_offload | partial; device | clause: dynamic_allocators | unclaimed parts"
|
|
513
|
+
language: C/C++
|
|
514
|
+
version_note: *clang_note
|
|
515
|
+
status: provisional
|
|
516
|
+
atoms: [omp.clause.reverse_offload, omp.clause.dynamic_allocators]
|
|
517
|
+
|
|
518
|
+
- source: rocm-clang-openmp-status
|
|
519
|
+
url: *clang_url
|
|
520
|
+
toolchain: afar
|
|
521
|
+
claim: supported
|
|
522
|
+
quote: "device | user-defined mappers | done"
|
|
523
|
+
language: C/C++
|
|
524
|
+
version_note: *clang_note
|
|
525
|
+
status: provisional
|
|
526
|
+
atoms: [omp.clause.map.mapper]
|
|
527
|
+
|
|
528
|
+
- source: rocm-clang-openmp-status
|
|
529
|
+
url: *clang_url
|
|
530
|
+
toolchain: afar
|
|
531
|
+
claim: supported
|
|
532
|
+
quote: "device | support close modifier on map clause | done"
|
|
533
|
+
language: C/C++
|
|
534
|
+
version_note: *clang_note
|
|
535
|
+
status: provisional
|
|
536
|
+
atoms: [omp.clause.map.close]
|
|
537
|
+
|
|
538
|
+
- source: rocm-clang-openmp-status
|
|
539
|
+
url: *clang_url
|
|
540
|
+
toolchain: afar
|
|
541
|
+
claim: supported
|
|
542
|
+
quote: "misc | iterator and multidependences | done; misc | depobj directive and depobj dependency kind | done; task | mutexinoutset dependence-type for tasks | done; task | inoutset in depend clause | done"
|
|
543
|
+
language: C/C++
|
|
544
|
+
version_note: *clang_note
|
|
545
|
+
status: provisional
|
|
546
|
+
atoms: [omp.clause.depend.iterator, omp.clause.depend.depobj, omp.clause.depend.mutexinoutset, omp.clause.depend.inoutset]
|
|
547
|
+
|
|
548
|
+
- source: rocm-clang-openmp-status
|
|
549
|
+
url: *clang_url
|
|
550
|
+
toolchain: afar
|
|
551
|
+
claim: supported
|
|
552
|
+
quote: "memory management | allocate directive and allocate clause | done; 'allocator' modifier for allocate clause | done; 'align' modifier for allocate clause | done"
|
|
553
|
+
language: C/C++
|
|
554
|
+
version_note: *clang_note
|
|
555
|
+
status: provisional
|
|
556
|
+
atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.allocate.allocator, omp.clause.allocate.align]
|
|
557
|
+
|
|
558
|
+
- source: rocm-clang-openmp-status
|
|
559
|
+
url: *clang_url
|
|
560
|
+
toolchain: afar
|
|
561
|
+
claim: supported
|
|
562
|
+
quote: "device | 'present' map type modifier | done; 'present' motion modifier | done; 'present' in defaultmap clause | done"
|
|
563
|
+
language: C/C++
|
|
564
|
+
version_note: *clang_note
|
|
565
|
+
status: provisional
|
|
566
|
+
atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present]
|
|
567
|
+
|
|
568
|
+
- source: rocm-clang-openmp-status
|
|
569
|
+
url: *clang_url
|
|
570
|
+
toolchain: afar
|
|
571
|
+
claim: partial
|
|
572
|
+
quote: "device | thread_limit clause on target construct | partial"
|
|
573
|
+
language: C/C++
|
|
574
|
+
version_note: *clang_note
|
|
575
|
+
status: provisional
|
|
576
|
+
atoms: [omp.clause.thread_limit]
|
|
577
|
+
|
|
578
|
+
- source: rocm-clang-openmp-status
|
|
579
|
+
url: *clang_url
|
|
580
|
+
toolchain: afar
|
|
581
|
+
claim: unsupported
|
|
582
|
+
quote: "device | has_device_addr clause on target construct | unclaimed"
|
|
583
|
+
language: C/C++
|
|
584
|
+
version_note: *clang_note
|
|
585
|
+
status: provisional
|
|
586
|
+
atoms: [omp.clause.has_device_addr]
|
|
587
|
+
|
|
588
|
+
- source: rocm-clang-openmp-status
|
|
589
|
+
url: *clang_url
|
|
590
|
+
toolchain: afar
|
|
591
|
+
claim: unsupported
|
|
592
|
+
quote: "device | iterators in map clause or motion clauses | unclaimed"
|
|
593
|
+
language: C/C++
|
|
594
|
+
version_note: *clang_note
|
|
595
|
+
status: provisional
|
|
596
|
+
atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
|
|
597
|
+
|
|
598
|
+
- source: rocm-clang-openmp-status
|
|
599
|
+
url: *clang_url
|
|
600
|
+
toolchain: afar
|
|
601
|
+
claim: unsupported
|
|
602
|
+
quote: "device | indirect clause on declare target directive | unclaimed"
|
|
603
|
+
language: C/C++
|
|
604
|
+
version_note: *clang_note
|
|
605
|
+
status: provisional
|
|
606
|
+
atoms: [omp.clause.indirect, omp.clause.indirect.invoked_by_fptr]
|
|
607
|
+
|
|
608
|
+
- source: rocm-clang-openmp-status
|
|
609
|
+
url: *clang_url
|
|
610
|
+
toolchain: afar
|
|
611
|
+
claim: partial
|
|
612
|
+
quote: "loop | 'reproducible'/'unconstrained' modifiers in 'order' clause | partial"
|
|
613
|
+
language: C/C++
|
|
614
|
+
version_note: *clang_note
|
|
615
|
+
status: provisional
|
|
616
|
+
atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
|
|
617
|
+
|
|
618
|
+
- source: rocm-clang-openmp-status
|
|
619
|
+
url: *clang_url
|
|
620
|
+
toolchain: afar
|
|
621
|
+
claim: partial
|
|
622
|
+
quote: "loop | #pragma omp loop (directive) | partial; loop | #pragma omp loop bind | worked on"
|
|
623
|
+
language: C/C++
|
|
624
|
+
version_note: *clang_note
|
|
625
|
+
status: provisional
|
|
626
|
+
atoms: [omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.clause.bind, omp.clause.bind.teams, omp.clause.bind.parallel, omp.clause.bind.thread]
|
|
627
|
+
|
|
628
|
+
- source: rocm-clang-openmp-status
|
|
629
|
+
url: *clang_url
|
|
630
|
+
toolchain: afar
|
|
631
|
+
claim: supported
|
|
632
|
+
quote: "loop | inclusive scan (matching C++17 PSTL) | done"
|
|
633
|
+
language: C/C++
|
|
634
|
+
version_note: *clang_note
|
|
635
|
+
status: provisional
|
|
636
|
+
atoms: [omp.clause.reduction.inscan]
|
|
637
|
+
|
|
638
|
+
# --- AMD: flang OpenMPSupport.md at the AFAR commit (afar, Fortran) ----------------
|
|
639
|
+
|
|
640
|
+
- source: afar-flang-openmp-status
|
|
641
|
+
url: &flang_url https://github.com/ROCm/llvm-project/blob/3ba19712e9fbf709f6c93d33394211ed4eeec8a7/flang/docs/OpenMPSupport.md
|
|
642
|
+
toolchain: afar
|
|
643
|
+
claim: supported
|
|
644
|
+
quote: "OpenMP 4.0 | target data construct | good; target construct | good; target update construct | good; declare target directive | good; teams construct | good; distribute construct | good; distribute parallel loop construct | good; target teams construct | good; teams distribute construct | good; target teams distribute construct | good; teams distribute parallel loop construct | good; target teams distribute parallel loop construct | good"
|
|
645
|
+
spec_version: "4.0"
|
|
646
|
+
language: Fortran
|
|
647
|
+
version_note: &flang_note "flang/docs/OpenMPSupport.md at the AFAR 24.3.0 source commit (data/index/claims/amdflang_afar_openmp_status.csv)"
|
|
648
|
+
status: provisional
|
|
649
|
+
atoms: [omp.directive.target_data, omp.directive.target, omp.directive.target_update, omp.directive.declare_target, omp.directive.teams, omp.directive.distribute, omp.directive.distribute_parallel_do, omp.directive.target_teams, omp.directive.teams_distribute, omp.directive.target_teams_distribute, omp.directive.teams_distribute_parallel_do, omp.directive.target_teams_distribute_parallel_do]
|
|
650
|
+
|
|
651
|
+
- source: afar-flang-openmp-status
|
|
652
|
+
url: *flang_url
|
|
653
|
+
toolchain: afar
|
|
654
|
+
claim: partial
|
|
655
|
+
quote: "OpenMP 4.0 | distribute simd construct | part; distribute parallel loop simd construct | part; parallel do simd construct | part; teams distribute simd construct | part; teams distribute parallel loop simd construct | part; target teams distribute parallel loop simd construct | part"
|
|
656
|
+
spec_version: "4.0"
|
|
657
|
+
language: Fortran
|
|
658
|
+
version_note: *flang_note
|
|
659
|
+
status: provisional
|
|
660
|
+
atoms: [omp.directive.distribute_simd, omp.directive.distribute_parallel_do_simd, omp.directive.parallel_do_simd, omp.directive.teams_distribute_simd, omp.directive.teams_distribute_parallel_do_simd, omp.directive.target_teams_distribute_parallel_do_simd]
|
|
661
|
+
|
|
662
|
+
- source: afar-flang-openmp-status
|
|
663
|
+
url: *flang_url
|
|
664
|
+
toolchain: afar
|
|
665
|
+
claim: supported
|
|
666
|
+
quote: "OpenMP 4.0 | depend clause | good; OpenMP 4.0 | proc_bind clause | good"
|
|
667
|
+
spec_version: "4.0"
|
|
668
|
+
language: Fortran
|
|
669
|
+
version_note: *flang_note
|
|
670
|
+
status: provisional
|
|
671
|
+
atoms: [omp.clause.depend, omp.clause.depend.in, omp.clause.depend.out, omp.clause.depend.inout, omp.clause.proc_bind, omp.clause.proc_bind.master, omp.clause.proc_bind.close, omp.clause.proc_bind.spread]
|
|
672
|
+
|
|
673
|
+
- source: afar-flang-openmp-status
|
|
674
|
+
url: *flang_url
|
|
675
|
+
toolchain: afar
|
|
676
|
+
claim: supported
|
|
677
|
+
quote: "OpenMP 4.5 | directive-name-modifier in if clause for combined constructs | good"
|
|
678
|
+
spec_version: "4.5"
|
|
679
|
+
language: Fortran
|
|
680
|
+
version_note: *flang_note
|
|
681
|
+
status: provisional
|
|
682
|
+
atoms: [omp.clause.if.directive_name]
|
|
683
|
+
|
|
684
|
+
- source: afar-flang-openmp-status
|
|
685
|
+
url: *flang_url
|
|
686
|
+
toolchain: afar
|
|
687
|
+
claim: supported
|
|
688
|
+
quote: "OpenMP 4.5 | private, firstprivate, and defaultmap on target | good"
|
|
689
|
+
spec_version: "4.5"
|
|
690
|
+
language: Fortran
|
|
691
|
+
version_note: *flang_note
|
|
692
|
+
status: provisional
|
|
693
|
+
atoms: [omp.clause.private, omp.clause.firstprivate, omp.clause.defaultmap, omp.clause.defaultmap.tofrom, omp.clause.defaultmap.scalar]
|
|
694
|
+
|
|
695
|
+
- source: afar-flang-openmp-status
|
|
696
|
+
url: *flang_url
|
|
697
|
+
toolchain: afar
|
|
698
|
+
claim: supported
|
|
699
|
+
quote: "OpenMP 4.5 | linear-modifier for linear clause | good; OpenMP 4.5 | linear clause on worksharing-loop construct | good"
|
|
700
|
+
spec_version: "4.5"
|
|
701
|
+
language: Fortran
|
|
702
|
+
version_note: *flang_note
|
|
703
|
+
status: provisional
|
|
704
|
+
atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval]
|
|
705
|
+
|
|
706
|
+
- source: afar-flang-openmp-status
|
|
707
|
+
url: *flang_url
|
|
708
|
+
toolchain: afar
|
|
709
|
+
claim: partial
|
|
710
|
+
quote: "OpenMP 4.5 | is_device_ptr and use_device_ptr clauses | part"
|
|
711
|
+
spec_version: "4.5"
|
|
712
|
+
language: Fortran
|
|
713
|
+
version_note: *flang_note
|
|
714
|
+
status: provisional
|
|
715
|
+
atoms: [omp.clause.is_device_ptr, omp.clause.use_device_ptr]
|
|
716
|
+
|
|
717
|
+
- source: afar-flang-openmp-status
|
|
718
|
+
url: *flang_url
|
|
719
|
+
toolchain: afar
|
|
720
|
+
claim: supported
|
|
721
|
+
quote: "OpenMP 4.5 | target enter data and target exit data constructs | good; simdlen clause on simd construct | good; nowait and depend clauses on target construct | good"
|
|
722
|
+
spec_version: "4.5"
|
|
723
|
+
language: Fortran
|
|
724
|
+
version_note: *flang_note
|
|
725
|
+
status: provisional
|
|
726
|
+
atoms: [omp.directive.target_enter_data, omp.directive.target_exit_data, omp.clause.simdlen, omp.clause.nowait]
|
|
727
|
+
|
|
728
|
+
- source: afar-flang-openmp-status
|
|
729
|
+
url: *flang_url
|
|
730
|
+
toolchain: afar
|
|
731
|
+
claim: partial
|
|
732
|
+
quote: "OpenMP 4.5 | target parallel, target parallel do, and target parallel do simd constructs | part"
|
|
733
|
+
spec_version: "4.5"
|
|
734
|
+
language: Fortran
|
|
735
|
+
version_note: *flang_note
|
|
736
|
+
status: provisional
|
|
737
|
+
atoms: [omp.directive.target_parallel, omp.directive.target_parallel_do, omp.directive.target_parallel_do_simd]
|
|
738
|
+
|
|
739
|
+
- source: afar-flang-openmp-status
|
|
740
|
+
url: *flang_url
|
|
741
|
+
toolchain: afar
|
|
742
|
+
claim: partial
|
|
743
|
+
quote: "OpenMP 5.0 | memory allocators | part; allocate directive and allocate clause | part; clause: uses_allocators | part; OpenMP 5.1 | align clause on allocate directive and allocator/align modifiers on allocate clause | part"
|
|
744
|
+
spec_version: "5.0"
|
|
745
|
+
language: Fortran
|
|
746
|
+
version_note: *flang_note
|
|
747
|
+
status: provisional
|
|
748
|
+
atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.allocate.allocator, omp.clause.allocate.align]
|
|
749
|
+
|
|
750
|
+
- source: afar-flang-openmp-status
|
|
751
|
+
url: *flang_url
|
|
752
|
+
toolchain: afar
|
|
753
|
+
claim: partial
|
|
754
|
+
quote: "OpenMP 5.0 | support full defaultmap functionality | part"
|
|
755
|
+
spec_version: "5.0"
|
|
756
|
+
language: Fortran
|
|
757
|
+
version_note: *flang_note
|
|
758
|
+
status: provisional
|
|
759
|
+
atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer, omp.clause.defaultmap.allocatable]
|
|
760
|
+
|
|
761
|
+
- source: afar-flang-openmp-status
|
|
762
|
+
url: *flang_url
|
|
763
|
+
toolchain: afar
|
|
764
|
+
claim: partial
|
|
765
|
+
quote: "OpenMP 5.0 | clause: in_reduction | part"
|
|
766
|
+
spec_version: "5.0"
|
|
767
|
+
language: Fortran
|
|
768
|
+
version_note: *flang_note
|
|
769
|
+
status: provisional
|
|
770
|
+
atoms: [omp.clause.in_reduction, omp.clause.in_reduction.plus, omp.clause.in_reduction.times, omp.clause.in_reduction.minus, omp.clause.in_reduction.max, omp.clause.in_reduction.min, omp.clause.in_reduction.iand, omp.clause.in_reduction.ior, omp.clause.in_reduction.ieor, omp.clause.in_reduction.and, omp.clause.in_reduction.or, omp.clause.in_reduction.eqv, omp.clause.in_reduction.neqv]
|
|
771
|
+
|
|
772
|
+
- source: afar-flang-openmp-status
|
|
773
|
+
url: *flang_url
|
|
774
|
+
toolchain: afar
|
|
775
|
+
claim: supported
|
|
776
|
+
quote: "OpenMP 5.0 | user-defined mappers | good; clause: use_device_addr for target data | good; iterator modifier for depend clause | good; mutexinoutset on depend clause | good"
|
|
777
|
+
spec_version: "5.0"
|
|
778
|
+
language: Fortran
|
|
779
|
+
version_note: *flang_note
|
|
780
|
+
status: provisional
|
|
781
|
+
atoms: [omp.clause.map.mapper, omp.clause.use_device_addr, omp.clause.depend.iterator, omp.clause.depend.mutexinoutset]
|
|
782
|
+
|
|
783
|
+
- source: afar-flang-openmp-status
|
|
784
|
+
url: *flang_url
|
|
785
|
+
toolchain: afar
|
|
786
|
+
claim: partial
|
|
787
|
+
quote: "OpenMP 5.0 | conditional modifier for lastprivate clause | progress; scan directive and inscan modifier for reduction | part; close modifier in map clause | part; if clause and nontemporal clause on simd | part"
|
|
788
|
+
spec_version: "5.0"
|
|
789
|
+
language: Fortran
|
|
790
|
+
version_note: *flang_note
|
|
791
|
+
status: provisional
|
|
792
|
+
atoms: [omp.clause.lastprivate.conditional, omp.clause.reduction.inscan, omp.clause.map.close, omp.clause.nontemporal]
|
|
793
|
+
|
|
794
|
+
- source: afar-flang-openmp-status
|
|
795
|
+
url: *flang_url
|
|
796
|
+
toolchain: afar
|
|
797
|
+
claim: partial
|
|
798
|
+
quote: "OpenMP 5.0 | requires directive | part; loop construct and order(concurrent) clause | part"
|
|
799
|
+
spec_version: "5.0"
|
|
800
|
+
language: Fortran
|
|
801
|
+
version_note: *flang_note
|
|
802
|
+
status: provisional
|
|
803
|
+
atoms: [omp.directive.requires, omp.clause.unified_shared_memory, omp.clause.unified_address, omp.clause.atomic_default_mem_order, omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.directive.target_loop, omp.clause.order, omp.clause.order.concurrent]
|
|
804
|
+
|
|
805
|
+
- source: afar-flang-openmp-status
|
|
806
|
+
url: *flang_url
|
|
807
|
+
toolchain: afar
|
|
808
|
+
claim: unsupported
|
|
809
|
+
quote: "OpenMP 5.0 | reverse offload | none"
|
|
810
|
+
spec_version: "5.0"
|
|
811
|
+
language: Fortran
|
|
812
|
+
version_note: *flang_note
|
|
813
|
+
status: provisional
|
|
814
|
+
atoms: [omp.clause.reverse_offload, omp.clause.reverse_offload.required]
|
|
815
|
+
|
|
816
|
+
- source: afar-flang-openmp-status
|
|
817
|
+
url: *flang_url
|
|
818
|
+
toolchain: afar
|
|
819
|
+
claim: partial
|
|
820
|
+
quote: "OpenMP 5.1 | present map type modifier | part; present modifier in motion clauses | part; present in defaultmap clause | part; thread_limit clause on target construct | part; has_device_addr clause on target construct | part; indirect clause on declare target | part; default(private) | part; inoutset in depend clause | part"
|
|
821
|
+
spec_version: "5.1"
|
|
822
|
+
language: Fortran
|
|
823
|
+
version_note: *flang_note
|
|
824
|
+
status: provisional
|
|
825
|
+
atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present, omp.clause.thread_limit, omp.clause.has_device_addr, omp.clause.indirect, omp.clause.default.private, omp.clause.depend.inoutset]
|
|
826
|
+
|
|
827
|
+
- source: afar-flang-openmp-status
|
|
828
|
+
url: *flang_url
|
|
829
|
+
toolchain: afar
|
|
830
|
+
claim: partial
|
|
831
|
+
quote: "OpenMP 5.1 | iterators in map or motion clauses | part"
|
|
832
|
+
spec_version: "5.1"
|
|
833
|
+
language: Fortran
|
|
834
|
+
version_note: *flang_note
|
|
835
|
+
status: provisional
|
|
836
|
+
atoms: [omp.clause.map.iterator]
|
|
837
|
+
|
|
838
|
+
- source: afar-flang-openmp-status
|
|
839
|
+
url: *flang_url
|
|
840
|
+
toolchain: afar
|
|
841
|
+
claim: supported
|
|
842
|
+
quote: "OpenMP 5.1 | default(firstprivate) | good; OpenMP 5.2 | enter clause replaces to clause on declare target | good"
|
|
843
|
+
spec_version: "5.1"
|
|
844
|
+
language: Fortran
|
|
845
|
+
version_note: *flang_note
|
|
846
|
+
status: provisional
|
|
847
|
+
atoms: [omp.clause.default.firstprivate, omp.clause.enter]
|
|
848
|
+
|
|
849
|
+
- source: afar-flang-openmp-status
|
|
850
|
+
url: *flang_url
|
|
851
|
+
toolchain: afar
|
|
852
|
+
claim: unsupported
|
|
853
|
+
quote: "OpenMP 5.2 | step modifier | none"
|
|
854
|
+
spec_version: "5.2"
|
|
855
|
+
language: Fortran
|
|
856
|
+
version_note: *flang_note
|
|
857
|
+
status: provisional
|
|
858
|
+
atoms: [omp.clause.linear.step]
|
|
859
|
+
|
|
860
|
+
- source: afar-flang-openmp-status
|
|
861
|
+
url: *flang_url
|
|
862
|
+
toolchain: afar
|
|
863
|
+
claim: partial
|
|
864
|
+
versions: [60]
|
|
865
|
+
quote: "OpenMP 6.0 | workdistribute construct | part; map clause updates (v6.0 forms) | part; map modifier updates (v6.0 and v6.1 forms) | part"
|
|
866
|
+
spec_version: "6.0"
|
|
867
|
+
language: Fortran
|
|
868
|
+
version_note: *flang_note
|
|
869
|
+
status: provisional
|
|
870
|
+
atoms: [omp.directive.teams_workdistribute, omp.directive.target_teams_workdistribute, omp.clause.map.ref_ptr, omp.clause.map.ref_ptee, omp.clause.map.ref_ptr_ptee, omp.clause.map.storage, omp.clause.map.self]
|
|
871
|
+
|
|
872
|
+
# --- AMD: flang lowering TODO tests at the AFAR commit (afar, Fortran) -------------
|
|
873
|
+
|
|
874
|
+
- source: afar-flang-lowering-todo
|
|
875
|
+
url: &todo_url https://github.com/ROCm/llvm-project/tree/3ba19712e9fbf709f6c93d33394211ed4eeec8a7/flang/test/Lower/OpenMP/Todo
|
|
876
|
+
toolchain: afar
|
|
877
|
+
claim: unsupported
|
|
878
|
+
quote: "to-iterator-modifier.f90 / from-iterator-modifier.f90: not yet implemented: Iterator modifier is not supported yet"
|
|
879
|
+
language: Fortran
|
|
880
|
+
version_note: &todo_note "flang/test/Lower/OpenMP/Todo at the AFAR 24.3.0 source commit"
|
|
881
|
+
status: provisional
|
|
882
|
+
atoms: [omp.clause.to.iterator, omp.clause.from.iterator]
|
|
883
|
+
|
|
884
|
+
- source: afar-flang-lowering-todo
|
|
885
|
+
url: *todo_url
|
|
886
|
+
toolchain: afar
|
|
887
|
+
claim: unsupported
|
|
888
|
+
quote: "omp-clause-indirect.f90: not yet implemented: Unhandled clause INDIRECT in DECLARE TARGET construct"
|
|
889
|
+
language: Fortran
|
|
890
|
+
version_note: *todo_note
|
|
891
|
+
status: provisional
|
|
892
|
+
atoms: [omp.clause.indirect, omp.clause.indirect.invoked_by_fptr]
|
|
893
|
+
|
|
894
|
+
- source: afar-flang-lowering-todo
|
|
895
|
+
url: *todo_url
|
|
896
|
+
toolchain: afar
|
|
897
|
+
claim: unsupported
|
|
898
|
+
quote: "target-uses-allocators.f90: not yet implemented: USES_ALLOCATORS clause is not implemented yet"
|
|
899
|
+
language: Fortran
|
|
900
|
+
version_note: *todo_note
|
|
901
|
+
status: provisional
|
|
902
|
+
atoms: [omp.clause.uses_allocators, omp.clause.uses_allocators.traits, omp.clause.uses_allocators.memspace]
|
|
903
|
+
|
|
904
|
+
- source: afar-flang-lowering-todo
|
|
905
|
+
url: *todo_url
|
|
906
|
+
toolchain: afar
|
|
907
|
+
claim: unsupported
|
|
908
|
+
quote: "defaultmap-clause-firstprivate.f90: not yet implemented: Firstprivate is currently unsupported defaultmap behaviour"
|
|
909
|
+
language: Fortran
|
|
910
|
+
version_note: *todo_note
|
|
911
|
+
status: provisional
|
|
912
|
+
atoms: [omp.clause.defaultmap.firstprivate]
|
|
913
|
+
|
|
914
|
+
- source: afar-flang-lowering-todo
|
|
915
|
+
url: *todo_url
|
|
916
|
+
toolchain: afar
|
|
917
|
+
claim: unsupported
|
|
918
|
+
quote: "depend-clause-depobj.f90: not yet implemented: DEPOBJ dependence-type"
|
|
919
|
+
language: Fortran
|
|
920
|
+
version_note: *todo_note
|
|
921
|
+
status: provisional
|
|
922
|
+
atoms: [omp.clause.depend.depobj]
|
|
923
|
+
|
|
924
|
+
# --- HPE CCE 20.0.2 / 21.0.3 (intro_openmp(7) of each release) -------------
|
|
925
|
+
# Ingested per release: `tools/derive/claims.py ingest` records an entry for each
|
|
926
|
+
# CCE toolchain whose man page (or release notes) contains the quote.
|
|
927
|
+
|
|
928
|
+
- source: hpe-cce-intro-openmp
|
|
929
|
+
general: true
|
|
930
|
+
versions: [52]
|
|
931
|
+
claim: supported
|
|
932
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
|
|
933
|
+
note: "Atoms that exist in OpenMP 4.5 (full 5.0 includes them)."
|
|
934
|
+
language: Fortran and C/C++
|
|
935
|
+
atoms: *omp45
|
|
936
|
+
- source: hpe-cce-intro-openmp
|
|
937
|
+
general: true
|
|
938
|
+
versions: [52]
|
|
939
|
+
claim: supported
|
|
940
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
|
|
941
|
+
note: "Atoms new in OpenMP 5.0 (OpenMP 5.0 Appendix B, 4.5 to 5.0 differences)."
|
|
942
|
+
language: Fortran and C/C++
|
|
943
|
+
atoms: *omp50
|
|
944
|
+
- source: hpe-cce-intro-openmp
|
|
945
|
+
claim: supported
|
|
946
|
+
spec_version: "5.2"
|
|
947
|
+
versions: [52, 60]
|
|
948
|
+
quote: "The following OpenMP 5.2 features are supported: ... enter clause (Fortran only)"
|
|
949
|
+
language: Fortran
|
|
950
|
+
atoms: [omp.clause.enter]
|
|
951
|
+
- source: hpe-cce-intro-openmp
|
|
952
|
+
claim: supported
|
|
953
|
+
spec_version: "5.2"
|
|
954
|
+
versions: [52, 60]
|
|
955
|
+
quote: "The following OpenMP 5.2 features are supported: ... new linear clause syntax (Fortran only)"
|
|
956
|
+
note: "The 5.2 linear syntax: modifiers val/ref/uval and step() inside the clause (5.2 §5.4.6)."
|
|
957
|
+
language: Fortran
|
|
958
|
+
atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval, omp.clause.linear.step_simple_modifier]
|
|
959
|
+
- source: hpe-cce-intro-openmp
|
|
960
|
+
claim: supported
|
|
961
|
+
spec_version: "6.0"
|
|
962
|
+
versions: [60]
|
|
963
|
+
quote: "The following OpenMP 6.0 features are supported: ... support for self mapping via self modifier"
|
|
964
|
+
note: "The self map-type modifier (6.0 §7.9.6): map(self: ...). defaultmap(self) is an implicit behaviour, not a modifier, so this entry does not name it (the release notes' broader 'self mapping' does)."
|
|
965
|
+
language: Fortran and C/C++
|
|
966
|
+
atoms: [omp.clause.map.self]
|
|
967
|
+
- source: hpe-cce-intro-openmp
|
|
968
|
+
claim: supported
|
|
969
|
+
spec_version: "6.0"
|
|
970
|
+
versions: [60]
|
|
971
|
+
quote: "The following OpenMP 6.0 features are supported: ... extended default and defaultmap support"
|
|
972
|
+
note: "Project reading: the 6.0 defaultmap implicit behaviours storage and private (6.0 §7.9.9). Not the default clause's variable categories: CCE 21's page lists those as a separate item ('variable category modifier in default clause') and its release notes add them in 21.0. The 20.0.0 release notes say Fortran only for this item; the page names no language."
|
|
973
|
+
language: Fortran and C/C++
|
|
974
|
+
atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
|
|
975
|
+
- source: hpe-cce-intro-openmp
|
|
976
|
+
claim: supported
|
|
977
|
+
spec_version: "6.0"
|
|
978
|
+
versions: [60]
|
|
979
|
+
quote: "The following OpenMP 6.0 features are supported: ... variable category modifier in default clause"
|
|
980
|
+
language: Fortran and C/C++
|
|
981
|
+
atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
|
|
982
|
+
- source: hpe-cce-intro-openmp
|
|
983
|
+
claim: supported
|
|
984
|
+
spec_version: "6.0"
|
|
985
|
+
versions: [60]
|
|
986
|
+
quote: "The following OpenMP 6.0 features are supported: ... reductions for already privatized variables"
|
|
987
|
+
note: "The original-sharing modifier of reduction (6.0 §7.6.?: original(private))."
|
|
988
|
+
language: Fortran and C/C++
|
|
989
|
+
atoms: [omp.clause.reduction.original]
|
|
990
|
+
- source: hpe-cce-intro-openmp
|
|
991
|
+
claim: supported
|
|
992
|
+
spec_version: "6.0"
|
|
993
|
+
versions: [60]
|
|
994
|
+
quote: "The following OpenMP 6.0 features are supported: ... automap modifier for enter clause (Fortran)"
|
|
995
|
+
language: Fortran
|
|
996
|
+
atoms: [omp.clause.enter.automap]
|
|
997
|
+
- source: hpe-cce-intro-openmp
|
|
998
|
+
claim: supported
|
|
999
|
+
spec_version: "6.0"
|
|
1000
|
+
versions: [60]
|
|
1001
|
+
quote: "The following OpenMP 6.0 features are supported: ... local clause for declare_target directive (Fortran)"
|
|
1002
|
+
language: Fortran
|
|
1003
|
+
atoms: [omp.clause.local]
|
|
1004
|
+
- source: hpe-cce-intro-openmp
|
|
1005
|
+
claim: unsupported
|
|
1006
|
+
spec_version: "6.0"
|
|
1007
|
+
versions: [60]
|
|
1008
|
+
quote: "The workdistribute construct is not supported as part of a combined construct."
|
|
1009
|
+
note: "The catalog's workdistribute programs use the combined teams workdistribute and target teams workdistribute forms; the man page lists the construct itself (Fortran) as supported."
|
|
1010
|
+
language: Fortran
|
|
1011
|
+
atoms: [omp.directive.teams_workdistribute, omp.directive.target_teams_workdistribute]
|
|
1012
|
+
- source: hpe-cce-intro-openmp
|
|
1013
|
+
claim: unsupported
|
|
1014
|
+
quote: "For C/C++, the stand-alone loop directive is supported, but it is not supported when expressed as part of a combined or composite construct."
|
|
1015
|
+
language: C/C++
|
|
1016
|
+
atoms: [omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_parallel_loop, omp.directive.target_teams_loop, omp.directive.target_loop]
|
|
1017
|
+
|
|
1018
|
+
# --- HPE CCE release notes (release_info of each release) ------------------
|
|
1019
|
+
|
|
1020
|
+
- source: hpe-cce-release-notes
|
|
1021
|
+
claim: supported
|
|
1022
|
+
spec_version: "6.0"
|
|
1023
|
+
versions: [60]
|
|
1024
|
+
quote: "[6.0] ... self mapping for accelerators"
|
|
1025
|
+
language: Fortran and C/C++
|
|
1026
|
+
atoms: [omp.clause.map.self, omp.clause.defaultmap.self]
|
|
1027
|
+
- source: hpe-cce-release-notes
|
|
1028
|
+
claim: supported
|
|
1029
|
+
spec_version: "6.0"
|
|
1030
|
+
versions: [60]
|
|
1031
|
+
quote: "[6.0] ... reductions on private variables"
|
|
1032
|
+
language: Fortran and C/C++
|
|
1033
|
+
atoms: [omp.clause.reduction.original]
|
|
1034
|
+
- source: hpe-cce-release-notes
|
|
1035
|
+
claim: supported
|
|
1036
|
+
spec_version: "6.0"
|
|
1037
|
+
versions: [60]
|
|
1038
|
+
quote: "[6.0] ... Fortran: misc. extensions to `default` and `defaultmap` clauses"
|
|
1039
|
+
note: "Same project reading as the man page's 'extended default and defaultmap support' (defaultmap storage and private; the variable categories of default came in 21.0)."
|
|
1040
|
+
language: Fortran
|
|
1041
|
+
atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
|
|
1042
|
+
- source: hpe-cce-release-notes
|
|
1043
|
+
claim: supported
|
|
1044
|
+
spec_version: "6.0"
|
|
1045
|
+
versions: [60]
|
|
1046
|
+
quote: "[6.0] ... Fortran: automap modifier for declare target"
|
|
1047
|
+
language: Fortran
|
|
1048
|
+
atoms: [omp.clause.enter.automap]
|
|
1049
|
+
- source: hpe-cce-release-notes
|
|
1050
|
+
claim: supported
|
|
1051
|
+
spec_version: "6.0"
|
|
1052
|
+
versions: [60]
|
|
1053
|
+
quote: "[6.0] ... local clause for declare target"
|
|
1054
|
+
note: "No language restriction in the release notes; the man page of the same release says (Fortran)."
|
|
1055
|
+
language: Fortran and C/C++
|
|
1056
|
+
atoms: [omp.clause.local]
|
|
1057
|
+
- source: hpe-cce-release-notes
|
|
1058
|
+
claim: supported
|
|
1059
|
+
spec_version: "6.0"
|
|
1060
|
+
versions: [60]
|
|
1061
|
+
quote: "[6.0] ... variable-category modifier for default clause"
|
|
1062
|
+
language: Fortran and C/C++
|
|
1063
|
+
atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
|
|
1064
|
+
- source: hpe-cce-release-notes
|
|
1065
|
+
claim: supported
|
|
1066
|
+
spec_version: "5.2"
|
|
1067
|
+
versions: [52]
|
|
1068
|
+
quote: "[5.2] ... misc. new syntax allowed by specification (e.g. `declare target`, `ordered`, metadirective)"
|
|
1069
|
+
note: "(maintainer reading): the only new 5.2 syntax of declare target is the enter clause (5.2 Appendix B.2 p.627 lists nothing else for declare target), so the line claims enter. Compared with the 5.2 programs only: a 6.0 program is covered by a 6.0 feature list (rules.claims_for), which CCE 20 does not have for enter. No language restriction in the release notes (Fortran and C/C++, as the other unqualified release-note items). The ordered and metadirective parts are not mapped (no fuzz or catalog cell depends on them here)."
|
|
1070
|
+
language: Fortran and C/C++
|
|
1071
|
+
atoms: [omp.clause.enter]
|
|
1072
|
+
- source: hpe-cce-release-notes
|
|
1073
|
+
claim: supported
|
|
1074
|
+
spec_version: "5.2"
|
|
1075
|
+
versions: [52, 60]
|
|
1076
|
+
quote: "[5.2] ... Fortran: new linear clause syntax"
|
|
1077
|
+
language: Fortran
|
|
1078
|
+
atoms: [omp.clause.linear, omp.clause.linear.val, omp.clause.linear.ref, omp.clause.linear.uval, omp.clause.linear.step_simple_modifier]
|
|
1079
|
+
- source: hpe-cce-release-notes
|
|
1080
|
+
claim: supported
|
|
1081
|
+
spec_version: "5.1"
|
|
1082
|
+
quote: "Added the following OpenMP 5.1/5.2 features ... Support iterators in 'map' clause and motion clauses"
|
|
1083
|
+
note: "No language restriction in the 19.0.0 release notes; intro_openmp(7) says (Fortran only)."
|
|
1084
|
+
language: Fortran and C/C++
|
|
1085
|
+
atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
|
|
1086
|
+
- source: hpe-cce-release-notes
|
|
1087
|
+
claim: supported
|
|
1088
|
+
spec_version: "5.1"
|
|
1089
|
+
quote: "Added the following OpenMP 5.1/5.2 features ... Support 'unconstrained' and 'reproducible' modifiers in 'order' clause"
|
|
1090
|
+
language: Fortran and C/C++
|
|
1091
|
+
atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
|
|
1092
|
+
- source: hpe-cce-release-notes
|
|
1093
|
+
claim: supported
|
|
1094
|
+
spec_version: "5.1"
|
|
1095
|
+
quote: "Added the following OpenMP 5.1/5.2 features ... Support 'indirect' clause on declare target directive"
|
|
1096
|
+
language: Fortran and C/C++
|
|
1097
|
+
atoms: [omp.clause.indirect]
|
|
1098
|
+
|
|
1099
|
+
# --- AMD amdclang, clang/docs/OpenMPSupport.md at the AFAR commit (C/C++) --
|
|
1100
|
+
|
|
1101
|
+
- source: amdclang-afar-openmp-support
|
|
1102
|
+
toolchain: afar
|
|
1103
|
+
claim: supported
|
|
1104
|
+
spec_version: "5.0"
|
|
1105
|
+
quote: "device | clause: device_type | done"
|
|
1106
|
+
language: C/C++
|
|
1107
|
+
atoms: [omp.clause.device_type, omp.clause.device_type.any, omp.clause.device_type.host, omp.clause.device_type.nohost]
|
|
1108
|
+
- source: amdclang-afar-openmp-support
|
|
1109
|
+
toolchain: afar
|
|
1110
|
+
claim: supported
|
|
1111
|
+
spec_version: "5.0"
|
|
1112
|
+
quote: "device | clause: extended device | done"
|
|
1113
|
+
language: C/C++
|
|
1114
|
+
atoms: [omp.clause.device.ancestor, omp.clause.device.device_num]
|
|
1115
|
+
- source: amdclang-afar-openmp-support
|
|
1116
|
+
toolchain: afar
|
|
1117
|
+
claim: supported
|
|
1118
|
+
spec_version: "5.0"
|
|
1119
|
+
quote: "device | clause: uses_allocators clause | done"
|
|
1120
|
+
language: C/C++
|
|
1121
|
+
atoms: [omp.clause.uses_allocators]
|
|
1122
|
+
- source: amdclang-afar-openmp-support
|
|
1123
|
+
toolchain: afar
|
|
1124
|
+
claim: supported
|
|
1125
|
+
spec_version: "5.0"
|
|
1126
|
+
quote: "device | support full 'defaultmap' functionality | done"
|
|
1127
|
+
language: C/C++
|
|
1128
|
+
atoms: [omp.clause.defaultmap.alloc, omp.clause.defaultmap.to, omp.clause.defaultmap.from, omp.clause.defaultmap.firstprivate, omp.clause.defaultmap.none, omp.clause.defaultmap.default, omp.clause.defaultmap.aggregate, omp.clause.defaultmap.pointer]
|
|
1129
|
+
- source: amdclang-afar-openmp-support
|
|
1130
|
+
toolchain: afar
|
|
1131
|
+
claim: supported
|
|
1132
|
+
spec_version: "5.0"
|
|
1133
|
+
quote: "device | requires directive | done; device | clause: unified_shared_memory | done"
|
|
1134
|
+
language: C/C++
|
|
1135
|
+
atoms: [omp.directive.requires, omp.clause.unified_shared_memory]
|
|
1136
|
+
- source: amdclang-afar-openmp-support
|
|
1137
|
+
toolchain: afar
|
|
1138
|
+
claim: partial
|
|
1139
|
+
spec_version: "5.0"
|
|
1140
|
+
quote: "device | clause: unified_address | partial; device | clause: reverse_offload | partial; device | clause: dynamic_allocators | unclaimed parts"
|
|
1141
|
+
language: C/C++
|
|
1142
|
+
atoms: [omp.clause.unified_address, omp.clause.reverse_offload, omp.clause.dynamic_allocators]
|
|
1143
|
+
- source: amdclang-afar-openmp-support
|
|
1144
|
+
toolchain: afar
|
|
1145
|
+
claim: supported
|
|
1146
|
+
spec_version: "5.0"
|
|
1147
|
+
quote: "device | user-defined mappers | done; device | support close modifier on map clause | done; device | clause: use_device_addr for target data | done"
|
|
1148
|
+
language: C/C++
|
|
1149
|
+
atoms: [omp.clause.map.mapper, omp.clause.map.close, omp.clause.use_device_addr]
|
|
1150
|
+
- source: amdclang-afar-openmp-support
|
|
1151
|
+
toolchain: afar
|
|
1152
|
+
claim: partial
|
|
1153
|
+
spec_version: "5.0"
|
|
1154
|
+
quote: "device | clause: in_reduction | worked on"
|
|
1155
|
+
language: C/C++
|
|
1156
|
+
atoms: [omp.clause.in_reduction]
|
|
1157
|
+
- source: amdclang-afar-openmp-support
|
|
1158
|
+
toolchain: afar
|
|
1159
|
+
claim: supported
|
|
1160
|
+
spec_version: "5.0"
|
|
1161
|
+
quote: "misc | iterator and multidependences | done; misc | depobj directive and depobj dependency kind | done; task | mutexinoutset dependence-type for tasks | done"
|
|
1162
|
+
language: C/C++
|
|
1163
|
+
atoms: [omp.clause.depend.iterator, omp.clause.depend.depobj, omp.clause.depend.mutexinoutset]
|
|
1164
|
+
- source: amdclang-afar-openmp-support
|
|
1165
|
+
toolchain: afar
|
|
1166
|
+
claim: supported
|
|
1167
|
+
spec_version: "5.0"
|
|
1168
|
+
quote: "memory management | allocate directive and allocate clause | done; misc | conditional modifier for lastprivate clause | done; loop | inclusive scan (matching C++17 PSTL) | done"
|
|
1169
|
+
language: C/C++
|
|
1170
|
+
atoms: [omp.clause.allocate, omp.clause.allocate.allocator_simple_modifier, omp.clause.lastprivate.conditional, omp.clause.reduction.inscan]
|
|
1171
|
+
- source: amdclang-afar-openmp-support
|
|
1172
|
+
toolchain: afar
|
|
1173
|
+
claim: partial
|
|
1174
|
+
spec_version: "5.0"
|
|
1175
|
+
quote: "loop | #pragma omp loop (directive) | partial; loop | #pragma omp loop bind | worked on"
|
|
1176
|
+
language: C/C++
|
|
1177
|
+
atoms: [omp.directive.loop, omp.directive.parallel_loop, omp.directive.teams_loop, omp.directive.target_teams_loop, omp.directive.target_parallel_loop, omp.clause.bind, omp.clause.bind.teams, omp.clause.bind.parallel, omp.clause.bind.thread]
|
|
1178
|
+
- source: amdclang-afar-openmp-support
|
|
1179
|
+
toolchain: afar
|
|
1180
|
+
claim: supported
|
|
1181
|
+
spec_version: "5.1"
|
|
1182
|
+
quote: "device | 'present' map type modifier | done; device | 'present' motion modifier | done; device | 'present' in defaultmap clause | done"
|
|
1183
|
+
language: C/C++
|
|
1184
|
+
atoms: [omp.clause.map.present, omp.clause.to.present, omp.clause.from.present, omp.clause.defaultmap.present]
|
|
1185
|
+
- source: amdclang-afar-openmp-support
|
|
1186
|
+
toolchain: afar
|
|
1187
|
+
claim: supported
|
|
1188
|
+
spec_version: "5.1"
|
|
1189
|
+
quote: "device | iterators in map clause or motion clauses | done"
|
|
1190
|
+
language: C/C++
|
|
1191
|
+
atoms: [omp.clause.map.iterator, omp.clause.to.iterator, omp.clause.from.iterator]
|
|
1192
|
+
- source: amdclang-afar-openmp-support
|
|
1193
|
+
toolchain: afar
|
|
1194
|
+
claim: unsupported
|
|
1195
|
+
spec_version: "5.1"
|
|
1196
|
+
quote: "device | has_device_addr clause on target construct | unclaimed"
|
|
1197
|
+
language: C/C++
|
|
1198
|
+
atoms: [omp.clause.has_device_addr]
|
|
1199
|
+
- source: amdclang-afar-openmp-support
|
|
1200
|
+
toolchain: afar
|
|
1201
|
+
claim: partial
|
|
1202
|
+
spec_version: "5.1"
|
|
1203
|
+
quote: "device | thread_limit clause on target construct | partial; device | indirect clause on declare target directive | In Progress"
|
|
1204
|
+
language: C/C++
|
|
1205
|
+
atoms: [omp.clause.thread_limit, omp.clause.indirect]
|
|
1206
|
+
- source: amdclang-afar-openmp-support
|
|
1207
|
+
toolchain: afar
|
|
1208
|
+
claim: supported
|
|
1209
|
+
spec_version: "5.1"
|
|
1210
|
+
quote: "memory management | 'allocator' modifier for allocate clause | done; memory management | 'align' modifier for allocate clause | done; misc | default(firstprivate) & default(private) | done; task | inoutset in depend clause | done"
|
|
1211
|
+
language: C/C++
|
|
1212
|
+
atoms: [omp.clause.allocate.allocator, omp.clause.allocate.align, omp.clause.default.firstprivate, omp.clause.default.private, omp.clause.depend.inoutset]
|
|
1213
|
+
- source: amdclang-afar-openmp-support
|
|
1214
|
+
toolchain: afar
|
|
1215
|
+
claim: partial
|
|
1216
|
+
spec_version: "5.1"
|
|
1217
|
+
quote: "loop | 'reproducible'/'unconstrained' modifiers in 'order' clause | partial"
|
|
1218
|
+
language: C/C++
|
|
1219
|
+
atoms: [omp.clause.order.reproducible, omp.clause.order.unconstrained]
|
|
1220
|
+
- source: amdclang-afar-openmp-support
|
|
1221
|
+
toolchain: afar
|
|
1222
|
+
claim: supported
|
|
1223
|
+
spec_version: "6.0"
|
|
1224
|
+
versions: [60]
|
|
1225
|
+
quote: "OpenMP 6.0 | Prescriptive num_threads | done"
|
|
1226
|
+
language: C/C++
|
|
1227
|
+
atoms: [omp.clause.num_threads.strict]
|
|
1228
|
+
- source: amdclang-afar-openmp-support
|
|
1229
|
+
toolchain: afar
|
|
1230
|
+
claim: supported
|
|
1231
|
+
spec_version: "6.0"
|
|
1232
|
+
versions: [60]
|
|
1233
|
+
quote: "OpenMP 6.0 | Message and severity clauses | done"
|
|
1234
|
+
note: "6.0 adds message and severity to the parallel construct (the catalog's 6.0 forms)."
|
|
1235
|
+
language: C/C++
|
|
1236
|
+
atoms: [omp.clause.message, omp.clause.severity, omp.clause.severity.fatal, omp.clause.severity.warning]
|
|
1237
|
+
- source: amdclang-afar-openmp-support
|
|
1238
|
+
toolchain: afar
|
|
1239
|
+
claim: supported
|
|
1240
|
+
spec_version: "6.0"
|
|
1241
|
+
versions: [60]
|
|
1242
|
+
quote: "OpenMP 6.0 | Local clause on declare target | done"
|
|
1243
|
+
language: C/C++
|
|
1244
|
+
atoms: [omp.clause.local]
|
|
1245
|
+
- source: amdclang-afar-openmp-support
|
|
1246
|
+
toolchain: afar
|
|
1247
|
+
claim: supported
|
|
1248
|
+
spec_version: "6.0"
|
|
1249
|
+
versions: [60]
|
|
1250
|
+
quote: "OpenMP 6.0 | variable-category on default clause | done"
|
|
1251
|
+
language: C/C++
|
|
1252
|
+
atoms: [omp.clause.default.aggregate, omp.clause.default.all, omp.clause.default.allocatable, omp.clause.default.pointer, omp.clause.default.scalar]
|
|
1253
|
+
- source: amdclang-afar-openmp-support
|
|
1254
|
+
toolchain: afar
|
|
1255
|
+
claim: supported
|
|
1256
|
+
spec_version: "6.0"
|
|
1257
|
+
versions: [60]
|
|
1258
|
+
quote: "OpenMP 6.0 | defaultmap implicit-behavior 'storage' | done; defaultmap implicit-behavior 'private' | done"
|
|
1259
|
+
language: C/C++
|
|
1260
|
+
atoms: [omp.clause.defaultmap.storage, omp.clause.defaultmap.private]
|
|
1261
|
+
- source: amdclang-afar-openmp-support
|
|
1262
|
+
toolchain: afar
|
|
1263
|
+
claim: partial
|
|
1264
|
+
spec_version: "6.0"
|
|
1265
|
+
versions: [60]
|
|
1266
|
+
quote: "OpenMP 6.0 | Self maps | partial; Private reductions | mostly; transparent clause (hull tasks) | partial; ref modifier for map clauses | In Progress"
|
|
1267
|
+
language: C/C++
|
|
1268
|
+
atoms: [omp.clause.map.self, omp.clause.defaultmap.self, omp.clause.self_maps, omp.clause.self_maps.required, omp.clause.reduction.original, omp.clause.transparent, omp.clause.transparent.impex_type, omp.clause.map.ref_ptr, omp.clause.map.ref_ptee, omp.clause.map.ref_ptr_ptee]
|
|
1269
|
+
- source: amdclang-afar-openmp-support
|
|
1270
|
+
toolchain: afar
|
|
1271
|
+
claim: unsupported
|
|
1272
|
+
spec_version: "6.0"
|
|
1273
|
+
versions: [60]
|
|
1274
|
+
quote: "OpenMP 6.0 | All clauses accept directive name modifier | unclaimed"
|
|
1275
|
+
note: "Every clause's directive-name modifier except if's (if(directive-name: ...) exists since OpenMP 4.5)."
|
|
1276
|
+
language: C/C++
|
|
1277
|
+
atoms: [omp.clause.aligned.directive_name, omp.clause.allocate.directive_name, omp.clause.atomic_default_mem_order.directive_name, omp.clause.bind.directive_name, omp.clause.collapse.directive_name, omp.clause.default.directive_name, omp.clause.defaultmap.directive_name, omp.clause.depend.directive_name, omp.clause.device.directive_name, omp.clause.device_safesync.directive_name, omp.clause.device_type.directive_name, omp.clause.dist_schedule.directive_name, omp.clause.dynamic_allocators.directive_name, omp.clause.enter.directive_name, omp.clause.firstprivate.directive_name, omp.clause.from.directive_name, omp.clause.has_device_addr.directive_name, omp.clause.in_reduction.directive_name, omp.clause.indirect.directive_name, omp.clause.induction.directive_name, omp.clause.is_device_ptr.directive_name, omp.clause.lastprivate.directive_name, omp.clause.linear.directive_name, omp.clause.link.directive_name, omp.clause.local.directive_name, omp.clause.map.directive_name, omp.clause.message.directive_name, omp.clause.nogroup.directive_name, omp.clause.nontemporal.directive_name, omp.clause.nowait.directive_name, omp.clause.num_teams.directive_name, omp.clause.num_threads.directive_name, omp.clause.order.directive_name, omp.clause.ordered.directive_name, omp.clause.private.directive_name, omp.clause.proc_bind.directive_name, omp.clause.reduction.directive_name, omp.clause.replayable.directive_name, omp.clause.reverse_offload.directive_name, omp.clause.safelen.directive_name, omp.clause.schedule.directive_name, omp.clause.self_maps.directive_name, omp.clause.severity.directive_name, omp.clause.shared.directive_name, omp.clause.simdlen.directive_name, omp.clause.thread_limit.directive_name, omp.clause.to.directive_name, omp.clause.transparent.directive_name, omp.clause.unified_address.directive_name, omp.clause.unified_shared_memory.directive_name, omp.clause.use_device_addr.directive_name, omp.clause.use_device_ptr.directive_name, omp.clause.uses_allocators.directive_name]
|
|
1278
|
+
- source: amdclang-afar-openmp-support
|
|
1279
|
+
toolchain: afar
|
|
1280
|
+
claim: unsupported
|
|
1281
|
+
spec_version: "6.0"
|
|
1282
|
+
versions: [60]
|
|
1283
|
+
quote: "OpenMP 6.0 | Parallel inductions | unclaimed; Non-const do_not_sync for nowait/nogroup | unclaimed"
|
|
1284
|
+
language: C/C++
|
|
1285
|
+
atoms: [omp.clause.induction, omp.clause.induction.plus, omp.clause.induction.times, omp.clause.induction.step, omp.clause.induction.relaxed, omp.clause.induction.strict, omp.clause.nowait.do_not_synchronize, omp.clause.nogroup.do_not_synchronize]
|
|
1286
|
+
|
|
1287
|
+
# --- CCE's documented device-region limitation ----------------------------
|
|
1288
|
+
# Pseudo-atoms device.directive.<name>: a directive lexically inside a target
|
|
1289
|
+
# region (offload.engine.confirm.triage.device_directives). Not compared with
|
|
1290
|
+
# the support tables (no catalog atom); the triage reads them to tell a
|
|
1291
|
+
# failure the vendor documents from a compiler bug.
|
|
1292
|
+
|
|
1293
|
+
- source: hpe-cce-intro-openmp
|
|
1294
|
+
claim: unsupported
|
|
1295
|
+
quote: "All other APIs and constructs are not supported in omp target regions when targeting a non-host device."
|
|
1296
|
+
note: "The constructs the bullet does not list as supported in target regions (teams, distribute, parallel, for, do, simd, loop, atomic, error, assume, assumes, nothing; scan is 'functionally supported' elsewhere on the page)."
|
|
1297
|
+
language: Fortran and C/C++
|
|
1298
|
+
atoms: [device.directive.task, device.directive.taskloop, device.directive.taskgroup, device.directive.taskwait, device.directive.single, device.directive.masked, device.directive.ordered, device.directive.sections, device.directive.section, device.directive.workshare]
|
|
1299
|
+
- source: hpe-cce-intro-openmp
|
|
1300
|
+
claim: unsupported
|
|
1301
|
+
quote: "The following OpenMP constructs are supported: teams, distribute, parallel, for, do, simd, loop, atomic, barrier (C/C++), master (C/C++), critical (C/C++), error, assume, assumes, and nothing."
|
|
1302
|
+
note: "barrier, master and critical are listed for C/C++ only: read as unsupported in Fortran target regions (an inference)."
|
|
1303
|
+
language: Fortran
|
|
1304
|
+
atoms: [device.directive.barrier, device.directive.master, device.directive.critical]
|
|
1305
|
+
|
|
1306
|
+
# --- NVHPC's documented distribute limitation ----------------
|
|
1307
|
+
# Pseudo-atoms onleaf.<leaf>.<clause>: the clause on a construct with that leaf
|
|
1308
|
+
# (a combined or composite construct included: "Clauses on combined
|
|
1309
|
+
# constructs are supported to the extent that the clauses are supported on
|
|
1310
|
+
# the component constructs", guide §7.4, 2.14). Not compared with the support
|
|
1311
|
+
# tables (no catalog atom); the triage reads them
|
|
1312
|
+
# (offload.engine.confirm.triage.device_limits) to class a failure of such a
|
|
1313
|
+
# program as the documented limitation (partial_support), not a compiler bug.
|
|
1314
|
+
|
|
1315
|
+
- source: nvidia-hpc-ug-openmp
|
|
1316
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1317
|
+
claim: unsupported
|
|
1318
|
+
versions:
|
|
1319
|
+
- 50
|
|
1320
|
+
- 52
|
|
1321
|
+
quote: The lastprivate clause is not supported
|
|
1322
|
+
language: Fortran and C/C++
|
|
1323
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives ("Support for distribute construct clauses is as follows: ... The lastprivate clause is not supported"); with 2.14 Clauses on Combined and Composite Constructs. The same sentence under 2.9.5 Loop Construct is not mapped here.'
|
|
1324
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1325
|
+
status: provisional
|
|
1326
|
+
atoms:
|
|
1327
|
+
- onleaf.distribute.lastprivate
|
|
1328
|
+
|
|
1329
|
+
# --- Default(private) and
|
|
1330
|
+
# default(firstprivate) exist in Fortran since 4.5 but in C/C++ only since
|
|
1331
|
+
# 5.1, so the release-level "full 4.5/5.0" sentences cover them for Fortran
|
|
1332
|
+
# only ---------------------------------------------------------------------------
|
|
1333
|
+
|
|
1334
|
+
- source: hpe-cce-intro-openmp
|
|
1335
|
+
general: true
|
|
1336
|
+
versions: [52]
|
|
1337
|
+
claim: supported
|
|
1338
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1 and 5.2."
|
|
1339
|
+
note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
|
|
1340
|
+
language: Fortran
|
|
1341
|
+
atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
|
|
1342
|
+
- source: hpe-cce-intro-openmp
|
|
1343
|
+
general: true
|
|
1344
|
+
versions: [52]
|
|
1345
|
+
claim: supported
|
|
1346
|
+
quote: "CCE supports full OpenMP 5.0 and partial OpenMP 5.1, 5.2, and 6.0."
|
|
1347
|
+
note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
|
|
1348
|
+
language: Fortran
|
|
1349
|
+
atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
|
|
1350
|
+
- source: rocm-openmp-support
|
|
1351
|
+
general: true
|
|
1352
|
+
versions: [52]
|
|
1353
|
+
claim: supported
|
|
1354
|
+
quote: "The ROCm installation includes an LLVM-based implementation that fully supports the OpenMP 4.5 standard and a subset of OpenMP 5.0, 5.1, and 5.2 standards. Fortran, C/C++ compilers, and corresponding runtime libraries are included."
|
|
1355
|
+
note: "default(private/firstprivate): OpenMP 4.5 atoms in Fortran only (C/C++ gained them in 5.1)."
|
|
1356
|
+
language: Fortran
|
|
1357
|
+
atoms: [omp.clause.default.private, omp.clause.default.firstprivate]
|
|
1358
|
+
|
|
1359
|
+
# --- NVIDIA HPC SDK 25.11 (nvhpc) -----------------------------------------
|
|
1360
|
+
# Each statement of the HPC Compilers User's Guide (25.11 and 26.9 read the same; section 7.4 OpenMP
|
|
1361
|
+
# Subset, numbered as OpenMP 5.0; 7.8) mapped to the catalog atoms it is about,
|
|
1362
|
+
# compared at 5.0 and 5.2 (a 5.0-feature subset; 6.0 spellings are outside it).
|
|
1363
|
+
# C rows are compared under the Fortran (do) atom names
|
|
1364
|
+
# (offload.engine.c_gen.fortran_atom). 'X is ignored' is recorded as unsupported (no form): a measured pass of an
|
|
1365
|
+
# oracle-backed program then contradicts it (hint-only atoms never do).
|
|
1366
|
+
- source: nvidia-hpc-ug-openmp
|
|
1367
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1368
|
+
claim: partial
|
|
1369
|
+
form: accepted
|
|
1370
|
+
versions:
|
|
1371
|
+
- 50
|
|
1372
|
+
- 52
|
|
1373
|
+
quote: The requirement clauses unified_address and unified_shared_memory are accepted but have no effect.
|
|
1374
|
+
language: Fortran and C/C++
|
|
1375
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.4 Requires Directive. Accepted (no compile error) is the claim; the effect needs -gpu=mem:unified'
|
|
1376
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1377
|
+
status: provisional
|
|
1378
|
+
atoms:
|
|
1379
|
+
- omp.clause.unified_address
|
|
1380
|
+
- omp.clause.unified_shared_memory
|
|
1381
|
+
- source: nvidia-hpc-ug-openmp
|
|
1382
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1383
|
+
claim: supported
|
|
1384
|
+
versions:
|
|
1385
|
+
- 50
|
|
1386
|
+
- 52
|
|
1387
|
+
quote: The num_threads, default, private, firstprivate, and shared clauses are supported
|
|
1388
|
+
language: Fortran and C/C++
|
|
1389
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. The catalog programs put these clauses on a parallel do (for) inside a target region'
|
|
1390
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1391
|
+
status: provisional
|
|
1392
|
+
atoms:
|
|
1393
|
+
- omp.clause.num_threads
|
|
1394
|
+
- omp.clause.default
|
|
1395
|
+
- omp.clause.default.none
|
|
1396
|
+
- omp.clause.default.private
|
|
1397
|
+
- omp.clause.default.firstprivate
|
|
1398
|
+
- omp.clause.private
|
|
1399
|
+
- omp.clause.firstprivate
|
|
1400
|
+
- omp.clause.shared
|
|
1401
|
+
- source: nvidia-hpc-ug-openmp
|
|
1402
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1403
|
+
claim: unsupported
|
|
1404
|
+
form: compile_error
|
|
1405
|
+
versions:
|
|
1406
|
+
- 50
|
|
1407
|
+
- 52
|
|
1408
|
+
quote: The if and copyin clauses are supported only for CPU targets; the compiler emits an error for GPU targets
|
|
1409
|
+
language: Fortran and C/C++
|
|
1410
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. The if programs put if on a parallel do in a target region (if(parallel: ...) for the directive-name modifier)'
|
|
1411
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1412
|
+
status: provisional
|
|
1413
|
+
atoms:
|
|
1414
|
+
- omp.clause.if
|
|
1415
|
+
- omp.clause.if.directive_name
|
|
1416
|
+
- source: nvidia-hpc-ug-openmp
|
|
1417
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1418
|
+
claim: unsupported
|
|
1419
|
+
versions:
|
|
1420
|
+
- 50
|
|
1421
|
+
- 52
|
|
1422
|
+
quote: The proc_bind clause is supported only for CPU targets; it is ignored for GPU targets
|
|
1423
|
+
language: Fortran and C/C++
|
|
1424
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.6 Parallel Construct. Ignored for GPU targets'
|
|
1425
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1426
|
+
status: provisional
|
|
1427
|
+
atoms:
|
|
1428
|
+
- omp.clause.proc_bind
|
|
1429
|
+
- omp.clause.proc_bind.close
|
|
1430
|
+
- omp.clause.proc_bind.spread
|
|
1431
|
+
- omp.clause.proc_bind.master
|
|
1432
|
+
- omp.clause.proc_bind.primary
|
|
1433
|
+
- source: nvidia-hpc-ug-openmp
|
|
1434
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1435
|
+
claim: supported
|
|
1436
|
+
versions:
|
|
1437
|
+
- 50
|
|
1438
|
+
- 52
|
|
1439
|
+
quote: The num_teams, thread_limit, default, private, and firstprivate clauses are supported
|
|
1440
|
+
language: Fortran and C/C++
|
|
1441
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.7 Teams Construct'
|
|
1442
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1443
|
+
status: provisional
|
|
1444
|
+
atoms:
|
|
1445
|
+
- omp.clause.num_teams
|
|
1446
|
+
- omp.clause.thread_limit
|
|
1447
|
+
- source: nvidia-hpc-ug-openmp
|
|
1448
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1449
|
+
claim: supported
|
|
1450
|
+
versions:
|
|
1451
|
+
- 50
|
|
1452
|
+
- 52
|
|
1453
|
+
quote: The private, firstprivate, and collapse clauses are supported
|
|
1454
|
+
language: Fortran and C/C++
|
|
1455
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1456
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1457
|
+
status: provisional
|
|
1458
|
+
atoms:
|
|
1459
|
+
- omp.clause.collapse
|
|
1460
|
+
- source: nvidia-hpc-ug-openmp
|
|
1461
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1462
|
+
claim: supported
|
|
1463
|
+
versions:
|
|
1464
|
+
- 50
|
|
1465
|
+
- 52
|
|
1466
|
+
quote: The schedule clause is supported; the optional modifiers are not supported
|
|
1467
|
+
language: Fortran and C/C++
|
|
1468
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1469
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1470
|
+
status: provisional
|
|
1471
|
+
atoms:
|
|
1472
|
+
- omp.clause.schedule
|
|
1473
|
+
- omp.clause.schedule.static
|
|
1474
|
+
- omp.clause.schedule.chunk_size
|
|
1475
|
+
- omp.clause.schedule.dynamic
|
|
1476
|
+
- omp.clause.schedule.guided
|
|
1477
|
+
- omp.clause.schedule.auto
|
|
1478
|
+
- omp.clause.schedule.runtime
|
|
1479
|
+
- source: nvidia-hpc-ug-openmp
|
|
1480
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1481
|
+
claim: unsupported
|
|
1482
|
+
versions:
|
|
1483
|
+
- 50
|
|
1484
|
+
- 52
|
|
1485
|
+
quote: The schedule clause is supported; the optional modifiers are not supported
|
|
1486
|
+
language: Fortran and C/C++
|
|
1487
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1488
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1489
|
+
status: provisional
|
|
1490
|
+
atoms:
|
|
1491
|
+
- omp.clause.schedule.monotonic
|
|
1492
|
+
- omp.clause.schedule.nonmonotonic
|
|
1493
|
+
- omp.clause.schedule.simd
|
|
1494
|
+
- source: nvidia-hpc-ug-openmp
|
|
1495
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1496
|
+
claim: supported
|
|
1497
|
+
versions:
|
|
1498
|
+
- 50
|
|
1499
|
+
- 52
|
|
1500
|
+
quote: The lastprivate clause is supported; the optional lastprivate modifier is not supported
|
|
1501
|
+
language: Fortran and C/C++
|
|
1502
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1503
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1504
|
+
status: provisional
|
|
1505
|
+
atoms:
|
|
1506
|
+
- omp.clause.lastprivate
|
|
1507
|
+
- source: nvidia-hpc-ug-openmp
|
|
1508
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1509
|
+
claim: unsupported
|
|
1510
|
+
versions:
|
|
1511
|
+
- 50
|
|
1512
|
+
- 52
|
|
1513
|
+
quote: The lastprivate clause is supported; the optional lastprivate modifier is not supported
|
|
1514
|
+
language: Fortran and C/C++
|
|
1515
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1516
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1517
|
+
status: provisional
|
|
1518
|
+
atoms:
|
|
1519
|
+
- omp.clause.lastprivate.conditional
|
|
1520
|
+
- source: nvidia-hpc-ug-openmp
|
|
1521
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1522
|
+
claim: unsupported
|
|
1523
|
+
versions:
|
|
1524
|
+
- 50
|
|
1525
|
+
- 52
|
|
1526
|
+
quote: The ordered clause is supported only for CPU targets; ordered(n) clause is not supported
|
|
1527
|
+
language: Fortran and C/C++
|
|
1528
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1529
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1530
|
+
status: provisional
|
|
1531
|
+
atoms:
|
|
1532
|
+
- omp.clause.ordered
|
|
1533
|
+
- omp.clause.ordered.n
|
|
1534
|
+
- source: nvidia-hpc-ug-openmp
|
|
1535
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1536
|
+
claim: unsupported
|
|
1537
|
+
versions:
|
|
1538
|
+
- 50
|
|
1539
|
+
- 52
|
|
1540
|
+
quote: The linear clause is not supported
|
|
1541
|
+
language: Fortran and C/C++
|
|
1542
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do)'
|
|
1543
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1544
|
+
status: provisional
|
|
1545
|
+
atoms:
|
|
1546
|
+
- omp.clause.linear
|
|
1547
|
+
- omp.clause.linear.val
|
|
1548
|
+
- omp.clause.linear.ref
|
|
1549
|
+
- omp.clause.linear.uval
|
|
1550
|
+
- omp.clause.linear.step
|
|
1551
|
+
- omp.clause.linear.step_simple_modifier
|
|
1552
|
+
- source: nvidia-hpc-ug-openmp
|
|
1553
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1554
|
+
claim: unsupported
|
|
1555
|
+
versions:
|
|
1556
|
+
- 50
|
|
1557
|
+
- 52
|
|
1558
|
+
quote: The order(concurrent) clause is ignored
|
|
1559
|
+
language: Fortran and C/C++
|
|
1560
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.2 Worksharing-Loop Construct (for/do). Ignored'
|
|
1561
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1562
|
+
status: provisional
|
|
1563
|
+
atoms:
|
|
1564
|
+
- omp.clause.order
|
|
1565
|
+
- omp.clause.order.concurrent
|
|
1566
|
+
- source: nvidia-hpc-ug-openmp
|
|
1567
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1568
|
+
claim: unsupported
|
|
1569
|
+
versions:
|
|
1570
|
+
- 50
|
|
1571
|
+
- 52
|
|
1572
|
+
quote: The if, simdlen, and linear clauses are not supported
|
|
1573
|
+
language: Fortran and C/C++
|
|
1574
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.3 SIMD Directives'
|
|
1575
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1576
|
+
status: provisional
|
|
1577
|
+
atoms:
|
|
1578
|
+
- omp.clause.simdlen
|
|
1579
|
+
- source: nvidia-hpc-ug-openmp
|
|
1580
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1581
|
+
claim: unsupported
|
|
1582
|
+
versions:
|
|
1583
|
+
- 50
|
|
1584
|
+
- 52
|
|
1585
|
+
quote: The safelen, aligned, nontemporal, and order(concurrent) clauses are ignored
|
|
1586
|
+
language: Fortran and C/C++
|
|
1587
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.3 SIMD Directives. Ignored'
|
|
1588
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1589
|
+
status: provisional
|
|
1590
|
+
atoms:
|
|
1591
|
+
- omp.clause.safelen
|
|
1592
|
+
- omp.clause.aligned
|
|
1593
|
+
- omp.clause.aligned.alignment
|
|
1594
|
+
- omp.clause.nontemporal
|
|
1595
|
+
- source: nvidia-hpc-ug-openmp
|
|
1596
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1597
|
+
claim: supported
|
|
1598
|
+
versions:
|
|
1599
|
+
- 50
|
|
1600
|
+
- 52
|
|
1601
|
+
quote: The private, firstprivate, collapse, and dist_schedule(static [ ,chunksize]) clauses are supported
|
|
1602
|
+
language: Fortran and C/C++
|
|
1603
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
|
|
1604
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1605
|
+
status: provisional
|
|
1606
|
+
atoms:
|
|
1607
|
+
- omp.clause.dist_schedule
|
|
1608
|
+
- omp.clause.dist_schedule.static
|
|
1609
|
+
- omp.clause.dist_schedule.chunk_size
|
|
1610
|
+
- source: nvidia-hpc-ug-openmp
|
|
1611
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1612
|
+
claim: supported
|
|
1613
|
+
versions:
|
|
1614
|
+
- 50
|
|
1615
|
+
- 52
|
|
1616
|
+
quote: The distribute construct is supported within a teams construct.
|
|
1617
|
+
language: Fortran and C/C++
|
|
1618
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
|
|
1619
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1620
|
+
status: provisional
|
|
1621
|
+
atoms:
|
|
1622
|
+
- omp.directive.distribute
|
|
1623
|
+
- omp.directive.teams_distribute
|
|
1624
|
+
- omp.directive.target_teams_distribute
|
|
1625
|
+
- source: nvidia-hpc-ug-openmp
|
|
1626
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1627
|
+
claim: supported
|
|
1628
|
+
versions:
|
|
1629
|
+
- 50
|
|
1630
|
+
- 52
|
|
1631
|
+
quote: The distribute simd construct is treated as a distribute construct and is supported for GPU targets
|
|
1632
|
+
language: Fortran and C/C++
|
|
1633
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
|
|
1634
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1635
|
+
status: provisional
|
|
1636
|
+
atoms:
|
|
1637
|
+
- omp.directive.distribute_simd
|
|
1638
|
+
- omp.directive.teams_distribute_simd
|
|
1639
|
+
- omp.directive.target_teams_distribute_simd
|
|
1640
|
+
- source: nvidia-hpc-ug-openmp
|
|
1641
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1642
|
+
claim: supported
|
|
1643
|
+
versions:
|
|
1644
|
+
- 50
|
|
1645
|
+
- 52
|
|
1646
|
+
quote: The distributeparallelfor or distributeparalleldo constructs are supported for GPU targets.
|
|
1647
|
+
language: Fortran and C/C++
|
|
1648
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives. The snapshot keeps the page''s run-together code spans (distributeparallelfor = distribute parallel for)'
|
|
1649
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1650
|
+
status: provisional
|
|
1651
|
+
atoms:
|
|
1652
|
+
- omp.directive.distribute_parallel_do
|
|
1653
|
+
- omp.directive.teams_distribute_parallel_do
|
|
1654
|
+
- omp.directive.target_teams_distribute_parallel_do
|
|
1655
|
+
- source: nvidia-hpc-ug-openmp
|
|
1656
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1657
|
+
claim: supported
|
|
1658
|
+
versions:
|
|
1659
|
+
- 50
|
|
1660
|
+
- 52
|
|
1661
|
+
quote: are treated as distribute parallel for or distribute parallel do constructs and are supported for GPU targets.
|
|
1662
|
+
language: Fortran and C/C++
|
|
1663
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.4 Distribute Directives'
|
|
1664
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1665
|
+
status: provisional
|
|
1666
|
+
atoms:
|
|
1667
|
+
- omp.directive.distribute_parallel_do_simd
|
|
1668
|
+
- omp.directive.teams_distribute_parallel_do_simd
|
|
1669
|
+
- omp.directive.target_teams_distribute_parallel_do_simd
|
|
1670
|
+
- source: nvidia-hpc-ug-openmp
|
|
1671
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1672
|
+
claim: supported
|
|
1673
|
+
versions:
|
|
1674
|
+
- 50
|
|
1675
|
+
- 52
|
|
1676
|
+
quote: The private, bind, and collapse clauses are supported
|
|
1677
|
+
language: Fortran and C/C++
|
|
1678
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.9.5 Loop Construct'
|
|
1679
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1680
|
+
status: provisional
|
|
1681
|
+
atoms:
|
|
1682
|
+
- omp.clause.bind
|
|
1683
|
+
- omp.clause.bind.parallel
|
|
1684
|
+
- omp.clause.bind.teams
|
|
1685
|
+
- omp.clause.bind.thread
|
|
1686
|
+
- source: nvidia-hpc-ug-openmp
|
|
1687
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1688
|
+
claim: supported
|
|
1689
|
+
versions:
|
|
1690
|
+
- 50
|
|
1691
|
+
- 52
|
|
1692
|
+
quote: The reduction clause is supported. The optional modifier is not supported.
|
|
1693
|
+
language: Fortran and C/C++
|
|
1694
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.5 Reduction Clauses and Directives'
|
|
1695
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1696
|
+
status: provisional
|
|
1697
|
+
atoms:
|
|
1698
|
+
- omp.clause.reduction
|
|
1699
|
+
- omp.clause.reduction.plus
|
|
1700
|
+
- omp.clause.reduction.times
|
|
1701
|
+
- omp.clause.reduction.minus
|
|
1702
|
+
- omp.clause.reduction.max
|
|
1703
|
+
- omp.clause.reduction.min
|
|
1704
|
+
- omp.clause.reduction.iand
|
|
1705
|
+
- omp.clause.reduction.ior
|
|
1706
|
+
- omp.clause.reduction.ieor
|
|
1707
|
+
- omp.clause.reduction.and
|
|
1708
|
+
- omp.clause.reduction.or
|
|
1709
|
+
- omp.clause.reduction.eqv
|
|
1710
|
+
- omp.clause.reduction.neqv
|
|
1711
|
+
- source: nvidia-hpc-ug-openmp
|
|
1712
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1713
|
+
claim: unsupported
|
|
1714
|
+
versions:
|
|
1715
|
+
- 50
|
|
1716
|
+
- 52
|
|
1717
|
+
quote: The reduction clause is supported. The optional modifier is not supported.
|
|
1718
|
+
language: Fortran and C/C++
|
|
1719
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.5 Reduction Clauses and Directives'
|
|
1720
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1721
|
+
status: provisional
|
|
1722
|
+
atoms:
|
|
1723
|
+
- omp.clause.reduction.task
|
|
1724
|
+
- omp.clause.reduction.inscan
|
|
1725
|
+
- omp.clause.reduction.default
|
|
1726
|
+
- source: nvidia-hpc-ug-openmp
|
|
1727
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1728
|
+
claim: unsupported
|
|
1729
|
+
versions:
|
|
1730
|
+
- 50
|
|
1731
|
+
- 52
|
|
1732
|
+
quote: The memory management allocators, memory management API routines, and memory management directives are not supported
|
|
1733
|
+
language: Fortran and C/C++
|
|
1734
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.11 Memory Management Directives'
|
|
1735
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1736
|
+
status: provisional
|
|
1737
|
+
atoms:
|
|
1738
|
+
- omp.clause.uses_allocators
|
|
1739
|
+
- omp.clause.uses_allocators.memspace
|
|
1740
|
+
- omp.clause.uses_allocators.traits
|
|
1741
|
+
- omp.clause.allocate.allocator
|
|
1742
|
+
- omp.clause.allocate.allocator_simple_modifier
|
|
1743
|
+
- omp.clause.allocate.align
|
|
1744
|
+
- omp.clause.dynamic_allocators
|
|
1745
|
+
- source: nvidia-hpc-ug-openmp
|
|
1746
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1747
|
+
claim: supported
|
|
1748
|
+
versions:
|
|
1749
|
+
- 50
|
|
1750
|
+
- 52
|
|
1751
|
+
quote: The target data construct is supported for GPU targets.
|
|
1752
|
+
language: Fortran and C/C++
|
|
1753
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.2 Target Data Construct'
|
|
1754
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1755
|
+
status: provisional
|
|
1756
|
+
atoms:
|
|
1757
|
+
- omp.directive.target_data
|
|
1758
|
+
- source: nvidia-hpc-ug-openmp
|
|
1759
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1760
|
+
claim: supported
|
|
1761
|
+
versions:
|
|
1762
|
+
- 50
|
|
1763
|
+
- 52
|
|
1764
|
+
quote: The if, device, use_device_ptr, and use_device_addr clauses are supported
|
|
1765
|
+
language: Fortran and C/C++
|
|
1766
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.2 Target Data Construct'
|
|
1767
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1768
|
+
status: provisional
|
|
1769
|
+
atoms:
|
|
1770
|
+
- omp.clause.use_device_ptr
|
|
1771
|
+
- omp.clause.use_device_addr
|
|
1772
|
+
- source: nvidia-hpc-ug-openmp
|
|
1773
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1774
|
+
claim: supported
|
|
1775
|
+
versions:
|
|
1776
|
+
- 50
|
|
1777
|
+
- 52
|
|
1778
|
+
quote: The target enter data construct is supported for GPU targets.
|
|
1779
|
+
language: Fortran and C/C++
|
|
1780
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.3 Target Enter Data Construct'
|
|
1781
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1782
|
+
status: provisional
|
|
1783
|
+
atoms:
|
|
1784
|
+
- omp.directive.target_enter_data
|
|
1785
|
+
- source: nvidia-hpc-ug-openmp
|
|
1786
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1787
|
+
claim: supported
|
|
1788
|
+
versions:
|
|
1789
|
+
- 50
|
|
1790
|
+
- 52
|
|
1791
|
+
quote: The target exit data construct is supported for GPU targets.
|
|
1792
|
+
language: Fortran and C/C++
|
|
1793
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.4 Target Exit Data Construct'
|
|
1794
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1795
|
+
status: provisional
|
|
1796
|
+
atoms:
|
|
1797
|
+
- omp.directive.target_exit_data
|
|
1798
|
+
- source: nvidia-hpc-ug-openmp
|
|
1799
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1800
|
+
claim: supported
|
|
1801
|
+
versions:
|
|
1802
|
+
- 50
|
|
1803
|
+
- 52
|
|
1804
|
+
quote: The target construct is supported for GPU targets.
|
|
1805
|
+
language: Fortran and C/C++
|
|
1806
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
|
|
1807
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1808
|
+
status: provisional
|
|
1809
|
+
atoms:
|
|
1810
|
+
- omp.directive.target
|
|
1811
|
+
- source: nvidia-hpc-ug-openmp
|
|
1812
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1813
|
+
claim: supported
|
|
1814
|
+
versions:
|
|
1815
|
+
- 50
|
|
1816
|
+
- 52
|
|
1817
|
+
quote: The if, private, firstprivate, is_device_ptr, and nowait clauses are supported
|
|
1818
|
+
language: Fortran and C/C++
|
|
1819
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
|
|
1820
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1821
|
+
status: provisional
|
|
1822
|
+
atoms:
|
|
1823
|
+
- omp.clause.is_device_ptr
|
|
1824
|
+
- omp.clause.nowait
|
|
1825
|
+
- source: nvidia-hpc-ug-openmp
|
|
1826
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1827
|
+
claim: supported
|
|
1828
|
+
versions:
|
|
1829
|
+
- 50
|
|
1830
|
+
- 52
|
|
1831
|
+
quote: The device clause is supported without the device-modifier ancestor keyword
|
|
1832
|
+
language: Fortran and C/C++
|
|
1833
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
|
|
1834
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1835
|
+
status: provisional
|
|
1836
|
+
atoms:
|
|
1837
|
+
- omp.clause.device
|
|
1838
|
+
- omp.clause.device.device_num
|
|
1839
|
+
- source: nvidia-hpc-ug-openmp
|
|
1840
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1841
|
+
claim: unsupported
|
|
1842
|
+
versions:
|
|
1843
|
+
- 50
|
|
1844
|
+
- 52
|
|
1845
|
+
quote: The device clause is supported without the device-modifier ancestor keyword
|
|
1846
|
+
language: Fortran and C/C++
|
|
1847
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
|
|
1848
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1849
|
+
status: provisional
|
|
1850
|
+
atoms:
|
|
1851
|
+
- omp.clause.device.ancestor
|
|
1852
|
+
- source: nvidia-hpc-ug-openmp
|
|
1853
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1854
|
+
claim: supported
|
|
1855
|
+
versions:
|
|
1856
|
+
- 50
|
|
1857
|
+
quote: The defaultmap clause is supported using OpenMP 5.0 semantics
|
|
1858
|
+
language: Fortran and C/C++
|
|
1859
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.5 Target Construct'
|
|
1860
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1861
|
+
status: provisional
|
|
1862
|
+
atoms:
|
|
1863
|
+
- omp.clause.defaultmap
|
|
1864
|
+
- omp.clause.defaultmap.alloc
|
|
1865
|
+
- omp.clause.defaultmap.to
|
|
1866
|
+
- omp.clause.defaultmap.from
|
|
1867
|
+
- omp.clause.defaultmap.tofrom
|
|
1868
|
+
- omp.clause.defaultmap.firstprivate
|
|
1869
|
+
- omp.clause.defaultmap.none
|
|
1870
|
+
- omp.clause.defaultmap.default
|
|
1871
|
+
- omp.clause.defaultmap.scalar
|
|
1872
|
+
- omp.clause.defaultmap.aggregate
|
|
1873
|
+
- omp.clause.defaultmap.pointer
|
|
1874
|
+
- source: nvidia-hpc-ug-openmp
|
|
1875
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1876
|
+
claim: supported
|
|
1877
|
+
versions:
|
|
1878
|
+
- 50
|
|
1879
|
+
- 52
|
|
1880
|
+
quote: The target update construct is supported for GPU targets.
|
|
1881
|
+
language: Fortran and C/C++
|
|
1882
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
|
|
1883
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1884
|
+
status: provisional
|
|
1885
|
+
atoms:
|
|
1886
|
+
- omp.directive.target_update
|
|
1887
|
+
- source: nvidia-hpc-ug-openmp
|
|
1888
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1889
|
+
claim: supported
|
|
1890
|
+
versions:
|
|
1891
|
+
- 50
|
|
1892
|
+
- 52
|
|
1893
|
+
quote: The to and from clauses are supported without mapper or mapid
|
|
1894
|
+
language: Fortran and C/C++
|
|
1895
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
|
|
1896
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1897
|
+
status: provisional
|
|
1898
|
+
atoms:
|
|
1899
|
+
- omp.clause.to
|
|
1900
|
+
- omp.clause.from
|
|
1901
|
+
- source: nvidia-hpc-ug-openmp
|
|
1902
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1903
|
+
claim: unsupported
|
|
1904
|
+
versions:
|
|
1905
|
+
- 50
|
|
1906
|
+
- 52
|
|
1907
|
+
quote: The to and from clauses are supported without mapper or mapid
|
|
1908
|
+
language: Fortran and C/C++
|
|
1909
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.6 Target Update Construct'
|
|
1910
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1911
|
+
status: provisional
|
|
1912
|
+
atoms:
|
|
1913
|
+
- omp.clause.to.mapper
|
|
1914
|
+
- omp.clause.from.mapper
|
|
1915
|
+
- source: nvidia-hpc-ug-openmp
|
|
1916
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1917
|
+
claim: supported
|
|
1918
|
+
versions:
|
|
1919
|
+
- 50
|
|
1920
|
+
- 52
|
|
1921
|
+
quote: declare target(list) is supported
|
|
1922
|
+
language: Fortran and C/C++
|
|
1923
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.7 Declare Target Construct'
|
|
1924
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1925
|
+
status: provisional
|
|
1926
|
+
atoms:
|
|
1927
|
+
- omp.directive.declare_target
|
|
1928
|
+
- source: nvidia-hpc-ug-openmp
|
|
1929
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1930
|
+
claim: supported
|
|
1931
|
+
versions:
|
|
1932
|
+
- 50
|
|
1933
|
+
- 52
|
|
1934
|
+
quote: The device_type clause is supported for C/C++
|
|
1935
|
+
language: C/C++
|
|
1936
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.12.7 Declare Target Construct'
|
|
1937
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1938
|
+
status: provisional
|
|
1939
|
+
atoms:
|
|
1940
|
+
- omp.clause.device_type
|
|
1941
|
+
- omp.clause.device_type.any
|
|
1942
|
+
- omp.clause.device_type.nohost
|
|
1943
|
+
- source: nvidia-hpc-ug-openmp
|
|
1944
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1945
|
+
claim: supported
|
|
1946
|
+
versions:
|
|
1947
|
+
- 50
|
|
1948
|
+
- 52
|
|
1949
|
+
quote: The teams construct is supported for GPU targets.
|
|
1950
|
+
language: Fortran and C/C++
|
|
1951
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.7 Teams Construct'
|
|
1952
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1953
|
+
status: provisional
|
|
1954
|
+
atoms:
|
|
1955
|
+
- omp.directive.teams
|
|
1956
|
+
- omp.directive.target_teams
|
|
1957
|
+
- source: nvidia-hpc-ug-openmp
|
|
1958
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1959
|
+
claim: supported
|
|
1960
|
+
versions:
|
|
1961
|
+
- 50
|
|
1962
|
+
- 52
|
|
1963
|
+
quote: The dependence types in, out, and inout are supported.
|
|
1964
|
+
language: Fortran and C/C++
|
|
1965
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.17.11 Depend Clause, read with 2.12.3-2.12.6 (target enter data, target exit data, target, target update: "The depend([dependmodifier,] dependtype : list) clause is supported as described in 2.17.11") and the section on target depend/nowait and CUDA streams. The catalog''s depend programs put depend on target constructs. The 2.17.11 sentence "It is not supported on GPU targets" is read as depend inside device code (task constructs in a target region), not depend on the target construct (review 1); inoutset is in neither list (no claim)'
|
|
1966
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1967
|
+
status: provisional
|
|
1968
|
+
atoms:
|
|
1969
|
+
- omp.clause.depend
|
|
1970
|
+
- omp.clause.depend.in
|
|
1971
|
+
- omp.clause.depend.out
|
|
1972
|
+
- omp.clause.depend.inout
|
|
1973
|
+
- source: nvidia-hpc-ug-openmp
|
|
1974
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1975
|
+
claim: unsupported
|
|
1976
|
+
versions:
|
|
1977
|
+
- 50
|
|
1978
|
+
- 52
|
|
1979
|
+
quote: The dependence types mutexinoutset and depobj, dependence modifier iterator(iters), depend(source), and depend(sink:vector) are not supported.
|
|
1980
|
+
language: Fortran and C/C++
|
|
1981
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.17.11 Depend Clause'
|
|
1982
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1983
|
+
status: provisional
|
|
1984
|
+
atoms:
|
|
1985
|
+
- omp.clause.depend.mutexinoutset
|
|
1986
|
+
- omp.clause.depend.depobj
|
|
1987
|
+
- omp.clause.depend.iterator
|
|
1988
|
+
- source: nvidia-hpc-ug-openmp
|
|
1989
|
+
toolchains: [nvhpc, nvhpc269]
|
|
1990
|
+
claim: supported
|
|
1991
|
+
versions:
|
|
1992
|
+
- 50
|
|
1993
|
+
- 52
|
|
1994
|
+
quote: The map([[mapmod[,]...] maptype:] datalist) clause is supported.
|
|
1995
|
+
language: Fortran and C/C++
|
|
1996
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives'
|
|
1997
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
1998
|
+
status: provisional
|
|
1999
|
+
atoms:
|
|
2000
|
+
- omp.clause.map
|
|
2001
|
+
- omp.clause.map.to
|
|
2002
|
+
- omp.clause.map.from
|
|
2003
|
+
- omp.clause.map.tofrom
|
|
2004
|
+
- omp.clause.map.alloc
|
|
2005
|
+
- omp.clause.map.release
|
|
2006
|
+
- omp.clause.map.delete
|
|
2007
|
+
- source: nvidia-hpc-ug-openmp
|
|
2008
|
+
toolchains: [nvhpc, nvhpc269]
|
|
2009
|
+
claim: supported
|
|
2010
|
+
versions:
|
|
2011
|
+
- 50
|
|
2012
|
+
- 52
|
|
2013
|
+
quote: Of the map-type-modifiers, always is supported, close is ignored, and mapper(mapid) is not supported.
|
|
2014
|
+
language: Fortran and C/C++
|
|
2015
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives'
|
|
2016
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
2017
|
+
status: provisional
|
|
2018
|
+
atoms:
|
|
2019
|
+
- omp.clause.map.always
|
|
2020
|
+
- source: nvidia-hpc-ug-openmp
|
|
2021
|
+
toolchains: [nvhpc, nvhpc269]
|
|
2022
|
+
claim: unsupported
|
|
2023
|
+
versions:
|
|
2024
|
+
- 50
|
|
2025
|
+
- 52
|
|
2026
|
+
quote: Of the map-type-modifiers, always is supported, close is ignored, and mapper(mapid) is not supported.
|
|
2027
|
+
language: Fortran and C/C++
|
|
2028
|
+
note: 'HPC Compilers User''s Guide, section 7.4 OpenMP Subset (numbered as OpenMP 5.0): 2.19.7 Data Mapping Attribute Rules, Clauses, and Directives. close: ignored; mapper: not supported'
|
|
2029
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
2030
|
+
status: provisional
|
|
2031
|
+
atoms:
|
|
2032
|
+
- omp.clause.map.close
|
|
2033
|
+
- omp.clause.map.mapper
|
|
2034
|
+
- source: nvidia-hpc-ug-openmp
|
|
2035
|
+
toolchains: [nvhpc, nvhpc269]
|
|
2036
|
+
claim: partial
|
|
2037
|
+
form: accepted
|
|
2038
|
+
versions:
|
|
2039
|
+
- 50
|
|
2040
|
+
- 52
|
|
2041
|
+
quote: Source code with requires unified_shared_memory directive is accepted but requires -gpu=mem:unified flag to activate Unified Memory Mode.
|
|
2042
|
+
language: Fortran and C/C++
|
|
2043
|
+
note: HPC Compilers User's Guide, section 7.8 OpenMP with CUDA Unified Memory
|
|
2044
|
+
version_note: NVIDIA HPC SDK 25.11 and 26.9 (each claim recorded for a release whose guide has the quote)
|
|
2045
|
+
status: provisional
|
|
2046
|
+
atoms:
|
|
2047
|
+
- omp.clause.unified_shared_memory
|