Hey guys,
I’d like to request some help in the following:
I’m trying out the gpu tutorial from the mojo website. I have a rx 7800xt card. I get the following error (using ubuntu24):
mojo run vector_addition.mojo
Unhandled exception caught during execution: At open-source/max/mojo/stdlib/stdlib/gpu/host/device_context.mojo:1599:17: HIP call failed: hipErrorNoBinaryForGpu (no kernel image is available for execution on the device)
mojo: error: execution exited with a non-zero result: 1
Is this a config issue, or is this card not supported even for basic usage? Thanks. The code I’m running:
from gpu.host import DeviceContext
from gpu.id import block_idx, thread_idx
from sys import has_accelerator
fn print_threads():
"""Print thread IDs."""
print("Block index: [",
block_idx.x,
"]\tThread index: [",
thread_idx.x,
"]"
)
def main():
@parameter
if not has_accelerator():
print("No compatible GPU found")
else:
ctx = DeviceContext()
ctx.enqueue_function[print_threads](grid_dim=2, block_dim=64)
ctx.synchronize()
print("Program finished")
- I checked I used the following version:
modular 25.4.0.dev2025061222 release 9.2 KiB conda https://conda.modular.com/max-nightly/
I have a rocm version of
modinfo amdgpu | grep version
version: 6.12.12
srcversion: 9AB0277171A464F184AFEF4
vermagic: 6.11.0-26-generic SMP preempt mod_unload modversions
parm: hws_gws_support:Assume MEC2 FW supports GWS barriers (false = rely on FW version check (Default), true = force supported) (bool)
with rocminfo:
rocminfo
ROCk module version 6.12.12 is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.15
Runtime Ext Version: 1.7
System Timestamp Freq.: 1000.000000MHz
Sig. Max Wait Duration: 18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model: LARGE
System Endianness: LITTLE
Mwaitx: DISABLED
XNACK enabled: NO
DMAbuf Support: YES
VMM Support: YES
Two agents:
Agent 1 - Name: AMD Ryzen 9 9900X 12-Core Processor
Agent 2 -
Name: gfx1101
Uuid: GPU-edfe3b982e913ccc
Marketing Name: AMD Radeon RX 7800 XT
Vendor Name: AMD
Feature: KERNEL_DISPATCH
Profile: BASE_PROFILE
Float Round Mode: NEAR
Max Queue Number: 128(0x80)
Queue Min Size: 64(0x40)
Queue Max Size: 131072(0x20000)
Queue Type: MULTI
(edited)
- [11:59 AM]
With the system
uname -a
(gpu-intro) ➜ sevi@sevi-pc ~/repos/mojo-gpu/gpu-intro git:(main) ✗ uname -a
Linux sevi-pc 6.11.0-26-generic #26~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 17 19:20:47 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Why could be that? What should I check? (edited)