AOMP Release 16.0-1
These are the release notes for AOMP 16.0-1. This release uses modifications to the LLVM development trunk called the "amd-stg-open" branch. This is found at https://github.com/RadeonOpenCompute/llvm-project. The amd-stg-open branch is constantly changing as AMD merges upstream development trunk with its internal open development efforts. Some AMD modifications are experimental and/or under review for the LLVM upstream mono-repo. The AOMP release is a snapshot of amd-stg-open and supporting repositories to build various components.
For AOMP 16.0-1, the last trunk commit is aa89f08afad7ee0581c39638abd8ee0df9ba1c65 on Oct 17 2022. This is the 2nd AOMP release for LLVM 16 development. The last amd-only commit is 16791f61b04f07a7968a67c18ed41388279018d5 on Oct 13, 2022. This forms a frozen branch now called "aomp-16.0-1". See https://github.com/RadeonOpenCompute/llvm-project/tree/aomp-16.0-1 . Currently, the amd-only content differs from the trunk by 63,997 lines in 467 files.
AOMP is a "standalone" build of all necessary ROCm components with the exception of the kernel module and libdrm. The non llvm-project components for this release were built with ROCM 5.3.x sources.
The changes from 16.0-0 to 16.0-1 include:
- Enhanced xteam reductions, no codegen.
- Optimized wait for signals (perf gain).
- Fix aompcc and mark for deprecation.
- Added switch for code object version 5. Version 4 is still default.
- Support for gfx1100 - gfx1103.
- Support for order(concurrent).
- Build OpenMP warnings cleaned up.
- Support atomic min/max on MI200.
- Support for device new and delete.
- Bumped cmake version to 3.18.5.
- Switch to ROCm 5.3 sources.
Errata: (potential regressions from 16.0-0)
- Performance decrease with lulesh
- Performance decrease with Nekbone
- Smoke test failure: flang-315870
- Hip example failure: device-lib