llvm / llvm/offload-test-suite

[AMD][Matrix][Cbuffer] Incorect results on the 9070 CI machine

Open
#931 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

driver-bug
Dominant language
C++
Stars
18
Forks
39
Avg merge
2d 18h
Merged PRs (30d)
40

Description

## Issue
I have an RX 7600 XT and the AMD GPU on the CI is a AMD Radeon RX 9070. The 9070 output is all the first element [ 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1 ] but my 7600 XT that I have been testing on is correct [ 1.1, 5.5, 2.2, 6.6, 3.3, 7.7, 4.4, 8.8 ].

## Results
```
.---command stdout------------
# | Using DirectX API
# | Configuring execution on device: AMD Radeon RX 9070
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Event prepared.
# | Creating CBV: { Size = 256, Register = b0, Space = 0 }
# | Creating CBV: { Size = 256, Register = b1, Space = 0 }
# | Creating UAV: { Size = 32, Register = u0, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u1, Space = 0, HasCounter = 0 }
# | CBV: HeapIdx = 0 Size = 256
# | CBV: HeapIdx = 1 Size = 256
# | EltSize = 16 NumElts = 2
# | UAV: HeapIdx = 2 EltSize = 16 NumElts = 2 HasCounter = 0
# | EltSize = 8 NumElts = 4
# | UAV: HeapIdx = 3 EltSize = 8 NumElts = 4 HasCounter = 0
# | Buffers created.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: Out_f4x2
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name: ExpectedOut_f4x2
# | Format: Float32
# | Data: [ 1.1, 5.5, 2.2, 6.6, 3.3, 7.7, 4.4, 8.8 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Got:
# | ---
# | Name: Out_f4x2
# | Format: Float32
# | Stride: 8
# | Data: [ 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x1.1, 0x5.5, 0x2.2, 0x6.6, 0x3.3, 0x7.7, 0x4.4, 0x8.8 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x1.1, 0x1.1, 0x1.1, 0x1.1, 0x1.1, 0x1.1, 0x1.1, 0x1.1 ]
# |
# `-----------------------------
# error: command failed with exit status: 1
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the DirectX API test on the AMD Radeon RX 9070 and compare it with the reported RX 7600 XT behavior. Trace the test case producing Out_f4x2 and its matrix/constant-buffer setup; done means the 9070 returns [1.1, 5.5, 2.2, 6.6, 3.3, 7.7, 4.4, 8.8] without breaking the other result.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.