[PATCH] D139710: [AMDGPU] MachineScheduler: schedule execution metric added for the UnclusteredHighRPStage

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 9 05:58:51 PST 2022


alex-t created this revision.
alex-t added reviewers: vpykhtin, kerbowa, rampitec, foad.
Herald added subscribers: kosarev, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl, arsenm.
Herald added a project: All.
alex-t requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

Since the divergence-driven ISel was fully enabled we have more VGPRs available.

  MachineScheduler trying to take advantage of that bumps up the occupancy sacrificing
  the hiding of memory access latency.  This really spoils the initially good schedule.
  A new metric that reflects the latency hiding quality of the schedule has been created
  to make it to balance between occupancy and latency. The metric is based on the latency
  model which computes the bubble to working cycles ratio. Then we use this ratio to decide
  if the higher occupancy schedule is profitable as follows:
  
      Profit = NewOccupancy/OldOccupancy * OldMetric/NewMetric


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139710

Files:
  llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
  llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
  llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
  llvm/test/CodeGen/AMDGPU/load-global-i16.ll
  llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139710.481611.patch
Type: text/x-patch
Size: 71512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221209/1fb77c22/attachment.bin>


More information about the llvm-commits mailing list