Repository navigation
r15 just pushed that finally fixes -sm tensor when using -ncmoe > 0
#108
Replies: 6 comments 4 replies
|
Sigh - still finding corruption in certain scenarios. I tracked it down to the ring buffer and the redirection itself being the issue there. The prefill ring buffer has been broken from the outset it seems :( |
|
Given all the issues, I'm hesitant to claim success. r17 is about to go out that hopefully fixes the There's still some more items to come to round the work off. |
|
I think I'm finally really close to a proper, working, tensor-split + MTP capable solution to the MoE weights on host issue. The corruption is gone. The arena on the cards auto-sizes on the fly. Concurrent sessions works (both prefill * N, decode * N, mixed prefill/decode). Prefill with Qwen3.8-Flash-Next @ IQ4_XS on 2 x R9700's can hit up to 1900t/s with all expert weights on the host. Decode with MTP ranges anywhere from 50-90t/s depending on what you're doing. Arena hit rates get reported. The next release is going to have all this. There will almost certainly still be some rough edges, but I'm finally seeing the light at the end of the tunnel on this absolute monster of an implementation. This upcoming release is going to be a big patch |
|
r22 is now live and with the new slab allocator that fixes almost all prior issues: I ran a server like so. Qwen3.8-Flash-Next at ~93GiB in size on a pair of R9700's each running with just 4 lanes of PCIe bandwidth to the CPU/Host. PCEie5x8 should be faster than below. 1500t/s for prefill when loading in a ~30K token document and 70-80t/s for decode when generating code: around 55-60t/s for generating reasoning, and ~65 for prose. Total combined server output (mixed reasoning/code generation) This is better than I had ever imagined! |
r35: an optional bounded host tier for
|
|
It's finally done! I'm sure there will be bugs to be found, but this now finally allows people with less VRAM than the model size is to effectively treat the system as a total of VRAM + RAM together, and if anything spills over that, it gets on-demand-swapped in from disk. I don't promise it will be fast if you push the system too hard. Basically it works like this: VRAM Slab Cache (L1) <-> Host Pool (L2) <-> System Page Cache (L3) <-> HDD (L4) The host pool, when enabled, default to 25% of the MoE expert weight size, but this can be tuned up/down. The smaller you make it, the more you're forcibly relying upon the system's page cache which may, or may not, work well. What is does also allow though, is for people with big RAM to fully load their model weights into /tmp once, and then set a small Host Pool, and then you can rapidly restart/test server changes without worrying about your weights getting paged out. This should allow for a lot of freedom to do crazy stuff now. |

Uh oh!
There was an error while loading. Please reload this page.
Today I've worked hard on getting the
ncmoefeature (the thing that allows you to run models larger than your available VRAM) more polished.-sm tensor, while it worked before, had issues with MTP. Those are now resolved.Also added is fully automatic decode arena allocations. This allows people with a model like Qwen3.-8-Flash-Next to simply point your GGUF at a GPU, specify
-ncmoe 48, and it will figure it out how to best make it work.An example llama-server start command is:
Substitute in the correct paths as suits your local system
There's still a few straggling items for a bit more polish, but this should get people serving up Q38FN on minimal hardware working fairly well.
All reactions