Tested mojo-intel-gpu on Intel Arc Pro B60 — confirmed working. What's the path to native Level Zero support in MAX/Mojo?

Hi all,

I’ve been exploring Mojo’s GPU support on my Intel Arc hardware and wanted to share results and ask about the roadmap.

Hardware: 2× Intel Arc Pro B60 (Battlemage Xe2, 24 GB each)

What I tested:

  • Installed mojo-intel-gpu v0.1.0 (William Obino’s Level Zero FFI bindings - excelent work!)
  • Ran all 4 examples — vector_add, matrix_multiply, reduction, and benchmark — all pass on B60

Benchmark results (B60 vs published B580):

Operation B60 (this test) B580 (published)
H2D 1MB 83.6 µs ~83 µs
D2H 1MB 100 µs ~83 µs
Kernel dispatch 7.6 µs 5.4 µs
E2E vector_add 1M 2.89 ms

Performance is in the same ballpark as the B580 — the Level Zero FFI approach works well.

The bigger question: I also installed MAX 26.5.0 (nightly) and probed the driver layer. The virtual device API accepts "level_zero" as a string, but load_devices() fails with "Unknown virtual device API: level_zero" — the supported APIs are hardcoded in the clo>

I’m interested in MAX model serving on Intel Arc GPUs (for hot-swap and multi-model workflows, not just compute kernels). What would it take to add "level_zero" as a first-class device API in MAX’s driver layer?

Specific questions:

  1. Is there a roadmap item for Intel XPU device support in MAX?
  2. Could the community contribute a Level Zero backend if the C++ driver SDK were available?
  3. Are there any hooks/extension points in the _core module that would allow adding a new device API without modifying the closed-source binary?

I have the hardware (2× Arc B60, RTX 3090, RTX 2080 Ti) and I’m willing to test, provide detailed feedback, benchmark, or contribute code. If there’s a branch, a PR, or even just an experimental build — I’ll run it and report results. I’m invested in seeing this work>

— John

Wow, this is really cool John + William! I’m very impressed.

I’m interested in MAX model serving on Intel Arc GPUs (for hot-swap and multi-model workflows, not just compute kernels). What would it take to add "level_zero" as a first-class device API in MAX’s driver layer?

I would also love to see this, but you’re a bit early. We’re working hard to OSS mojo first, and I expect that we will open MAX after that, in accordance with our strategy of “progressively open the stack as it matures”. We have plans here, but are getting organized. Our next major set of announcements will be at ModCon, which I think will be pretty exciting on the hw enablement front.

As such, we can’t directly support this work, but I am still very happy to see it, please don’t slow down, it is incredible what you’re doing!

-Chris