Why we write our own C and C++ inference engines
Posted by eatonphil 2 days ago
Comments
Comment by stephbook 9 hours ago
Comment by lelanthran 6 hours ago
While the page looks vibe-coded[1], the content itself does not have any AI tells. What are the tells you are seeing?
[1] Too many sites I find on HN frontpage these days slow my PC to a crawl. I assume they are all using the same autogenerated HTML, Javascrip and CSS to make animated backgrounds :-( On this specific site scrolling is laggy.
Comment by cataphract 1 hour ago
Comment by sylware 2 hours ago
Comment by interpol_p 5 hours ago
"depth estimation that beats PyTorch on CPU in half the memory" — "…beats X in Y…"
"Most LocalAI backends wrap somebody else’s engine, and that is the right default." — "…and that is the right"
"MLX and the rest are maintained by people who are better at those models than we are" — "better at those models than we are" — it's this thing that LLMs do where they are kind of weirdly confident but overly deferential
"This post is about what those ports buy" — "…buy" used in this context
"Same model, 1.31x the speed" — "Same X, something Y" — it's this overconfident yet deferential writing style
The further I read, the more tells there are. I find it incredibly tiring to read LLM generated prose and I'm not sure why. Is it because I'm aware it's not human written and have an unconscious bias? Or is it because the style is just full-on, "Not X but Y. Those performance gains are bought, not earned. This stops, that starts. Read on, or don't, that's the follow-up"
Comment by sasaf5 25 minutes ago
It always reads like a 14 year old arguing.
Comment by MattPalmer1086 5 hours ago
Its like listening to an insufferable clever dick, who is not as bright as they think they are. You would also find it incredibly irritating if a human talked like that
Comment by layer8 5 hours ago
Comment by lelanthran 5 hours ago
I think it's because of the laggy scrolling that I didn't read the whole thing anyway, just the first few screens.
Comment by nnevatie 4 hours ago
Comment by PatronBernard 4 hours ago
Comment by interpol_p 43 minutes ago
Comment by wonnage 6 hours ago
Comment by winter_blue 7 hours ago
Comment by pjmlp 6 hours ago
Comment by xienze 5 hours ago
Comment by nnevatie 4 hours ago
Comment by pjmlp 3 hours ago
Comment by nnevatie 8 hours ago
Comment by polotics 5 hours ago
"blland", "llame",... ?
Comment by pjmlp 2 hours ago
Comment by altmanaltman 8 hours ago
Comment by dreeseaw 36 minutes ago
if you've done any amount of optimizaation or hill-climbing work (kernel optimization, autoresearch type shit), you would know that these models LOVE the terms "buy" and "cost" in this sense. they use them nearly constantly (along with "budget", and even "credit" (even when working with RL/credit assignment!))
Comment by nnevatie 7 hours ago
> The method, the measurements, and what it costs us.
> That is the general shape of these wins.
> Parity is the gate, speed is the follow-up
I could go on and on, but you probably get the point. If you don't find anything funny with the above, you might have not been enough-exposed to slop.
Comment by wannabe44 7 hours ago
Comment by nnevatie 6 hours ago
Comment by altmanaltman 6 hours ago
And okay, your second argument is that I just don't know slop because I am not exposed to it? But you don't know anything about me or what I am exposed.
You're just making random claims and stating they are correct without any evidence or arguments.
Comment by bendmorris 5 hours ago
This post is incredibly obviously AI generated, to the extent that I doubt a human author edited it at all. Not "written with AI assistance" but full on "give Claude some bullets and hit publish." It contains tons of tropes that show up in all AI writing and which people are highlighting here.
What would convince you of that?
Comment by skavi 4 hours ago
Comment by rcarmo 5 hours ago
Comment by tovlier 2 hours ago
Comment by dennis16384 8 hours ago
Wasm size from 30Mb to 300kb and 1.5x speedup. It's definitely worth it for performance or distribution size.
Comment by aabdi 3 hours ago
A big problem with the existing engines like llama or sd is that they don’t support optimal graph compilation. Usually this means about a real 2 or 3x multiplier loss relative to optimal. Cuda graphs do okay but they still leave a lot on the floor
It’s usually worth it to optimize in that context if you are willing to peer into the mechanics.
Of course that’s expensive. You need to know how to appropriately pipeline and merge your kernels.
Comment by scottcodie 8 hours ago
But the cpp port of vllm looks great, that'd be great if you'll maintain that. I hit the same limitations with vllm.
Comment by piterrro 6 hours ago
Comment by adithyassekhar 8 hours ago
Comment by BedVibe_Studios 1 hour ago
Comment by federicoTXTS 1 day ago
Comment by openrockets 5 hours ago