[PATCH] D158368: [AMDGPU][MISCHED] GCNBalancedSchedStrategy.
Alexander via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 25 11:48:58 PDT 2023
alex-t marked 2 inline comments as done.
alex-t added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/GCNSchedStrategy.h:499
+ SchedStages.push_back(GCNSchedStageID::UnclusteredHighRPReschedule);
+ SchedStages.push_back(GCNSchedStageID::ClusteredLowOccupancyReschedule);
+ SchedStages.push_back(GCNSchedStageID::PreRARematerialize);
----------------
jrbyrnes wrote:
> Probably shouldn't allow occupancy drops in ClusteredLowOccupancyReschedule, otherwise we will need to rerun the phase.
Okay, it may achieve better ILP, sacrificing the occupancy, and the resulting metric will be the same or even better. Did you mean we should have a separate check that reverts the ClusteredLowOccupancyReschedule if the occupancy has been dropped?
================
Comment at: llvm/lib/Target/AMDGPU/GCNSchedStrategy.h:498
+ SchedStages.push_back(GCNSchedStageID::OccInitialSchedule);
+ SchedStages.push_back(GCNSchedStageID::UnclusteredHighRPReschedule);
+ SchedStages.push_back(GCNSchedStageID::ClusteredLowOccupancyReschedule);
----------------
jrbyrnes wrote:
> I'm not sure I understand the purpose of UnclusteredHighRPReschedule stage in the context of a balanced scheduler.
As I understood, the UnclusteredHighRPReschedule attempts to achieve better occupancy by removing most mutations, allowing for loose instruction placement.
Since our metric aims for the balance between better occupancy and better ILP, we might accept the result of the UnclusteredHighRPReschedule phase if it was managed to achieve better occupancy w/o the loss in ILP.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158368/new/
https://reviews.llvm.org/D158368
More information about the llvm-commits
mailing list