Skip to content

[NV][Clang] WavePrefixProduct.* tests fail on Nvidia + Clang + DirectX #1084

@bob80905

Description

@bob80905

At the very least, these are the tests that are failing in this way:

Failed Tests (4):
  OffloadTest-clang-d3d12 :: WaveOps/WavePrefixProduct.32.test
  OffloadTest-clang-d3d12 :: WaveOps/WavePrefixProduct.fp16.test
  OffloadTest-clang-d3d12 :: WaveOps/WavePrefixProduct.fp64.test
  OffloadTest-clang-d3d12 :: WaveOps/WavePrefixProduct.int64.test

Log: https://github.com/llvm/offload-test-suite/actions/runs/24367642052/job/71163433231?pr=1074#step:13:1360

The failure logs are here:

# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: NVIDIA GeForce RTX 5070
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Creating SRV: { Size = 16, Register = t0, Space = 0 }
# | Creating UAV: { Size = 64, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u4, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u5, Space = 0, HasCounter = 0 }
# | Creating SRV: { Size = 16, Register = t6, Space = 0 }
# | Creating UAV: { Size = 64, Register = u7, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u8, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u9, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u10, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u11, Space = 0, HasCounter = 0 }
# | Creating SRV: { Size = 16, Register = t12, Space = 0 }
# | Creating UAV: { Size = 64, Register = u13, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u14, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u15, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u16, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 64, Register = u17, Space = 0, HasCounter = 0 }
# |     EltSize = 16 NumElts = 1
# | SRV: HeapIdx = 0 EltSize = 16 NumElts = 1
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 1 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 2 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 3 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 4 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 5 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 1
# | SRV: HeapIdx = 6 EltSize = 16 NumElts = 1
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 7 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 8 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 9 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 10 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 11 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 1
# | SRV: HeapIdx = 12 EltSize = 16 NumElts = 1
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 13 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 14 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 15 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 16 EltSize = 16 NumElts = 4 HasCounter = 0
# |     EltSize = 16 NumElts = 4
# | UAV: HeapIdx = 17 EltSize = 16 NumElts = 4 HasCounter = 0
# | Buffers created.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: ExpectedOut1
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut1
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out1
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0 ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0 ]
# | 
# | Test failed: ExpectedOut2
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut2
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 0, 0, 2, 3, 0, 0, 4, 9, 0, 0, 8, 27, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out2
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 0, 0, 1, 1, 0, 0, 4, 9, 0, 0, 8, 27, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x1, 0x1, 0x0, 0x0, 0x2, 0x3, 0x0, 0x0, 0x4, 0x9, 0x0, 0x0, 0x8, 0x1b, 0x0, 0x0 ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x4, 0x9, 0x0, 0x0, 0x8, 0x1b, 0x0, 0x0 ]
# | 
# | Test failed: ExpectedOut3
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut3
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 1, 0, 2, 3, 5, 0, 4, 9, 25, 0, 8, 27, 125, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out3
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 1, 0, 1, 1, 1, 0, 4, 9, 25, 0, 8, 27, 125, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x1, 0x1, 0x1, 0x0, 0x2, 0x3, 0x5, 0x0, 0x4, 0x9, 0x19, 0x0, 0x8, 0x1b, 0x7d, 0x0 ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x4, 0x9, 0x19, 0x0, 0x8, 0x1b, 0x7d, 0x0 ]
# | 
# | Test failed: ExpectedOut4
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut4
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 1, 1, 2, 3, 5, 7, 4, 9, 25, 49, 8, 27, 125, 343 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out4
# | Format:          Int32
# | Stride:          16
# | Data:            [ 1, 1, 1, 1, 1, 1, 1, 1, 4, 9, 25, 49, 8, 27, 125, 343 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex representation of Expected Buffer Values:
# | [ 0x1, 0x1, 0x1, 0x1, 0x2, 0x3, 0x5, 0x7, 0x4, 0x9, 0x19, 0x31, 0x8, 0x1b, 0x7d, 0x157 ]
# | Full Hex representation of Actual Buffer Values:
# | [ 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x4, 0x9, 0x19, 0x31, 0x8, 0x1b, 0x7d, 0x157 ]
# | 
# `-----------------------------
# 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