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
bind
clause onloop
andteams loop
- Support
reduction
onloop
directives - Added support for
target firstprivate
for 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.