Releases: ROCm/aomp
rocm-7.1.1
ROCm release v7.1.1
rocm-7.1.0
ROCm release v7.1.0
rocm-7.0.2
ROCm release v7.0.2
AOMP Release 22.0-1
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 concurrentenable delayed localization by default - Fixed issue with named constants in SHARED and FIRSTPRIVATE clauses
- Don't privatize implicit symbols declare by nested
BLOCKs - 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: supportreduceon devicedo concurrent: supportlocalon 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 concurrentmapping 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)
rocm-6.4.4
ROCm release v6.4.4
rocm-7.0.1
ROCm release v7.0.1
rocm-7.0.0
ROCm release v7.0.0
rocm-6.4.3
ROCm release v6.4.3
rocm-6.4.2
ROCm release v6.4.2
AOMP Release 21.0-1
These are the release notes for AOMP 21.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 21.0-1, the last LLVM trunk commit is 3009aa75cae240fc400c65c748a366d584998f9d on May 13, 2025. The last amd-only commit is a6d9cba0c648aaeb0d637963b1545829a380a3ea on May 13, 2025. These commits form a frozen branch now called "aomp-21.0-1". See https://github.com/ROCm/llvm-project/tree/aomp-21.0-1.
The integrated ROCm components for this AOMP release were built with ROCM 6.4.0 sources.
This is the 2nd AOMP release based on upstream LLVM 21 development.
Changes since AOMP 21.0-0:
- Integrated ROCm components are built with ROCM 6.4 sources whereas in AOMP 21.0-0 they were built with ROCM 6.3
- The binary name for the LLVM Fortran compiler driver is flang-21 whereas in AOMP 21.0-0, it was flang-new. The symbolic link flang now links to the new binary name flang-21
- The AOMP hip-libraries package now includes rocRAND, hipRAND, and half. AOMP testing has been expanded to include HeCBench
- MI300 xnack issues have been resolved.
- Updates to ROCr patch for deprecated gfx ids.
- Fixed Kokkos build ver v3.7.01
- Added smoke tests for
target firstprivate - Limited release build of hip-libraries to gfx90a, gfx942, gfx1103, and gfx1150.
- Several flang (LLVM 21) updates and fixes:
- Fix do-concurrent
- Fix reduction of a single element
- Fix parallel regions with live-out values
- Fix combined target parallel
- Add support for pooled memory allocator
- Replace cmake FLANG_INCLUDE_RUNTIME option with LLVM_ENABLE_RUNTIMES=flang-rt
- Device side Fortran runtime available via -lflang_rt.hostdevice (previously -lFortranRuntimeHostDevice)
- Add hipfort support
- I/O from device supported
- Debug supported on host, initial support provided for target routines
- Support
bindclause onloopandteams loop - Support
reductiononloopdirectives - Added support for
target firstprivatefor included target tasks - Generate math ops for non-precise acos, acosh, asin, asinh, atan, atanh, erfc intrinsic calls
- Allow declare target to be used on functions external to the declare targets scope
- Moved the gpurun utility from the aomp-extras repository to the utils directory of aomp. Eventually we will eliminate the aomp-extras repository.
- Restored optimization options for build of OpenMP Device RTL.
- Added environment variables for controlling buffer flush, OMPX_FlushOnBufferFull and OMPX_FlushOnShutdown
- Replaced libomptarget.devicertl.a with target specific bitcode libraries.