Skip to content

AOMP Release 0.6-2

Pre-release
Pre-release
Compare
Choose a tag to compare
@gregrodgers 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