[all-commits] [llvm/llvm-project] 9fa425: [AMDGPU] Set amdgpu-memory-bound if a basic block ...

Abinav Puthan Purayil via All-commits all-commits at lists.llvm.org
Tue Jul 19 02:48:08 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9fa425c1ab2f763da14953f22f005dd1ca581c1c
      https://github.com/llvm/llvm-project/commit/9fa425c1ab2f763da14953f22f005dd1ca581c1c
  Author: Abinav Puthan Purayil <abinavpp at gmail.com>
  Date:   2022-07-19 (Tue, 19 Jul 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h
    M llvm/test/CodeGen/AMDGPU/perfhint.ll

  Log Message:
  -----------
  [AMDGPU] Set amdgpu-memory-bound if a basic block has dense global memory access

AMDGPUPerfHintAnalysis doesn't set the memory bound attribute if
FuncInfo::InstCost outweighs MemInstCost even if we have a basic block
with relatively high global memory access. GCNSchedStrategy could revert
optimal scheduling in favour of occupancy which seems to degrade
performance for some kernels. This change introduces the
HasDenseGlobalMemAcc metric in the heuristic that makes the analysis
more conservative in these cases.

This fixes SWDEV-334259/SWDEV-343932

Differential Revision: https://reviews.llvm.org/D129759




More information about the All-commits mailing list