AOMP Release 0.6-2
Pre-release
Pre-release
gregrodgers
released this
01 May 01:34
·
1047 commits
to master
since this release
This release uses the release_80 stable release of clang/llvm/lld/openmp repositories. The artifacts for this release include the patches to the release_80 repos to support openmp for amdgcn for release 0.6-2
Here are the fixes for 0.6-2
- Fixed issue with constant size teams and threads.
- Moved to the stable clang/llvm 8.0 code base
- Fixed code in deviceRTLs/amdgcn that set Max_Warp_Number to 16, was 64
- Enable Float16 for 0.6-2, disabled by default in release_80 merge
- Disable META data opt, and provide evar AMDGPU_ENABLE_META_OPT_BUG to enable
- Add archive handling for bc linking.
- For performance, rewrite select_outline_wrapper calls, to be direct calls.
Example: change the generated from:
@_HASHW_DeclareSharedMemory_cpp__omp_outlined___wrapper =
local_unnamed_addr addrspace(4) constant i64 -4874776124079246075
call void @select_outline_wrapper(i16 0, i32 %6, i64 -4874776124079246075)
to:
call void @DeclareSharedMemory_cpp__omp_outlined___wrapper(i16 0, i32 %6) - In release_80, Loop_tripcount API is now used, so we need to limit num_groups/teams
to no more than Max_Teams, fixes assertok_error, and snap4
Also handle num_teams clause inside loop_tripcount logic. - BALLOT_SYNC macro replaced with ACTIVEMASK in release_80