This patch adds the initial coexec scheduler scaffold for machine learning workloads on gfx1250. It introduces function and module-level controls for selecting the AMDGPU preRA and postRA schedulers, including an `amdgpu-workload-type` module flag that maps ML workloads to coexec preRA scheduling and a nop postRA scheduler by default. It also updates the coexec scheduler to use a simplified top-down candidate selection path that considers both available and pending queues through a single flow, setting up follow-on heuristic work.
21 lines
694 B
YAML
21 lines
694 B
YAML
# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=machine-scheduler -amdgpu-sched-strategy=coexec %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=GFX1100
|
|
# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass=machine-scheduler -amdgpu-sched-strategy=coexec %s -o /dev/null 2>&1 | FileCheck --allow-empty %s --check-prefix=GFX1250
|
|
|
|
# GFX1100: warning: {{.*}}'amdgpu-sched-strategy'='coexec' is only supported for gfx1250
|
|
# GFX1250-NOT: warning:
|
|
|
|
--- |
|
|
define void @coexec_sched_warning() #0 { ret void }
|
|
|
|
attributes #0 = { "amdgpu-waves-per-eu"="1,1" }
|
|
...
|
|
|
|
---
|
|
name: coexec_sched_warning
|
|
tracksRegLiveness: true
|
|
body: |
|
|
bb.0:
|
|
%0:vgpr_32 = IMPLICIT_DEF
|
|
S_ENDPGM 0, implicit %0
|
|
...
|