AMD Releases AOMP 13.0-5 Radeon OpenMP Compiler
In addition to the AOCC compiler for Zen CPUs, another LLVM/Clang downstream maintained by AMD is the AOMP compiler as where they host their various patches not yet merged around Radeon OpenMP offloading support. This week marked the release of AOMP 13.0-5 as their latest work on that front for the newest OpenMP GPU offloading capabilities.
AOMP 13.0-5 is the newest release of this compiler currently based on the upstream LLVM state as of April with various AMD patches on top for what hasn't yet been reviewed/mainlined for upstream LLVM. This new release features a new library called libLLVMOffloadArch.
AMD engineers sum up the 13.0-5 work as:
AOMP 13.0-5 can be downloaded from GitHub along with binaries for CentOS / RHEL 7 and 8, SUSE Linux Enterprise 15, and Ubuntu 18.04/20.04. AOMP goes along with their Radeon Open eCosystem (ROCm) stack to enable the GPU compute capabilities on Linux.
AOMP 13.0-5 is the newest release of this compiler currently based on the upstream LLVM state as of April with various AMD patches on top for what hasn't yet been reviewed/mainlined for upstream LLVM. This new release features a new library called libLLVMOffloadArch.
AMD engineers sum up the 13.0-5 work as:
This release includes a demo of a new LLVM library called libLLVMOffloadArch.cpp. The clang tool offload-arch is now built with this library. The libomptarget runtime no longer calls the binary "offload-arch -c" and traps the stdout. Instead a library call is made to libLLVMOffloadArch.cpp to determine current capabilities. The tool offload-arch is still created with the llvm build and the sources are in llvm-project/llvm/lib/OffloadArch/offload-arch . Updates were made so offload-arch returns the first VISIBLE gpu which could be the result of setting ROCM_VISIBLE_DEVICES for amdgpus.
This release starts to deprecate the use of mygpu in favor of offload-arch. A new version of mygpu calls offload-arch. The tables used to drive mygpu have been deleted. All pci-id tables for offloading identification are now in llvm library OffloadArch.
Added a new command line option -offload-usm which turns on OpenMP pragma requires unified_shared_memory and sets toolchain flags appropriately. This saves having to change every source file to turn on unified shared memory.
AOMP 13.0-5 can be downloaded from GitHub along with binaries for CentOS / RHEL 7 and 8, SUSE Linux Enterprise 15, and Ubuntu 18.04/20.04. AOMP goes along with their Radeon Open eCosystem (ROCm) stack to enable the GPU compute capabilities on Linux.
Add A Comment