JuliaGPU / JuliaGPU/AMDGPU.jl

Linux: Navi 2 HSA_OVERRIDE_GFX_VERSION workaround may no longer trigger on recent kernels

Open
#1,039 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
344
Forks
79
Avg merge
2d 23h
Merged PRs (30d)
27

Description

Since #458, AMDGPU.jl sets HSA_OVERRIDE_GFX_VERSION=10.3.0 when a KFD topology node is named navy_flounder (src/discovery/discovery.jl:68 on main, moved to src/AMDGPU.jl:161 in #1028):

if node_name == "navy_flounder"
    ENV["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0"
    break
end

On kernel 6.17.0 with an RX 7900 XTX, the GPU node reports no ASIC codename:

node 0: name=''              gfx_target_version=0        (CPU)
node 1: name='ip discovery'  gfx_target_version=110000   (GPU)

If Navi 2 cards report the same on current kernels, the comparison never matches and the workaround is inert. I have no Navi 2 hardware to confirm, so this needs a check from someone with an RX 6700/6750 XT or similar.

MWE

uname -r
for d in /sys/class/kfd/kfd/topology/nodes/*/; do
  echo "$(basename $d): name='$(cat $d/name)' gfx=$(grep -m1 ^gfx_target_version $d/properties | awk '{print $2}')"
done
using AMDGPU
@show get(ENV, "HSA_OVERRIDE_GFX_VERSION", "(unset)")

10.3.0 means it fired, (unset) means it did not. Please report kernel version, GPU model, the node lines, and which value you get.

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 the MWE in the issue on a Navi 2 GPU and record the kernel version, node lines, and HSA_OVERRIDE_GFX_VERSION value. Then inspect the topology check in src/AMDGPU.jl:161 and compare its navy_flounder condition with the observed node data. Done means confirming whether recent kernels prevent the workaround from firing and documenting the result or required behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia, linux
Domain
backend, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.