[Bug]: RuntimeError "Cannot look up function runtime_get_rand_states_buffer_size" on AMD gfx1030 (RX 6800 XT) with backend=gs.amdgpu

Author: RanteckCreated Sep 11, 2026Updated Sep 12, 2026

Environment

  • OS: CachyOS Linux (Arch-based), kernel 6.18.50-1-cachyos-lts
  • GPU: AMD Radeon RX 6800 XT (gfx1030, RDNA2)
  • genesis-world: 1.4.0
  • quadrants: 1.3.0
  • torch: 2.14.0+rocm7.14 (installed via uv add torch torchvision triton-rocm --index https://download.pytorch.org/whl/rocm7.14, following the current pytorch.org "Get Started Locally" instructions)
  • torch.version.hip: 7.14.60850
  • System-wide ROCm (Arch rocm-hip-sdk package, via pacman): 7.2.4
  • Python: 3.12.13

What happened

Calling gs.init(backend=gs.amdgpu) (also reproduces with gs.gpu, which autoselects amdgpu since it's the only GPU on this machine) fails during runtime materialization:

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

Traceback (most recent call last):
  File "hello_genesis.py", line 3, in <module>
    gs.init(backend=gs.amdgpu)
  File ".../genesis/__init__.py", line 269, in init
    qd.init(
  File ".../quadrants/lang/misc.py", line 488, in init
    impl.get_runtime().prog.materialize_runtime()
RuntimeError: [jit_amdgpu.h:lookup_function@73] Cannot look up function runtime_get_rand_states_buffer_size

Reproduction

Minimal script, straight from the official "Hello, Genesis" tutorial:

python
import genesis as gs

gs.init(backend=gs.amdgpu)

scene = gs.Scene()
plane = scene.add_entity(gs.morphs.Plane())
franka = scene.add_entity(gs.morphs.MJCF(file="xml/franka_emika_panda/panda.xml"))
scene.build()
for i in range(1000):
    scene.step()

It fails at gs.init() itself, before any scene is built.

What I've checked so far

  • torch.cuda.is_available() returns True and correctly reports "AMD Radeon RX 6800 XT" as the device name (verified independently with Arch's python-pytorch-rocm system package, built against the system ROCm 7.2.4). So the GPU, the amdgpu kernel driver, and the basic HIP runtime are all functioning.
  • Inside the installed quadrants package, quadrants/_lib/runtime_rocm70/ contains AMD device-runtime LLVM bitcode (ocml.bc, ockl.bc, hip.bc, plus oclc_isa_version_*.bc, including oclc_isa_version_1030.bc for gfx1030) — the directory name suggests it was built against ROCm 7.0.x specifically.
  • The machine currently has two separate ROCm stacks: the system-wide one from Arch (7.2.4, providing hipcc etc. under /opt/rocm), and the one bundled inside the torch pip wheel itself via the new rocm/rocm-sdk-* packages (7.14.1), which is what actually seems to get loaded (torch.version.hip reports 7.14.60850).
  • My working hypothesis is a version/ABI mismatch between the ROCm-7.0-targeted runtime bitcode bundled inside quadrants and the ROCm 7.14 HIP runtime that ends up loaded at execution time — but I haven't found a way to confirm this or work around it.

Question

Is there a known-good ROCm/torch version combination for AMD gfx1030 (RDNA2) specifically? I saw #1042 mentions success with torch nightly + ROCm 6.4 on an RDNA4 card (gfx1201/9070XT) — is that combination expected to also work on RDNA2, or is there a different recommended pairing for gfx1030?

Happy to provide more logs or try suggested combinations.

Source: Genesis-Embodied-AI/genesis-world