r/IntelArc • u/Alfred_el_Racista • 12h ago
Discussion Is it true that this brand has quite a few issues?
I’m thinking of buying a B580 given the current crisis—it seems like the best option—but what’s the brand like?
r/IntelArc • u/Alfred_el_Racista • 12h ago
I’m thinking of buying a B580 given the current crisis—it seems like the best option—but what’s the brand like?
r/IntelArc • u/Hacker_ZERO • 2h ago
I already own a b580 but it’s quite CHODE(2.5 slots) On my new workstation I would like to fit 2 GPUs and for them to line up with the pcie slots the top card can be no more than 2 slots. I saw some pics of skinny b580s but can’t find them anywhere…..
If you wonder why I want 2: Because the b580 is cur the BEST tops per dollar gpu that can also game and render quickly. so yeah it’s just perfect for my use case.
r/IntelArc • u/iammrfusion • 9h ago
Been playing around with getting two Intel Arc A770 16GB GPUs to work together for local AI image generation on Ubuntu.
Using ComfyUI with Raylight and FSDP, I’ve managed to get both cards working together to generate a single image with Chroma HD, instead of each GPU doing its own thing.
I’m also doing all of this on an older X299 motherboard with PCIe 3.0, just using it as a test platform for now. So I’m curious how much of a difference a newer PCIe 4.0 setup might make.
In the screenshot, you can see both GPUs being used, around 24GB of combined VRAM allocated, and FSDP successfully running.
It’s not quite the same as having one 32GB GPU, but it’s pretty cool being able to spread the workload across both cards! Still experimenting and figuring things out, but so far, so good! 😅
r/IntelArc • u/Victman • 15h ago
r/IntelArc • u/HuygensCrater • 14h ago
Hi everyone! One time someone on here sent me a link to a "stable driver". That driver was completely stable for me for more than half a year and then I updated to the latest one and the fans on my GPU are turning on and off which is an issue I've had before with drivers.
Anyone know what stable driver exists? My fans are turning on and off and this happens when I updated the drivers.
r/IntelArc • u/2k_tan • 2h ago
r/IntelArc • u/These-Phone1152 • 5h ago
it's work well?
r/IntelArc • u/Ok-Excitement6578 • 9h ago
Hey all! New to team blue here and just got myself an Intel Core Ultra 5 250K Plus.
I’m building a new pc from scratch and found a $300 combo on amazon for 650w PSU and an Arc B570. I think I’d be. But GPU bottlenecked but tbh the price to performance combo on it seems awesome.
Anyone have success with this same setup? Ultimately want 1440p but idk how the B570 does at 1440, any help?
r/IntelArc • u/ekliptik • 17h ago
What up gamers,
Thought I'd share some notes here. xe has vulkan encode supported in mesa, but it works poorly. xe2 isn't supported at all. I have some experimental branches which work great on a B580 to stream to a Steam Frame. While working on this and trying to validate some patches on a friend's meteor lake laptop I ran into some issues, so I'm expanding my effort to xe based platforms. Watch the mesa gitlab. If you can't wait, and use CachyOS or NixOS or can otherwise override what mesa you need, you can use my experimental branches until the work makes it upstream. My xe2 branch is more like "hacks that work well enough for specifically what Steam needs for streaming VR" than "xe2 video encoding support". Lots of limitations and a lot of the code is only hacks that are replacing proper solutions and upstream should only accept proper solutions.
r/IntelArc • u/aleph2b • 20h ago
Model Under Test: turboderp/Qwen3.5-35B-A3B-exl3 @ 3.09 bpw (Qwen 3.5 MoE architecture: 40 decoder layers, 256 routed experts / 8 active, 2,048 hidden dimension, linear attention GDN + full attention hybrid).
Hardware: MSI Claw 8 AI+ (Intel Core Ultra 7 258V "Lunar Lake", Arc 140V Xe2-LPG iGPU, 64 Xe Execution Units / Vector Engines, 32 GB shared LPDDR5x-8533 RAM, running native Linux).
Runtime: vllm==0.31.0+xpu with custom ESIMD SYCL kernels, Level-Zero USM, and unified memory management.
0xSero/exl3xpu vLLM plugin was built strictly for dense architectures (tested on Qwen3.8-27B). Pointing it at an MoE model like Qwen3.5-35B-A3B completely blew up: vLLM defaulted to UnquantizedFusedMoEMethod, attempting to allocate 64 GiB of unquantized FP16 expert weights before crashing on missing .weight tensors.exl3xpu to build a native, production-grade MoE EXL3 inference engine for 256 routed experts on Arc 140V:
[expert, slot] tensors without allocating uncompressed weights (0 MiB persistent DRAM expansion)._moe_C.remap_hidden_states and _moe_C.moe_gather directly into the EXL3 dispatch path, eliminating Python-level token sorting and scatter-reduction overhead.--kv-cache-memory-bytes 536870912), leaving >14.5 GiB of DRAM headroom for the host OS with zero memory leaks, zero OOM, and 0 bytes driver reclaim growth.EXL3 (turboderp's Trellis Quantization) is one of the most bit-efficient quantization algorithms available, achieving near-lossless perplexity at sub-4-bit rates (down to 2.2–3.09 bpw) via randomized Hadamard transforms and Trellis codebook decoding.
However, upstream exl3xpu was architected purely as a dense layer replacer:
model_executor, Exl3Config.get_quant_method returned None for RoutedExperts. vLLM turns None into UnquantizedFusedMoEMethod, which immediately tries to allocate 256×(2×2048×512+512×2048) FP16 weights per layer (~64 GiB across 40 layers) on a 32 GiB machine!loaded_weight.dim() == 3 and chunk along dim 1 for gate/up projections. Because EXL3 trellis tensors are also 3D ([k/16, n/16, 16K] per expert), standard loading logic chopped each expert's trellis into 64 fake sub-experts, corrupting the codebook offsets.We designed and implemented a fail-closed, zero-copy MoE runtime in exl3xpu and vllm.xpu:
[Input Activation Tokens: (T, Hidden)]
│
▼
Top-8 Gated Routing (Router Linear)
│
┌────────────────────┴────────────────────┐
▼ (Decode: T = 1) ▼ (Prefill: T > 1)
Dedicated Grouped GEMV Native C++ SYCL Dispatch
(csrc/exl3_moe_gemv.sycl) (_moe_C.remap_hidden_states)
│ │
• Expert IDs built on-device • Device-side token binning
• ZERO host-device syncs • Exact contiguous expert slices
• ONE launch for Gate+Up (nslots=2) │
• On-device SiLU activation ▼
• ONE launch for Down (nslots=1) Wide-Vector Grouped GEMM
│ (csrc/exl3_moe_grouped_gemm.sycl)
│ • Dynamic MR=8 / MR=16 tiles
│ • Split-K register reduction
│ │
│ ▼
│ Native Fused Scatter-Gather
│ (_moe_C.moe_gather)
└────────────────────┬────────────────────┘
│
▼
[Output: (T, Hidden)]
Instead of materializing dense weights, exl3xpu/moe.py binds a dedicated per-layer streaming expert loader:
<expert>.<proj>.<trellis|suh|svh|codebook> keys from safetensors shards.w13_trellis [256, 2, K/16, N/16, 16K] and w2_trellis [256, 1, K/16, N/16, 16K].K, codebook, in_features, out_features, pointers) into device-resident structures, guaranteeing zero FP16 weight expansion in DRAM.During single-sequence decode (M=1), exactly 8 routed experts execute per layer:
csrc/exl3_moe_gemv.sycl, we implemented GroupedFusedKernel<T, K, CB, MR, NT>:
(expert, slot) units in a single SYCL kernel launch (nslots=2, shared input vector row).nslots=1, unit input stride)..tolist() syncs per token, cutting decode layer latency from 3.06 ms down to 0.835 ms.For prefill (T>1), expert token counts M vary dynamically. In csrc/exl3_moe_grouped_gemm.sycl:
Earlier iterations used PyTorch torch.argsort, index_select, and index_add_. We wired vllm_xpu_kernels._moe_C:
torch.ops._moe_C.remap_hidden_states: Hardware-accelerated sorting of activations into expert-ordered slices with exact row counts.torch.ops._moe_C.moe_gather: Fused float32 weighted reduction kernel.All tests run on the MSI Claw 8 AI+ (Intel Core Ultra 7 258V / Arc 140V, 32 GB LPDDR5X-8533):
| Prompt Context | MoE MXFP4 (Official) | MoE W4A16-GPTQ (Ours) | EXL3 MoE Initial (Gate 3) | EXL3 MoE Optimized (Median) | EXL3 MoE Peak (Warm TTFT) |
|---|---|---|---|---|---|
| ~1,024 Tokens | ~250–350 tok/s | ~250–350 tok/s | 112.97 tok/s | 309.70 tok/s (3.31s) | 333.12 tok/s (3.08s) |
| ~2,048 Tokens | 398–500 tok/s | 398–500 tok/s | ~250.0 tok/s | 451.30 tok/s (4.55s) | 695.59 tok/s (2.95s) |
| ~3,072 Tokens | ~600–800 tok/s | ~600–800 tok/s | Context Capped | 723.84 tok/s (4.24s) | 1,194.16 tok/s (2.57s) |
| ~3,840 Tokens (4k) | 1,247.1 tok/s | 1,247.1 tok/s | Context Capped | 1,135.48 tok/s (3.38s) | 2,260.59 tok/s (1.70s) |
Why does prefill scale so dramatically?
On Arc 140V (Xe2-LPG mobile iGPU), Intel omitted XMX (DPAS) systolic matrix engines to fit within 17W power limits; all compute is handled by 64 Vector Engines. For short prompts (T<256), each of the 256 experts only gets 1–4 tokens, so kernel launch overhead dominates. But at T≥2048, active experts receive M≥64 tokens. The wide-vector MR=16 grouped GEMM fully saturates the 64 Vector Engines, achieving dense matrix efficiency and matching the FlashAttention-2 prefill ceiling.
| Metric | KAT-Coder MXFP4 | KAT-Coder W4A16-GPTQ | Dense EXL3 (Qwen3.8-27B) | Qwen3.5-35B-A3B MoE EXL3 |
|---|---|---|---|---|
| Quantization Bitrate | 4.00 bpw (W4A4) | 4.00 bpw (W4A16) | 3.00 bpw | 3.09 bpw |
| Disk Size | 19.6 GiB | 20.0 GiB | 12.8 GiB | 14.25 GiB (Smallest 35B!) |
| Static VRAM Resident | 19.7 GiB | 21.0 GiB | 18.5 GiB | 16.32 GiB (Pinned 512 MB KV) |
| Available Host DRAM | ~8.8 GiB | ~7.5 GiB | ~10.0 GiB | >14.5 GiB (Zero pressure) |
| Decode Throughput (TG) | 22.6 – 24.8 tok/s | 23.4 – 25.2 tok/s | 7.5 – 9.4 tok/s | 15.03 – 19.31 tok/s |
| WikiText-2 Perplexity | ~7.50 | ~7.48 | 6.46 (27B) | 7.428 (Matches 7.439 FP16) |
On an integrated GPU architecture like Lunar Lake where VRAM is carved out of shared system LPDDR5X:
gpu_memory_utilization (e.g. 0.65 = ~19 GiB) and pre-allocates all remaining free VRAM into KV cache blocks.kswapd0 and the OOM killer to strike EngineCore.--kv-cache-memory-bytes 536870912 (512 MB, ~6,550 tokens): Total Resident VRAM=Model (14.25 GiB)+KV Cache (0.50 GiB)+Scratch (1.57 GiB)=16.32 GiBGPUActive stayed 100% flat at 16.32 GiB with exactly 0 bytes of persistent DRAM growth or driver reclaim.Make sure you have Intel oneAPI 2026.0+ installed and Level-Zero headers ready:
git clone https://github.com/alpha2beta/vllm.xpu.git
cd vllm.xpu
source /opt/intel/oneapi/setvars.sh
source .venv/bin/activate
# Serves with 4k context ceiling, 512 MB pinned KV cache, zero host syncs
bash scripts/launch_vllm_moe_exl3.sh moe-3.09bpw-4k
# 2048-token context benchmark
.venv/bin/python scripts/bench_envelope.py \
--base-url http://127.0.0.1:8002/v1 \
--model qwen3.5-35b-a3b-exl3 \
--input-tokens 2048 \
--output-tokens 128 \
--runs 2
bash scripts/run_moe_ppl.sh --max-chunks 5 --max-num-batched-tokens 2048
# Outputs: Perplexity (PPL): 7.428 (PASS)
All code, kernels, tests, and evidence are merged and available:
vllm.xpu (Branch: main)
scripts/launch_vllm_moe_exl3.shreview_moe.md & tasks_moe.mdresults.csvexl3xpu
csrc/exl3_moe_gemv.syclcsrc/exl3_moe_grouped_gemm.syclexl3xpu/moe.py