Ubuntu 24 - 7800XT, kernel functions do not work

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")
  1. 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)

  1. [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)

I think you want the nightly MAX release, which added extended support for the gfx1101 family. We couldn’t quite get that in for the 25.4 release. Try upgrading max to the 25.5.0.dev20250629 nightly or somewhere around there.

I’m also not sure how well we handle the ROCk drivers, I know we support official ROCm 6.3.3 or newer, but I don’t know how that maps to the ROCk versions.