Git repository
RustingStrata: pure-Rust Qwen MoE inference with CPU-GPU expert offload
RustingStrata is a pure-Rust inference engine for Qwen3.5 and Qwen3.6 hybrid models in GGUF, with Qwen3-Next, Qwen3.8-Flash-Next, and Qwen3 also running according to the README. It targets a specific constraint: mixture-of-experts models that are too large for available VRAM. Instead of requiring the whole model to fit on the GPU, experts that do not fit run on the CPU concurrently with GPU work, and placement adapts to the routing seen at runtime. That design is the main reason to evaluate it. For a builder with a 12 GB card and 32 GB of system RAM, a model such as Qwen3.6-35B-A3B in UD-Q2_K_XL at 11.7 GiB is close to the VRAM limit before KV cache and workspace. RustingStrata reports 113.4 tokens per second decode after a 4K prompt on CUDA, compared with 66.5 for a tuned llama.cpp build on the same reference machine, with 4K prefill at 2216 versus about 2236 tokens per second. Vulkan numbers are close on that machine: 2154 tokens per second prefill and 113.6 decode after 4K. Those figures are from the project bench command, mean of three rounds, on an RTX 3060 12 GB with a Ryzen 5 7600X. They are useful as a same-machine comparison, not as a general claim across hardware. Build and backend choices There is no C++ build step and no ggml dependency in the described setup. CUDA kernels are compiled at runtime with NVRTC through cudarc and cached as a cubin, with a first run taking about 15 seconds. The same kernels also run on Vulkan through GLSL compiled to SPIR-V. A build needs Rust 2024 edition plus either an NVIDIA driver with the CUDA 13 NVRTC library loaded at runtime, or a Vulkan 1.3 driver with shaderFloat64, int8/16/64 support, and subgroup size 32. The README notes Vulkan was tested only on an RTX 3060, and that
Continue with the full brief
Create your free account to unlock the complete analysis, follow the sources that matter, and add your perspective.
Sign in to continueFree to join. Your place in this brief will be waiting.
0 Comments
Join the discussion.