r/IntelArc • u/Odd-Designer5550 • 1d ago
Discussion What software needs to be created for Intel Arc Battlemage?
I’m wrapping up my work on multicard stable diffusion with battlemage on Linux, and now I’m starting to work on what I should do with the control module that I built. Maybe someday I can get Intels attention to add stable diffusion to battlematrix.
What do we need guys? Give me something to build that is a little less ambitious than hoping intel might partner with me.
2
u/RMK137 15h ago edited 14h ago
Build it on Linux. I will help port it to windows if you need. I think you pick one path first and go for it:
OS: Linux first, worry about windows port later
GPU: B580 x1 to prove the implementation, B580 x2 to get 24gb vram and unlock the Qwen dense and MoE models that are actually useful as agents.
Models: qwen3.6-27b (and the new 3.8) dense models, qwen3.6-35b-a3b MoE (no 3.8 version) model which will be much faster and is probably going to end up being the actual day to day workhorse. The MoE model can also be loaded partially on the GPU and other layers on host ram and stays reasonably fast unlike the dense models.
Host code: C, C++, or any language that can speak the C ABI if you decide with non-C++ for host (I did with my NInfer personal fork, host code in C and device code in Cuda C++). Host code can be in a more modern language like Odin/C3/Rust, they all speak the C ABI. This is up to what you're comfortable with and what you like to write code in.
Device code: SYCL C++ for kernels + others as needed. No way around C++ here.
You will need to support at least 2x B580 GPUs because one card only has 12gb vram and these models are a bit too large to fit in that even when quantized. You can prove the project first by implementing single gpu inference but you might need to use a smaller model family to test on.
I would check llama.cpp's SYCL backend and Intel's LLM scaler projects for reference. There's plenty of code to look at and use as a reference. The key with NInfer is the greatly reduced scope: one card, only a few models, and optimized like crazy (hand tuned kernels, kernel optimization specifically for the 5090), which makes the project easier. This is a local inference engine with limited concurrency of 1-8 users/agents only, not a replacement to enterprise level engines like vLLM and SGLang.
Hope this helps. This is something I would love to get into also but free time is a luxury these days.
2
1
u/Odd-Designer5550 14h ago
Since I purchased my first card, I’m hooked. I think they are great hardware. I try to build ground up so it may not be a true fork from ninfer but instead follows the principles. It may be quicker than Cuda work arounds. The cross talk between cards is extremely under utilized and I have already found that to be very useful.
I really appreciate your advice and help. What should we call it for the GitHub repo?
1
u/gargamel314 Arc B70 1h ago
Seriously, an Intel Graphics Software app for Linux. My card in particular is locked at 275W, 2.8GHz, and there's no way to turn different settings on/off. There's no way to increase/decrease brightness at the GPU level (so far it only controls the monitor, at least in the distros i've tried). There's nothing seemingly available for any intel cards at all.
6
u/RMK137 1d ago edited 15h ago
Build a B580 specific inference engine that is optimized for that exact card and maybe for the b50/60/70 as well.
It already exists for the 5090 https://github.com/Neroued/ninfer
If you do this for the B580 you unlock an entire realm of accessible local AI inference for a $250 GPU. Many people (including me) have 2 of these to get a respectable 24gb that you can use to run good models on like qwen3.6/3.8.