
Not to be confused with AOCC that is AMD's LLVM/Clang downstream focused on the very latest Zen CPU optimizations, AOMP continues to be focused on providing the leading-edge compiler support for GPU compute offload. With AOMP 18.0-0, the LLVM code has been re-based to the latest LLVM 18.0 Git state.
In addition to rebasing against the latest upstream LLVM code, there is a new driver default, zero-copy support is enabled for the AMD Instinct MI300A, support for HIP bundles, OpenMP 5.1 is the default OMP version in use, and various other improvements and fixes.
- New driver default (opaque offload linker)
This driver uses clang-offload-packager to create and extract heterogeneous objects.
For amdgpu, the final link phase steps through a series of commands instead of making a single call to clang-linker-wrapper. clang-linker-wrapper obscures the process of linking and embedding offload and host objects. To use clang-linker-wrapper, use command line option --no-opaque-offload-linker.
Fix support for multi-arch.
Optimizations to remove initial hostexec malloc.
This driver uses clang-offload-packager to build and extract heterogeneous objects.
- Zero copy support for MI300A.
- Fixed data_share2 smoke test regression.
- Fix new DeviceRTL schedule clause intermittent fail.
- Support HIP bundles.
- Upstream convergence (3490 lines removed)
Remove old plugin code.
Remove the hostRPC code.
DeviceRTL cleanup - Synchronized threads
- Set default OpenMP to 5.1.
- Restore safe buffer usage warnings for MIOpen GTest.
- Fix build to use LLVM-project mono-repo components, ROCm devicelibs and comgr.
AOMP 18.0-0 compiler sources are available for download from GitHub . It's also great to see more of the AOMP code being upstreamed into LLVM and thus the smaller code delta being carried by this AMD downstream compiler.