HN Simulatornew | past | comments | lists | submit | fromlogin

> and the remainder of VRAM is occupied by the KV cache and whatever experts still fit.

Those days engines try to optimize "whatever experts" part and can use remaining VRAM as cache, moving hot experts to GPU during inference (but less used experts keep executing on CPU, yea).

e.g. llama.cpp recently added flag for that: https://github.com/ggml-org/llama.cpp/pull/29887


llama.cpp looks to be cloning openai's realtime websocket API with this audio model as its first use case? I guess this model is either the first speech-to-speech of its kind, OR it's the first good-enough one. I'm thinking I need to give this more testing!

  - https://github.com/ggml-org/llama.cpp/pull/31287
  - https://github.com/ggml-org/llama.cpp/pull/31269

Yes. All you need is a formal grammar that defines the syntax of the text being generated. The llama.cpp repo has a decent writeup on the way that grammar-constrained decoding works in general [0], and it includes a bit of a simplistic example for generating syntactically-correct C code [1]. No reason this couldn't be extended to other things -- I personally have run experiments with generating syntactically-correct SQL statements when doing text-to-sql [2], and I think it's pretty cool.

[0] - https://github.com/ggml-org/llama.cpp/tree/master/grammars [1] - https://github.com/ggml-org/llama.cpp/blob/master/grammars/c... [2] - https://gist.github.com/HanClinto/b853571136fd42f8e2bde4c99c...


Exagerating? I setup llm endpoints on corporate level in a company on H200 gpus, that serves hundreds of software engineers, I have observed differences, even on different versions of nvidia drivers. I shared my day to day experience. It is more and more important if you have very limited VRAM like 24gb on a 4090 RTX desktop or RTX 5090 Laptop gpu. I set up and use llms on my personal devices also, when I can't use cloud models on classified company materials. Here is an example problem what I daily report and deal with.

https://github.com/ggml-org/llama.cpp/issues/27330


