<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gguf-Runner on My personal blog</title>
		<link>https://jens.dev/tags/gguf-runner.html</link>
		<description>Recent content in Gguf-Runner on My personal blog</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Thu, 06 Aug 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://jens.dev/tags/gguf-runner/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>gguf-runner as a Rust library</title>
				<link>https://jens.dev/2026/08/06/gguf-runner-as-an-embedded-rust-runtime.html</link>
				<pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://jens.dev/2026/08/06/gguf-runner-as-an-embedded-rust-runtime.html</guid>
				<description>&lt;p&gt;When I first wrote about &lt;a href=&#34;https://jens.dev/2026/02/17/gguf-runner-blogpost.html&#34;&gt;gguf-runner&lt;/a&gt;, it was exactly what the name suggested: a small binary that loaded a GGUF model and wrote the result to the terminal.&lt;/p&gt;&#xA;&lt;p&gt;That shape worked well.&lt;/p&gt;&#xA;&lt;p&gt;It gave me a simple way to run a local model from a shell script, and it kept the project focused. Later it gained &lt;a href=&#34;https://jens.dev/2026/03/08/gguf-runner-update.html&#34;&gt;vision support, release binaries, and faster CPU kernels&lt;/a&gt;, but it was still primarily something you started as a separate process.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Shipping CPU-optimized Rust binaries in container images</title>
				<link>https://jens.dev/2026/06/28/cpu-optimized-container-images.html</link>
				<pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>
				<guid>https://jens.dev/2026/06/28/cpu-optimized-container-images.html</guid>
				<description>&lt;p&gt;In an &lt;a href=&#34;https://jens.dev/2026/03/08/gguf-runner-update.html&#34;&gt;earlier post&lt;/a&gt; about gguf-runner I made a point that kept nagging at me afterwards.&lt;/p&gt;&#xA;&lt;p&gt;The point was this: prebuilt binaries are compiled for a conservative baseline so they run everywhere, and if you build locally with &lt;code&gt;target-cpu=native&lt;/code&gt; instead, the compiler can light up the SIMD instructions your specific CPU supports. On an AMD Ryzen 7 PRO 8700GE that was worth about &lt;strong&gt;+20.8% tokens/sec&lt;/strong&gt; for LLM inference. Real, measurable, free.&lt;/p&gt;</description>
			</item>
			<item>
				<title>TurboQuant in gguf-runner: roughly half the memory at nearly the same speed</title>
				<link>https://jens.dev/2026/03/26/turboquant-kv-cache-optimization.html</link>
				<pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
				<guid>https://jens.dev/2026/03/26/turboquant-kv-cache-optimization.html</guid>
				<description>&lt;h2 id=&#34;a-more-technical-follow-up&#34;&gt;A more technical follow-up&lt;/h2&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://jens.dev/2026/02/17/gguf-runner-blogpost.html&#34;&gt;previous post&lt;/a&gt; I introduced &lt;strong&gt;gguf-runner&lt;/strong&gt;, a small Rust CLI for running GGUF models locally on CPU.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://jens.dev/2026/03/08/gguf-runner-update.html&#34;&gt;follow-up&lt;/a&gt; I wrote about vision support, release binaries, and a number of smaller improvements.&lt;/p&gt;&#xA;&lt;p&gt;This post is about one of the more practical changes: adding &lt;strong&gt;TurboQuant&lt;/strong&gt; as a new KV-cache mode that cuts KV-cache memory sharply without giving up much throughput.&lt;/p&gt;&#xA;&lt;p&gt;Repo: &lt;a href=&#34;https://github.com/apimeister/gguf-runner&#34;&gt;https://github.com/apimeister/gguf-runner&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;why-the-kv-cache-matters-so-much&#34;&gt;Why the KV-cache matters so much&lt;/h2&gt;&#xA;&lt;p&gt;For long-context inference, the KV-cache quietly becomes one of the dominant costs.&lt;/p&gt;</description>
			</item>
			<item>
				<title>gguf-runner updates: vision support, releases, and many small improvements</title>
				<link>https://jens.dev/2026/03/08/gguf-runner-update.html</link>
				<pubDate>Sun, 08 Mar 2026 00:00:00 +0000</pubDate>
				<guid>https://jens.dev/2026/03/08/gguf-runner-update.html</guid>
				<description>&lt;h2 id=&#34;a-quick-follow-up&#34;&gt;A quick follow-up&lt;/h2&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://jens.dev/2026/02/17/gguf-runner-blogpost.html&#34;&gt;previous post&lt;/a&gt; I introduced &lt;strong&gt;gguf-runner&lt;/strong&gt;, a small Rust CLI for running GGUF models locally with a focus on:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CPU-only inference&lt;/li&gt;&#xA;&lt;li&gt;mmap-based model loading&lt;/li&gt;&#xA;&lt;li&gt;a small, scriptable command line interface&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you haven’t read that one yet, it explains the motivation and the general design of the project.&lt;/p&gt;&#xA;&lt;p&gt;This post is a follow-up covering some of the more recent additions, most notably &lt;strong&gt;vision support&lt;/strong&gt;, along with a few practical improvements like &lt;strong&gt;GitHub release binaries&lt;/strong&gt;, better documentation, and a number of performance tweaks.&lt;/p&gt;</description>
			</item>
			<item>
				<title>gguf-runner: a minimal GGUF CLI</title>
				<link>https://jens.dev/2026/02/17/gguf-runner-blogpost.html</link>
				<pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
				<guid>https://jens.dev/2026/02/17/gguf-runner-blogpost.html</guid>
				<description>&lt;p&gt;I’ve been playing with local LLMs again.&lt;/p&gt;&#xA;&lt;p&gt;Not in the “let’s build a platform” way. More in the “I want a tiny tool I can keep in &lt;code&gt;~/bin&lt;/code&gt; and forget about” way.&lt;/p&gt;&#xA;&lt;p&gt;So I built &lt;strong&gt;gguf-runner&lt;/strong&gt;: a small Rust CLI to run &lt;strong&gt;GGUF&lt;/strong&gt; models locally, &lt;strong&gt;CPU-only&lt;/strong&gt;, with a focus on &lt;em&gt;low memory overhead&lt;/em&gt; and a clean “pipes and scripts” workflow.&lt;/p&gt;&#xA;&lt;p&gt;Repo: &lt;a href=&#34;https://github.com/apimeister/gguf-runner&#34;&gt;https://github.com/apimeister/gguf-runner&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;memory-first-gguf--mmap&#34;&gt;Memory first: GGUF + mmap&lt;/h2&gt;&#xA;&lt;p&gt;The core idea behind gguf-runner is simple:&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
