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

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 15 12:45:40 PST 2022


alex-t marked an inline comment as done.
alex-t added a comment.

In D139710#3998487 <https://reviews.llvm.org/D139710#3998487>, @rampitec wrote:

> I still want to have an option to disable this heuristic.
> Also are there any performance measurements done?

We still have no HW available to run the benchmarks.
Cause we've been waiting too long for that, the idea behind this patch is:
let's commit it and then the QA will have to run all the benchmarks for me :)



================
Comment at: llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp:1048
+       ((OldMetric + ScheduleMetricBias) * ScheduleMetrics::ScaleFactor) /
+       NewMetric) /
+      ScheduleMetrics::ScaleFactor;
----------------
rampitec wrote:
> If NewMetric is 0 you will divide by 0.
It is never 0. All metrics with a bubble amount of less than 1% are 1.

```
unsigned getMetric() const {
    unsigned Metric = (BubbleCycles * ScaleFactor) / ScheduleLength;
    // Metric is zero if the amount of bubbles is less than 1% which is too
    // small. So, return 1.
    return Metric ? Metric : 1;
  }
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139710/new/

https://reviews.llvm.org/D139710



More information about the llvm-commits mailing list