Skip to content

[Inductor][XPU] test_snode_runtime.py ComputeBoundedTests/MemoryBoundedTests fail on B60 (runtime estimate returns 0) #5124

Description

@daisyden

Description

On XPU (device B60), all tests in test/inductor/test_snode_runtime.py fail with
the same error, on torch 2.14:

AssertionError: AssertionError not raised

Impacted cases

testfile classname name
test/inductor/test_snode_runtime.py ComputeBoundedTests test_addmm
test/inductor/test_snode_runtime.py ComputeBoundedTests test_bmm
test/inductor/test_snode_runtime.py ComputeBoundedTests test_conv1d
test/inductor/test_snode_runtime.py ComputeBoundedTests test_conv2d
test/inductor/test_snode_runtime.py ComputeBoundedTests test_conv2d_transpose
test/inductor/test_snode_runtime.py ComputeBoundedTests test_conv3d
test/inductor/test_snode_runtime.py ComputeBoundedTests test_mm
test/inductor/test_snode_runtime.py MemoryBoundedTests test_dynamic
test/inductor/test_snode_runtime.py MemoryBoundedTests test_horizontal_reduction_pointwise
test/inductor/test_snode_runtime.py MemoryBoundedTests test_pointwise
test/inductor/test_snode_runtime.py MemoryBoundedTests test_relu

Root cause (brief)

These tests assert assertNotZero(calculate_runtime(...)), where
calculate_runtime sums metrics.node_runtimes from the inductor scheduler's
runtime estimator. On XPU the estimate comes back as 0.0, so assertNotZero
(-> assertNotEqual(x, 0.0)) fails, surfacing as "AssertionError not raised".

The scheduler runtime estimate depends on per-device info (peak FLOPS and DRAM
GB/s). The XPU device-info support added in #189819 only populates data for PVC.
On B60 (Battlemage) the device is not covered, so FLOPS/bandwidth resolve to 0
and every node's estimated runtime is 0 -- failing both the compute-bound and
memory-bound tests.

Fix direction

Add B60 (and other non-PVC XPU devices) to the device-info table / GBps data-sheet
lookup so the runtime estimator returns nonzero FLOPS and DRAM bandwidth.

Environment

  • torch 2.14
  • device: B60

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions