Skip to content

[AMD][DirectX ] WavePrefixProduct.* tests fail on AMD + DirectX #1102

@bob80905

Description

@bob80905

WavePrefixProduct tests fail on AMD for floating point vectors of size 4 that are not 32 bits, and in the constant folding case.
A link to the logs:
https://github.com/llvm/offload-test-suite/actions/runs/24374208768/job/71184136405?pr=1074#step:13:688

A failure log snippet below:


# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: AMD Radeon RX 9070
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Creating SRV: { Size = 8, Register = t0, Space = 0 }
# | Creating UAV: { Size = 32, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u4, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u5, Space = 0, HasCounter = 0 }
# |     EltSize = 8 NumElts = 1
# | SRV: HeapIdx = 0 EltSize = 8 NumElts = 1
# |     EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 1 EltSize = 8 NumElts = 4 HasCounter = 0
# |     EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 2 EltSize = 8 NumElts = 4 HasCounter = 0
# |     EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 3 EltSize = 8 NumElts = 4 HasCounter = 0
# |     EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 4 EltSize = 8 NumElts = 4 HasCounter = 0
# |     EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 5 EltSize = 8 NumElts = 4 HasCounter = 0
# | Buffers created.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: ExpectedOut4
# | Comparison Rule: BufferFloatULP
# | ULP: 2
# | Expected:
# | ---
# | Name:            ExpectedOut4
# | Format:          Float16
# | Stride:          8
# | Data:            [ 0x3C00, 0x3C00, 0x3C00, 0x3C00, 0x4000, 0x4200, 0x4500, 
# |                    0x4700, 0x4400, 0x4880, 0x4E40, 0x5220, 0x4800, 0x4EC0, 
# |                    0x57D0, 0x5D5C ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out4
# | Format:          Float16
# | Stride:          8
# | Data:            [ 0x3C00, 0x3C00, 0x3C00, 0x3C00, 0x4000, 0x4200, 0x4500, 
# |                    0x4700, 0x4400, 0x4880, 0x4E40, 0x5220, 0x4800, 0x4EC0, 
# |                    0x57D0, 0x4000 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x3c00, 0x3c00, 0x3c00, 0x3c00, 0x4000, 0x4200, 0x4500, 0x4700, 0x4400, 0x4880, 0x4e40, 0x5220, 0x4800, 0x4ec0, 0x57d0, 0x5d5c ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x3c00, 0x3c00, 0x3c00, 0x3c00, 0x4000, 0x4200, 0x4500, 0x4700, 0x4400, 0x4880, 0x4e40, 0x5220, 0x4800, 0x4ec0, 0x57d0, 0x4000 ]
# | 
# | Test failed: ExpectedOut5
# | Comparison Rule: BufferFloatULP
# | ULP: 2
# | Expected:
# | ---
# | Name:            ExpectedOut5
# | Format:          Float16
# | Stride:          8
# | Data:            [ 0x3C00, 0x3C00, 0x3C00, 0x3C00, 0x4000, 0x4200, 0x4500, 
# |                    0x4700, 0x4400, 0x4880, 0x4E40, 0x5220, 0x4800, 0x4EC0, 
# |                    0x57D0, 0x5D5C ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out5
# | Format:          Float16
# | Stride:          8
# | Data:            [ 0x4200, 0x4500, 0x4700, 0x3C00, 0x4200, 0x4500, 0x4700, 
# |                    0x4700, 0x4200, 0x4500, 0x4700, 0x5220, 0x4200, 0x4500, 
# |                    0x4700, 0x5D5C ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x3c00, 0x3c00, 0x3c00, 0x3c00, 0x4000, 0x4200, 0x4500, 0x4700, 0x4400, 0x4880, 0x4e40, 0x5220, 0x4800, 0x4ec0, 0x57d0, 0x5d5c ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x4200, 0x4500, 0x4700, 0x3c00, 0x4200, 0x4500, 0x4700, 0x4700, 0x4200, 0x4500, 0x4700, 0x5220, 0x4200, 0x4500, 0x4700, 0x5d5c ]
# | 
# `-----------------------------
# error: command failed with exit status: 1

--

********************

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions