These are the release notes for AOMP 22.0-1. AOMP uses AMD developer modifications to the upstream LLVM development trunk. These differences are managed in a branch called "amd-staging". This branch is found in a mirror of upstream LLVM found at https://github.com/ROCm/llvm-project. The amd-staging branch is constantly changing as it merges the upstream development trunk with its downstream development updates. The AMD modifications are experimental while under review for the upstream trunk. AOMP uses a snapshot of amd-staging at the commit ids and dates listed below. AOMP also includes builds of related ROCm components. We call AOMP a "standalone" build as it does not use or require ROCm with the exception of the kernel module (amdgpu-dkms) and libdrm which are often part of the Linux distribution. AOMP is isolated from any ROCm installations by installing into /usr/lib/aomp and the use of RPATH for runtime libraries.
For AOMP 22.0-1, the last LLVM trunk commit is 99c741ea473ad47aef50e4be1e6be094741151b2 on September 30, 2025. The last amd-only commit is d96c32cdaf588903917a9e7db172729759e34c9d on September 30, 2025. These commits form a frozen branch now called "aomp-22.0-1". See https://github.com/ROCm/llvm-project/tree/aomp-22.0-1.
The integrated ROCm components for this AOMP release were built with ROCM 7.0.1 sources.
This is the 1st AOMP release based on upstream LLVM 22 development.
These are the changes since 21.0-1:
- Switch to ROCm 7.0.1 sources
- Add BUILD_ICD to build_hipamd.sh to support OpenCL
- Use of aomp-shellcheck on build scripts
- Merge aomp-shell-format
- Rename aomp-shell-format to aomp-shellcheck
- Run aomp-shellcheck on aomp_common_vars and dependent build scripts
- Unit testing for shell scripts
- Change RCCL build from install.sh to traditional build
- Cleanup to remove AOMP_APPLY_ATD_AMD_STAGING_PATCH
- Deprecated rocprof and rocprofv2 in favor of rocprofv3 from rocprofiler-sdk
flang updates:
- Support for complex math intrinsics in target offload regions
- Reduction support for do concurrent
- Mapping improvements
- Add canonical loop operations
- Allow cycle in target teams distribute [simd]
- Additional support for debug in target regions
- Improved alias analysis
- Support directive spellings introduced in OpenMP 6.0
- Added atomic controls options for OpenMP offload:
-f[no-]atomic-remote-memory
-f[no-]atomic-fine-grained-memory
-f[no-]atomic-ignore-denormal-mode
-f[no-]ignore-denormal-mode
-m[no-]unsafe-fp-atomics (alias for -f[no-]ignore-denormal-mode) - Added support for complex pow
- Add 6.1 as a valid OpenMP version
- Implement LOWER= argument for C_F_POINTER (Fortran 2023)
- Implement !$omp unroll using omp.unroll_heuristic
- For
do concurrent
enable delayed localization by default - Fixed issue with named constants in SHARED and FIRSTPRIVATE clauses
- Don't privatize implicit symbols declare by nested
BLOCK
s - Reassociate ATOMIC update expressions (currently integer type only)
- Parse OpenMP 6.0 map modifiers
- Add -fintrinsic-modules-path= alias
- Support -gsplit-dwarf
- Add support for -ffast-real-mod
- Implicitly map nested allocatable components in derived types
do concurrent
: supportreduce
on devicedo concurrent
: supportlocal
on device- Preserve to/from flags in mapper base entry for mappers
- Add new ConvertComplexPow pass for Flang
- Support -flto-partitions=N and -f[no]fat-lto-objects
- Support -gdwarf-N option
- Extend
do concurrent
mapping to device - Enable tiling - supports tripcount not a multiple of tile size
- Fix mapping of character type with LEN > 1 specified
- Fix default firstprivatization miscategorization of mod file symbols
- Reassociate logical ATOMIC update expressions
- Reassociate floating-point ATOMIC update expressions (with -ffast-math)
- Add SPMD-No-Loop mode to OpenMP offload runtime
- requires setting both of the following flags:
-fopenmp-assume-teams-oversubscription
-fopenmp-assume-threads-oversubscription
- requires setting both of the following flags:
Errata:
- Flang failure seen in GenASiS/SPEC (error: failure in HLFIR intrinsic simplification)