AMD developers update the AOMP compiler for upcoming RDNA 3 Navi 3X "GFX11" GPUs and Phoenix APUs
AOMP, or AMD OpenMP, is a build of LLVM and other supported software to assist with OpenMP-targeted offloads on AMD's graphics cards. Additionally, AOMP supports GPU offloading with OpenCL, CUDA, and HIP. The newest update offers support for GFX1100 to GFX1103 GPUs, which include Navi 3X series GPUs and the Phoenix APU.
The GitHub page for AOMP Release 16.0-1 explains that the release is the second version for development with LLVM 16. AMD-specific content within the newest release differs from the trunk "by 63,997 lines in 467 files."
The newest changes from version 16.0-0 to 16.0-1 are as follows:
- 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 still defaults.
- 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.
- Engineers bumped the CMake version to 3.18.5.
- Switch to ROCm 5.3 sources.
The one regression listed from AMD AOMP 16.0-0 is a decrease in performance with lulesh.
Another interesting point of AOMP is that the compiler contains the llvm amdgcn and the llvm nvptx backend and is fully compatible with AMD Radeon and NVIDIA GPU lines.
AMD has yet to offer the same support its ROCm platform. AMD ROCm is the company's software development platform, fully open-sourced, for high-performance computing and hyperscale-level GPU computing, providing UNIX philosophies, such as "choice, minimalism, and modular software development." AMD has built the ROCm platform to allow for evolution as new technologies become introduced.
AMD ROCm provides:
- Multi-GPU coarse-grain shared virtual memory
- Process concurrency and preemption
- Large memory allocations
- HSA signals and atomics
- User-mode queues and DMA
- Standardized loader and code-object format
- Dynamic and offline-compilation support
- Peer-to-peer multi-GPU operation with RDMA support
- Profiler trace and event-collection API
- Systems-management API and tools
Users can find more information about AMD AOMP Release 16.0-1 and the ability to download the newest build. Those interested in reading more about AMD ROCm can find more details on the official support page.