[PATCH] D133731: [AMDGPU] Add Lower Bound to PipelineSolver

Jeffrey Byrnes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 12 15:19:37 PDT 2022


jrbyrnes created this revision.
Herald added subscribers: kosarev, foad, kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl, arsenm.
Herald added a project: All.
jrbyrnes requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

This patch provides an algorithm to compute the lower bound on the cost of the SUs that have not yet been assigned to a SG. It finds the minimum cost SG for a given SU based on the current partial pipeline, but does not assign the SU to the SG. Thus, it will not create added dependencies / affect cost for the other remaining unassigned SUs. Then, at each branch in the search tree, we are able to use the lower bound on the cost of the remaining SUs for additional pruning.

The net benefit of this feature is difficult to conclude through analytical means, and should be done experimentally. While the LB does improve pruning, it increases the time complexity of processing a branch in the search tree. The cost computation is expensive, and the LB computes the cost for all unassigned SUs for every branch in the search tree.

Change-Id: I803200917c6d02f0ac8b916b61741b2b7d72d1e0


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133731

Files:
  llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
  llvm/test/CodeGen/AMDGPU/igrouplp-pipelinesolver-lowerbound.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133731.459572.patch
Type: text/x-patch
Size: 17964 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220912/c47a88b5/attachment.bin>


More information about the llvm-commits mailing list