Windows: GPU architecture detection for artifact selection is untested on real hardware
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 344
- Forks
- 79
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 25
Description
On Linux the ROCm artifact is selected from gfx_target_version in the KFD topology. Windows has no KFD, so rocm_arch() falls back to matching GPU marketing names reported by EnumDisplayDevicesW against a fixed table (ROCm_Runtime/.pkg/platform_augmentation.jl:43):
const device_name_archs = [
["8050s", "8060s", "device 1586"] => "gfx1151",
["880m", "890m"] => "gfx1150",
["r9700", "9060", "9070"] => "gfx120X",
["7700", "7800", "7900", "v710"] => "gfx110X",
["6800", "6700", "6600", "6500"] => "gfx103X",
]
The adapter string must also contain radeon or amd, otherwise the entry is skipped.
This path is not yet tested.
MWE
On Windows, with any AMD GPU:
using AMDGPU
AMDGPU.versioninfo()
RR = AMDGPU.ROCm_Runtime
@show RR.windows_video_device_names()
@show RR.rocm_arch()
@show RR.is_available()
@show AMDGPU.functional()
Please report your GPU model and the output.
Expected: windows_video_device_names() lists your adapter, and rocm_arch() maps it to the matching gfx family (for example an RX 6700 XT should give gfx103X). An empty rocm_arch() or is_available() == false means the adapter string did not match the table and no artifact was resolved.
As a workaround in that case, the architecture can be set explicitly:
AMDGPU.set_rocm_version!(arch="gfx1031") # substitute your own target
Reports of the exact adapter string are useful even when detection works.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with ROCm_Runtime/.pkg/platform_augmentation.jl:43 and run the Julia MWE on Windows with an AMD GPU. Compare windows_video_device_names(), rocm_arch(), is_available(), and functional() with the expected gfx family, then report the exact adapter string and outputs; an unmatched adapter or unavailable artifact identifies the detection issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100