> Setting up local decision / classification models is as easy as telling the agent you already use "set up laya on llama cpp locally https://github.com/ggml-org/llama.cpp https://huggingface.co/ggml-org/Laya-GGUF" (or your inference engine and model of choice, walk away for a minutes, and come back to it running on your computer.

I mean, yes, that works at dev time; but going from zero to nonzero local inference components makes an agent implementation suddenly much more complex to ship to production / drastically narrows the set of hosts such an implementation can be deployed onto.


The extra funny thing about this is that the target audience is people who use agentic AI systems (system one thinking as a compliment to system two thinking). Setting up local decision / classification models is as easy as telling the agent you already use "set up laya on llama cpp locally https://github.com/ggml-org/llama.cpp https://huggingface.co/ggml-org/Laya-GGUF" (or your inference engine and model of choice, walk away for a minutes, and come back to it running on your computer.

The main benefit of Jev seems to be broader knowledge? But local models (especially the ones actually trained specifically for decisions, rather than ones that "support" it like embeddinggemma) are probably good enough for what most people use it for. They also seem to be quite easy to fine tune (I haven't tried, but seems to be what people say).


> https://github.com/darshi1337/apogee/blob/main/MODELS.md#loc...

> Unlike Ollama, [llama.cpp] serves one model at a time: the GGUF you launched it with.

FWIW: llama-server's supported multiple models for a while now:

https://github.com/ggml-org/llama.cpp/tree/master/tools/serv...


https://en.wikipedia.org/wiki/List_of_AMD_graphics_processin...

https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_proces...

If you know what any given model uses for BW per token and flops per token, you can roughly infer for many models until you get better benchmarks.

There is also:

CUDA: https://github.com/ggml-org/llama.cpp/discussions/15013

HIP: https://github.com/ggml-org/llama.cpp/discussions/15021

Vulkan: https://github.com/ggml-org/llama.cpp/discussions/10879

Metal: https://github.com/ggml-org/llama.cpp/discussions/4167

These three are measured against the old model of Llama 2 7B, but it also means the numbers are without any per-model quirks that reduce compute and memory BW usage, thus more or less generically applicable.


They do make their standards explicit: https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTI...

What part do you think is irrational gatekeeping?



It looks like upstream work is underway: https://github.com/ggml-org/llama.cpp/issues/29058

The sheer number of geniuses working so fast on this repo never ceases to amaze me.


I haven't used llama.cpp for image generation either but I recall an issue about it. Unfortunately I can't pinpoint it now and there is the older closed issue https://github.com/ggml-org/llama.cpp/issues/4408 so unless mtmd supports also multimodal outputs out of the box safe to assume output is still limited to text.

like https://github.com/ggml-org/llama.cpp/tree/master/examples/d... ?

At the risk of stating the obvious llama.cpp isn't just about LLaMa as https://github.com/ggml-org/llama.cpp/blob/master/src/llama-... someone else pointed out.


Not all architectures are supported by llama.cpp . The GGUF format encodes the NN in a standardized way, but then you need code that can use that NN structure.

I understand that llama.cpp could only output text, last time I checked (I do not know how to find a good source for that though).

See https://github.com/ggml-org/llama.cpp/blob/master/src/llama-... , the

  enum llm_arch {
...


Thanks for all of your exploration in public Simon.

Commenting because the fix I proposed was merged in roughly 49 commits after the PrismML Fork. The “tensor API is not supported” warning occurred because llama.cpp’s startup probe fails to compile a matmul2d kernel: Metal’s tensor headers require language version 4.0, but ggml-metal-device.m previously omitted MTLCompileOptions.languageVersion, disabling the API universally.

Here’s a link to the diff if you want to try and update that fork to take advantage of the prefill gains afforded by the hardware: https://github.com/ggml-org/llama.cpp/pull/27461/changes


> I am pretty sure VkImportSemaphoreFdInfoKHR, mentioned in https://github.com/ggml-org/llama.cpp/issues/22648, works across multiple AMD devices, but somehow doesn't work across multiple nvidia devices.

p2p is disabled on nvidia customer cards, vulkan device groups are shipped for the RTX 6000s

> Added support for creating Vulkan logical devices from multiple physical devices on select cards via VK_KHR_device_group_creation. This feature can be enabled by setting the environment variable __VK_ENABLE_DEVICE_GROUPS=1.


So when I said "a couple of nvidia engineers", I indeed meant Jeff.

VK_KHR_cooperative_matrix - embrace?

VK_NV_cooperative_matrix2 - extend?

I am pretty sure VkImportSemaphoreFdInfoKHR, mentioned in https://github.com/ggml-org/llama.cpp/issues/22648, works across multiple AMD devices, but somehow doesn't work across multiple nvidia devices.


  --no-mmproj-offload
See the documentation: https://github.com/ggml-org/llama.cpp/blob/master/docs/multi...

There's actually already a fork that implements the preliminaries:

https://github.com/ggml-org/llama.cpp/discussions/21961


The largest unsloth published gguf also fits and runs just fine on a cpu-only machine with 128GB RAM, using llama-server PR 27742

https://github.com/ggml-org/llama.cpp/pull/27742


Relevant PR: https://github.com/ggml-org/llama.cpp/pull/27742

This branch works now: https://github.com/unslothai/llama.cpp/tree/qwen4exp/qwen3.8...

  cmake -B build -DGGML_CUDA=ON
or

  cmake -B build -DGGML_METAL=ON
then

  cmake --build build --config Release -j --target llama-server llama-cli

Download is available, but likely need to wait for an update, I get this which is understandable with the architectural change :

Original error: llama.cpp does not support this GGUF's model architecture ('qwen4exp')

Edit : Saw the pull request, should arrive soon enough https://github.com/ggml-org/llama.cpp/pull/27742


I haven't yet, though plan to when this model is released. The models that I've been daily driving (Gemma 4 26B, Qwen 3.8 27B) have fit nicely on my 3090. I think FreeToken only offers a perf increase for MoE models that you can't feasibly fit in VRAM.

Yeah I'm sometimes unsure how to get best perf out of llama.cpp, and honestly thought it already did what the FreeToken paper discusses, but from everything I've been able to find since llama.cpp has no dynamic expert cache for GPU. An RFC discusses adding such capability and there's impressive results some are claiming from a fork, but I had to stop reading the thread, reading all the LLM generated comments and summaries from people was making me dizzy.

RFC here https://github.com/ggml-org/llama.cpp/discussions/24528 which also links to some experimental implementations throughout the thread.


I did a similar thing running Q6_K model and Q8_0 DFlash2 (draft=7) quants:

    DavidAU/Qwen3.8-27B-Cold-Fusion-GAIN-V1.1-NM-DAU-NEO-MAX-MTP-GGUF
    incoai/Qwen3.8-27B-DFlash2-GGUF
using llama.cpp PR/commit https://github.com/ggml-org/llama.cpp/pull/27342 on an AMD R9700 (32GB)

There's quite a few tangential features that must be implemented correctly or risk affecting the LLM output in significant ways.

Parsing/encoding is one example: A couple of months ago I've debugged a reasoning loop bug in Step 3.7 Flash on llama.cpp that was caused by the parser capturing an extra `\n` as part of a reasoning block. It was something that only manifested at longer multi-turn agentic sessions, and the extra linefeed was steering the model into making reasoning self corrections that only got worse with longer sessions (more details about this issue: https://github.com/ggml-org/llama.cpp/issues/24181#issuecomm...)

No inference engine is perfect, but I feel that llama.cpp is the most reliable way to run language models locally.


Just quantizing takes seconds-to-minutes, llama.cpp provides a nice tool[0]. Improving quality is then a matter of picking specific tensors to maintain at higher accuracy, checking on representative data, and repeating.

[0]: https://github.com/ggml-org/llama.cpp/blob/master/tools/quan...



Didn't expect this to pop up here - please ignore for now. We are preparing official semantic versioning of llama.cpp and it's almost ready, but not quite.

More info about the versioning process is here: https://github.com/ggml-org/ggml/discussions/1579


Yeah, I think they are strays added by GitHub Actions, they don't line up with the actual version that's tracked inside the source code, which indicates v0.20.1:

https://github.com/ggml-org/llama.cpp/commit/cea66f4c5a17255...


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: