Skip to content

AOMP Release 20.0-0

Compare
Choose a tag to compare
@estewart08 estewart08 released this 15 Oct 16:41

These are the release notes for AOMP 20.0-0. AOMP uses AMD developer modifications to the upstream LLVM development trunk. These differences are managed in a branch called the "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 (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 20.0-0, the last LLVM trunk commit is 7fa0d05a04056aac4365c69c4b515f613a43e454 on October 8, 2024. The last amd-only commit is 5809bc885c815fa281320094be6549458e15cf14 on October 10, 2024. These commits form a frozen branch now called "aomp-20.0-0". See https://github.com/ROCm/llvm-project/tree/aomp-20.0-0.

The integrated ROCm components for this AOMP release were built with ROCM 6.2.2 sources.

This is the 1st AOMP release based on upstream LLVM 20 development.

Changes since AOMP 19.0-3:

  • Switched to ROCm 6.2.2 sources. This introduced a new component called rocprofiler-register.
  • Move the install of llvm to lib/llvm, which is where ROCm installs llvm.
  • AOMP now creates and uses rocm.cfg, clang.cfg clang++.cfg, etc.
  • Add support for multiple devices (-md option) to gpurun utility.
  • AOMP example updates:
    • Use a common include file to set LLVM_INSTALL_DIR and LLVM_GPU_ARCH using amdgpu-arch and nvidia-arch.
    • Remove mygpu dependency from every example.
    • Create a new category stress for complex examples not in CI.
    • Build Kokkos with a make file instead of script.
  • Added build support for gfx90c, gfx1103, gfx1150, gfx1151, and gfx1152.
  • Add ROCm SMI and AMD SMI as AOMP components.

Errata for AOMP 20.0-0:

  • amdflang-new symbolic link should not exist as there is no flang-new binary.