Skip to content

[Bug]: AMD a395 gfx1151 (Radeon 8060S / Strix Halo): Cannot look up function runtime_get_rand_states_buffer_size on gs.amdgpu backend #3059

Description

@a0983115883-boop

Bug Description

On AMD gfx1151 (Radeon 8060S, Ryzen AI Max+ 395 / Strix Halo), initializing Genesis with the AMD ROCm backend fails with a missing runtime function:

AMDGPU Error hipErrorNotFound: named symbol not found while calling module_get_function (hipModuleGetFunction)
[jit_amdgpu.h:lookup_function@73] Cannot look up function runtime_get_rand_states_buffer_size
RuntimeError: [jit_amdgpu.h:lookup_function@73] Cannot look up function runtime_get_rand_states_buffer_size

The failure occurs during impl.get_runtime().prog.materialize_runtime() inside qd.init().

Steps to Reproduce

import genesis as gs
gs.init(backend=gs.amdgpu) # official AMD backend per README

What I have verified
1.Correct backend is used. Per the README, AMD users should call gs.init(backend=gs.amdgpu). hasattr(gs, 'amdgpu') is True, and the error path goes through jit_amdgpu.h — so the ROCm/HIP backend is correctly selected (not the CUDA fallback).
2.PyTorch ROCm works on this GPU. torch.cuda.is_available() returns True, device is correctly identified as "Radeon 8060S Graphics", and GPU matrix multiplication runs successfully. So the ROCm driver stack and hardware are functional.
3.Not a Genesis version issue. Tested three combinations, all fail identically:

Genesis 1.2.2 + Quadrants 1.0.2 → same error
Genesis 1.2.2 + Quadrants 1.1.0 → same error
Genesis 1.2.0 + Quadrants 1.0.2 → same error

4.Standalone qd.init(arch=qd.gpu) succeeds, including with individual parameters that Genesis passes (enable_fallback, force_scalarize_matrix, advanced_optimization, fast_math, random_seed, default_ip/fp, ad_stack_experimental_enabled, etc.). The failure only surfaces at materialize_runtime() when the full runtime is instantiated.
5.Meets all stated system requirements (Python 3.10–3.13, Ubuntu 22.04–24.04, ROCm ≥ 5.2).

Expected Behavior

Is runtime_get_rand_states_buffer_size expected to be available in the ROCm backend for gfx1151? Is there a way to build/enable it, or is gfx1151 not yet fully supported by the Quadrants ROCm backend?

Happy to provide further logs, run diagnostics, or test patches — I have the hardware available.

Screenshots/Videos

No response

Relevant log output

Environment

GPU | AMD Radeon 8060S Graphics (gfx1151, Strix Halo / Ryzen AI Max+ 395)
OS | Ubuntu 24.04
Python | 3.12
ROCm/HIP | 7.13
PyTorch | 2.12.0a0+rocm7.13 (GPU verified working)
Genesis | 1.2.2 (also tested 1.2.0)
Quadrants | 1.1.0 (also tested 1.0.2)

Release version or Commit ID

Genesis: 1.2.2
Quadrants: 1.1.0

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions