JuliaGPU / JuliaGPU/AMDGPU.jl

Windows: GPU architecture detection for artifact selection is untested on real hardware

Open Beginner friendly
#1,040 8 comments 0 reactions 0 assignees View on GitHub

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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.