Skip to content

AOMP Release 19.0-0

Compare
Choose a tag to compare
@estewart08 estewart08 released this 21 Mar 15:20

These are the release notes for AOMP 19.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 and/or/while contributions 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 19.0-0, the last trunk commit is 601e102bdb55e12a2f791e0d68fd6f81ffc21e21 on March 17, 2024. The last amd-only commit is a3c2cd57a6f99709d61d35d17527c84d1af0c780 on March 16, 2024. These commits forms a frozen branch now called "aomp-19.0-0". See https://github.com/ROCm/llvm-project/tree/aomp-19.0-0.

The integrated ROCm components for this AOMP release were built with ROCM 6.0.2 sources.
This is the 1st AOMP release based on LLVM 19 development.

These are the changes since AOMP 18.0-1:

  • Now use ROCM 6.0.2 sources for non compiler components.
  • Default to not use multiple SDMA engines. This could be changed for testing by setting:
    LIBOMPTARGET_AMDGPU_USE_MULTIPLE_SDMA_ENGINES=true
  • Updates to gpurun utility
    • uses preset HSA_CU_MASK and ROCR_VISIBLE_DEVICES.
  • OpenMP lit testing pre-install, 100% pass rate.
  • [Perf] Implement the loop directive as used in the metadirective for spec.
  • Support for testing QMCpack NiO performance.
  • ROCgdb support for gfx1103.
  • Circumvented driver timing issue with complex signal chains. Post kernel copies occasionally started before kernel completion. The temporary fix forces the wait for kernel completion before scheduling post-kernel copies. For testing purposes, this behavior could be reverted by setting LIBOMPTARGET_SYNC_COPY_BACK=false

Fix regressions:
#616 llvm-addr2line does not work on AOMP-generated binary.

Known Failures:

  • Smoke
    • targetid_multi_image
    • get_mapped_ptr