<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: BytePenny</title>
    <description>The latest articles on DEV Community by BytePenny (@bytepenny).</description>
    <link>https://dev.to/bytepenny</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4204971%2F29e77bfa-10b0-41ad-8de6-25c6c532a1ef.png</url>
      <title>DEV Community: BytePenny</title>
      <link>https://dev.to/bytepenny</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bytepenny"/>
    <language>en</language>
    <item>
      <title>What is dequantization?</title>
      <dc:creator>BytePenny</dc:creator>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/bytepenny/what-is-dequantization-397</link>
      <guid>https://dev.to/bytepenny/what-is-dequantization-397</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flxiunmu47at4yyes6g73.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flxiunmu47at4yyes6g73.jpg" alt="Small compressed number blocks expanding into full numbers under the title What is dequantization?" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A language model is mostly numbers: billions of weights. Stored at full precision, an 8B model takes about 16 GB, more than most laptops have. Quantization shrinks those numbers so the model fits. Dequantization turns them back into usable values when the model runs, and how an engine does that decides a large part of its speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantization: fewer bits per weight
&lt;/h2&gt;

&lt;p&gt;A quantized file does not store each weight as a 16-bit number. It groups weights into small blocks, often 256 at a time, and stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one shared &lt;strong&gt;scale&lt;/strong&gt; for the block (a normal number),&lt;/li&gt;
&lt;li&gt;small &lt;strong&gt;integer codes&lt;/strong&gt; for each weight, 2 to 8 bits each.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A weight is then roughly &lt;em&gt;scale × code&lt;/em&gt;. Some formats add a per-block offset, or a second, smaller scale for every 16 or 32 weights, to follow the real values more closely.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format (GGUF)&lt;/th&gt;
&lt;th&gt;Bits per weight&lt;/th&gt;
&lt;th&gt;8B model size&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;F16 (no quantization)&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;about 16 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q8_0&lt;/td&gt;
&lt;td&gt;8.5&lt;/td&gt;
&lt;td&gt;about 8.5 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q4_K_M&lt;/td&gt;
&lt;td&gt;about 4.8&lt;/td&gt;
&lt;td&gt;about 4.9 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IQ2_M&lt;/td&gt;
&lt;td&gt;about 2.7&lt;/td&gt;
&lt;td&gt;about 2.9 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The “I-quants” (IQ1 to IQ3) go further: instead of plain integers they store an index into a fixed table of good value patterns (a &lt;em&gt;codebook&lt;/em&gt;), plus sign bits. That is how they reach 2 bits per weight and still produce readable text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dequantization: getting the numbers back
&lt;/h2&gt;

&lt;p&gt;To compute with a weight, the engine has to know its value, so it reverses the packing: read the scale, read the code, multiply. That is dequantization.&lt;/p&gt;

&lt;p&gt;Why bother? Because writing each token means reading nearly all the weights once, and memory speed is the limit (see &lt;a href="https://bytepenny.com/blog/cpu-vs-gpu/" rel="noopener noreferrer"&gt;CPU vs GPU&lt;/a&gt;). A model that is 4 times smaller is read about 4 times faster, as long as unpacking it doesn’t eat that gain back.&lt;/p&gt;

&lt;p&gt;The price is a little accuracy (Q4_K_M is close to the original, 2-bit types lose more) and the extra work of unpacking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two ways to do it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Unpack everything at load time.&lt;/strong&gt; Turn the whole model back into 16- or 32-bit floats once, then use ordinary fast matrix maths. Simple and fast, but the model needs several times its file size in RAM. A 2.6 GB Ministral 3B file needs about 7.5 GB this way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compute on the packed weights.&lt;/strong&gt; Keep the file as it is and unpack each small block only at the moment it is multiplied. RAM use stays close to the file size, but the unpacking happens again for every token, so it has to be very cheap.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Matricxon does it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bytepenny.com/matricxon/" rel="noopener noreferrer"&gt;Matricxon&lt;/a&gt; uses the second way by default (&lt;a href="https://bytepenny.com/docs/matricxon/kernels-and-gpu/#packed-weights" rel="noopener noreferrer"&gt;packed weights&lt;/a&gt;). The model file is memory-mapped, and native C kernels multiply the packed blocks directly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The input is quantized too.&lt;/strong&gt; The activation vector (the token’s current state) is turned into 8-bit integers, 256 at a time, with one scale each.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integer dot products.&lt;/strong&gt; Packed weights and the 8-bit input are multiplied as small integers with SIMD instructions that handle 16 bytes at once. Floats come back only once per block: &lt;em&gt;weight scale × input scale × integer sum&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unpack once, reuse many times.&lt;/strong&gt; When reading a prompt, each weight row is unpacked once and reused for every prompt token while it is still in the CPU cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built for your server.&lt;/strong&gt; The C library compiles on first start with &lt;code&gt;-march=native&lt;/code&gt;, so it uses whatever your CPU supports.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every one of the &lt;a href="https://bytepenny.com/docs/matricxon/models/#quantization-types" rel="noopener noreferrer"&gt;25 quantization types&lt;/a&gt; has a plain Python reference that unpacks a block step by step. The fast kernels, and the Numba versions used when no C compiler is available, are tested against it, so a speed-up can’t quietly change a result. If there is RAM to spare, &lt;code&gt;MATRICXON_ENABLE_QUANTIZED_NATIVE_COMPUTE=false&lt;/code&gt; switches to unpacking everything at load time. On an NVIDIA GPU (experimental) weights are unpacked into VRAM by default, where the GPU’s float maths is fastest; &lt;code&gt;MATRICXON_GPU_WEIGHT_MODE=packed&lt;/code&gt; keeps them compressed to save VRAM.&lt;/p&gt;

&lt;h2&gt;
  
  
  A recent example: making 2-bit models usable
&lt;/h2&gt;

&lt;p&gt;Until this week, Matricxon’s I-quant kernels unpacked every weight to a float and multiplied one at a time. A 2-bit Llama 3.1 8B took over 3 minutes for its first word on an older laptop CPU (partly because the laptop was also short on RAM), then about 15 seconds per word.&lt;/p&gt;

&lt;p&gt;The fix came from looking at the formats again: every I-quant weight is exactly &lt;em&gt;a small integer scale × a small whole number&lt;/em&gt; from its codebook. So these types now use the same integer path as the 4-bit types, with nothing approximated. On one layer of that model:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IQ2_S, one 14336 × 4096 layer&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Writing one token&lt;/td&gt;
&lt;td&gt;44.9 ms&lt;/td&gt;
&lt;td&gt;9.6 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reading a 16-token prompt&lt;/td&gt;
&lt;td&gt;529 ms&lt;/td&gt;
&lt;td&gt;about 57 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;End to end, the first word now comes in 10 to 16 seconds and each further word in about 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which quantization should you pick?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Q4_K_M&lt;/strong&gt; is the usual best choice: about a third of the original size, close in quality, and fast to unpack.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Q8_0&lt;/strong&gt; if you have the RAM and want quality closest to the original.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IQ2 and IQ3&lt;/strong&gt; to fit a bigger model into little memory. They lose more quality and are slower to unpack on a CPU, so a smaller model in Q4_K_M is often the better trade.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://bytepenny.com/pairing/" rel="noopener noreferrer"&gt;pAIring&lt;/a&gt; shows each model’s expected memory use for the active engine before you download it, so you can see what fits your hardware.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://bytepenny.com/blog/what-is-dequantization/" rel="noopener noreferrer"&gt;bytepenny.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>machinelearning</category>
      <category>gpu</category>
    </item>
    <item>
      <title>Wolfram|Alpha as an MCP server: exact math for your AI</title>
      <dc:creator>BytePenny</dc:creator>
      <pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/bytepenny/wolframalpha-as-an-mcp-server-exact-math-for-your-ai-4j0c</link>
      <guid>https://dev.to/bytepenny/wolframalpha-as-an-mcp-server-exact-math-for-your-ai-4j0c</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbkbjauxb1jgl8mh9qpzc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbkbjauxb1jgl8mh9qpzc.jpg" alt="An AI chip connected to a Wolfram|Alpha computation engine with math symbols, under the title Wolfram|Alpha as an MCP server" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ask a language model for 2&lt;sup&gt;100&lt;/sup&gt;, the integral of x² sin x, and it will answer confidently. Sometimes it is right. A language model doesn’t calculate; it predicts the next piece of text, and digits are just text to it. That works for words, but numbers need to be exact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wolfram|Alpha&lt;/strong&gt; was built to do the opposite: compute answers instead of predicting them. Thanks to &lt;a href="https://bytepenny.com/blog/what-is-mcp/" rel="noopener noreferrer"&gt;MCP (the Model Context Protocol)&lt;/a&gt;, any AI app that supports MCP can now hand math and factual questions to Wolfram|Alpha and get back a computed result. This post explains what that is, what you gain, and where the limits are.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Wolfram|Alpha is
&lt;/h2&gt;

&lt;p&gt;Wolfram|Alpha is a &lt;em&gt;computational knowledge engine&lt;/em&gt; from Wolfram Research, online since 2009. It is not a search engine: instead of finding pages that might contain the answer, it works the answer out. Underneath are two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Wolfram Language&lt;/strong&gt; (the language behind Mathematica), with decades of algorithms for algebra, calculus, statistics, number theory, geometry and much more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Wolfram Knowledgebase&lt;/strong&gt; , a large, curated collection of data on chemistry, physics, astronomy, geography, finance, units and other fields.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It takes plain-language questions such as “solve x^3 - 2x + 1 = 0” or “distance from Earth to Mars now” and returns structured, computed results.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wolfram|Alpha as an MCP server
&lt;/h2&gt;

&lt;p&gt;An MCP server offers tools that a model can call. In February 2026, Wolfram made its technology available as a “foundation tool” for AI systems, including an official MCP service. Wolfram calls the idea &lt;strong&gt;computation-augmented generation (CAG)&lt;/strong&gt;: where &lt;a href="https://bytepenny.com/blog/what-is-rag/" rel="noopener noreferrer"&gt;RAG&lt;/a&gt; adds &lt;em&gt;retrieved&lt;/em&gt; text to the prompt, CAG adds &lt;em&gt;computed&lt;/em&gt; results.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Wolfram Cloud MCP&lt;/strong&gt; server lives at &lt;code&gt;https://agenttools.wolfram.com/mcp&lt;/code&gt;. It uses the standard streamable HTTP transport, needs no API key, and is free for limited personal use. It offers three tools:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;Good for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WolframAlpha&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sends a plain-language query to Wolfram&lt;/td&gt;
&lt;td&gt;Alpha&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WolframLanguageEvaluator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Runs Wolfram Language code in a cloud kernel (60-second default limit)&lt;/td&gt;
&lt;td&gt;Multi-step calculations, custom formulas, plots&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WolframContext&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Semantic search over Wolfram’s documentation and knowledge&lt;/td&gt;
&lt;td&gt;Helping the model write correct queries and code&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All three are marked read-only. The cloud service is stateless: each call stands alone, with no saved variables between calls and no file uploads.&lt;/p&gt;

&lt;p&gt;There are two other routes. &lt;strong&gt;Wolfram Local MCP&lt;/strong&gt; runs on your own server with Mathematica, Wolfram|One or a licensed Wolfram Engine, and adds persistent sessions, local files and notebook tools. And several community MCP servers wrap the &lt;strong&gt;Wolfram|Alpha LLM API&lt;/strong&gt; , which needs a free App ID from the Wolfram developer portal (a free non-commercial plan is available).&lt;/p&gt;

&lt;h2&gt;
  
  
  What a tool call looks like
&lt;/h2&gt;

&lt;p&gt;A user asks: &lt;em&gt;“What is the integral of x² sin(x), and what is it from 0 to π?”&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The model sees the &lt;code&gt;WolframAlpha&lt;/code&gt; tool and decides to use it.&lt;/li&gt;
&lt;li&gt;It calls the tool with the query &lt;code&gt;integrate x^2 sin(x) dx&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Wolfram|Alpha computes and returns the answer (this is the actual response):&lt;/li&gt;
&lt;/ol&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Indefinite integral
∫ x^2 sin(x) dx = 2 x sin(x) - (x^2 - 2) cos(x) + constant

# Definite integral
∫_0^π x^2 sin(x) dx = π^2 - 4 ≈ 5.8696
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;ol&gt;
&lt;li&gt;The model writes the reply around this exact result, and can add a link to the full Wolfram|Alpha page so the user can check it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The model does the talking; Wolfram|Alpha does the math.&lt;/p&gt;

&lt;h2&gt;
  
  
  The math advantages
&lt;/h2&gt;

&lt;p&gt;Language models break numbers into tokens, chunks of characters, and predict them one at a time. Long multiplication, carrying digits and keeping many steps exact are exactly where that fails. Handing the math to Wolfram|Alpha gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exact arithmetic.&lt;/strong&gt; Big integers, fractions and high-precision decimals, computed rather than estimated. 2&lt;sup&gt;100&lt;/sup&gt; is 1267650600228229401496703205376, every digit correct.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Symbolic math.&lt;/strong&gt; Simplify, factor, expand, differentiate and integrate expressions, with exact forms like π² − 4 instead of a rounded decimal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Equation solving.&lt;/strong&gt; Polynomial, linear and differential equations and systems of equations, including complex roots and exact radicals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Units and constants.&lt;/strong&gt; Unit-aware calculations and conversions, plus physical constants such as the speed of light, without the model typing in values from memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Statistics and number theory.&lt;/strong&gt; Means, regressions, distributions, primes, factorizations, modular arithmetic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plots.&lt;/strong&gt; Graphs of functions and data, returned as images the app can show.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Results you can check.&lt;/strong&gt; Every answer can come with a link to the full Wolfram|Alpha result, so a person can verify it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Beyond math
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Curated, up-to-date data.&lt;/strong&gt; Chemical properties, planet positions, country statistics and exchange rates come from Wolfram’s knowledgebase, not from what the model happened to read during training.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fewer hallucinated facts.&lt;/strong&gt; When a number comes from a tool, the model has no need to invent one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small models with strong math.&lt;/strong&gt; A compact model running on a CPU will never compute as well as Wolfram|Alpha, and it doesn’t have to. It only needs to recognize when to call the tool. This makes a small private model far more capable without bigger hardware. For more on that trade-off, see &lt;a href="https://bytepenny.com/blog/running-llms-on-cpus/" rel="noopener noreferrer"&gt;running LLMs on CPUs&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limits and things to know
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The question leaves your network.&lt;/strong&gt; The query text goes to Wolfram’s cloud. Keep confidential details out of math queries, or use Wolfram Local MCP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internet access is required&lt;/strong&gt; for the cloud service, and it is meant for small-scale use. For heavy or commercial use, look at Wolfram’s paid APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The model must support tool calling,&lt;/strong&gt; and has to choose to call the tool. A model that answers math on its own will still guess.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;English queries work best.&lt;/strong&gt; The model should translate the question for the tool and answer in the user’s language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code tools need care.&lt;/strong&gt; WolframLanguageEvaluator runs code in Wolfram’s cloud. It is read-only for your systems, but some apps let you require approval for it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Using it in pAIring
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bytepenny.com/pairing/" rel="noopener noreferrer"&gt;pAIring&lt;/a&gt; is an MCP host, so connecting Wolfram|Alpha takes a minute:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Admin settings &amp;gt; MCP servers&lt;/strong&gt; and add a server named &lt;code&gt;Wolfram&lt;/code&gt; with the URL &lt;code&gt;https://agenttools.wolfram.com/mcp&lt;/code&gt;. No API key or headers are needed.&lt;/li&gt;
&lt;li&gt;Raise the call timeout to about 60 seconds, since Wolfram Language evaluations can take that long.&lt;/li&gt;
&lt;li&gt;Test the connection, then make sure MCP is on under &lt;strong&gt;Admin settings &amp;gt; System&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In a chat, turn tools on and ask a math question.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With a tool-capable model on &lt;a href="https://bytepenny.com/matricxon/" rel="noopener noreferrer"&gt;Matricxon&lt;/a&gt; or llama.cpp, your chats stay on your own hardware, and only the math and fact queries go out to Wolfram.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://bytepenny.com/blog/wolfram-alpha-mcp-server/" rel="noopener noreferrer"&gt;bytepenny.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>mcp</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>CPU vs GPU</title>
      <dc:creator>BytePenny</dc:creator>
      <pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/bytepenny/cpu-vs-gpu-446m</link>
      <guid>https://dev.to/bytepenny/cpu-vs-gpu-446m</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhn9c7dalc0g0edwumptg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhn9c7dalc0g0edwumptg.jpg" alt="A processor and a graphics card side by side under the title CPU vs GPU" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;“You need a GPU for AI” is half true. A graphics card makes some parts of running a language model much faster, and others barely at all. Knowing which is which saves money, and tells you whether the computer you already have is enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Both are limited by memory, not maths
&lt;/h2&gt;

&lt;p&gt;When a model writes a reply, every new token means reading nearly all of its weights once. So the speed of writing is set mostly by how fast the chip can read its memory:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;Memory speed (roughly)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Laptop or desktop, two DDR4/DDR5 channels&lt;/td&gt;
&lt;td&gt;40 to 90 GB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workstation or server, many channels&lt;/td&gt;
&lt;td&gt;200 to 500 GB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple Silicon (unified memory)&lt;/td&gt;
&lt;td&gt;100 to 800 GB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consumer graphics card&lt;/td&gt;
&lt;td&gt;300 to 1,000+ GB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That is why a GPU often writes 5 to 15 times faster than a desktop CPU with the same model. It is not that it thinks harder; it reads faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  The catch: the model has to fit
&lt;/h2&gt;

&lt;p&gt;A GPU is only fast while the whole model, plus the chat’s memory (the KV cache), fits in its own memory (VRAM). Consumer cards have 8 to 24 GB. A 4-bit 8B model (about 5 GB) fits easily. A 4-bit 70B model (about 40 GB) does not fit on any consumer card, but runs on a computer with 64 GB of ordinary RAM.&lt;/p&gt;

&lt;p&gt;Splitting a model between the GPU and the CPU works, but helps less than you might expect: every token waits for the slowest part, which is the half that sits in system memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the GPU really shines
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reading the prompt.&lt;/strong&gt; Before the first word of a reply, the model reads your whole message, and with a knowledge base, the documents found for it. This part is pure arithmetic, and a GPU can be 10 to 100 times faster. Long prompts are where a CPU feels slow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many users at once.&lt;/strong&gt; A GPU can handle several conversations in the same pass over the weights. A CPU mostly takes turns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Large models at speed.&lt;/strong&gt; If you need a 30B to 70B model to answer quickly, you need serious GPU memory, or several cards.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where the CPU holds its own
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Capacity.&lt;/strong&gt; 64 GB of RAM costs a fraction of 64 GB of VRAM. Large models fit; they are just slower.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost and what you already own.&lt;/strong&gt; Every computer has a CPU. For one person, or a small team asking short questions, a well-chosen 3B to 8B model on a modern CPU is often fast enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mixture-of-experts models.&lt;/strong&gt; They read only a small part of their weights for each token, so they run far faster on a CPU than their size suggests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity, power and noise.&lt;/strong&gt; No drivers, no fans at full speed, lower power use, and it runs on any physical or virtual server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Privacy is the same on both: a model on your own hardware keeps your data on your own hardware, whatever chip runs it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to choose
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Your situation&lt;/th&gt;
&lt;th&gt;A good fit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;One user, short questions, a recent laptop&lt;/td&gt;
&lt;td&gt;CPU, a 3B to 8B model at 4-bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A small team, long documents or a knowledge base&lt;/td&gt;
&lt;td&gt;A GPU with 12 to 24 GB, or a fast multi-channel CPU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Large models, but speed is not critical&lt;/td&gt;
&lt;td&gt;CPU with plenty of RAM, or a mixture-of-experts model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Large models, fast, many users&lt;/td&gt;
&lt;td&gt;One or more GPUs with enough memory for the whole model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Occasional need for a very large model&lt;/td&gt;
&lt;td&gt;A cloud model for those cases only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What Matricxon and pAIring do
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bytepenny.com/matricxon/" rel="noopener noreferrer"&gt;Matricxon&lt;/a&gt; runs on both CPUs and GPUs. On NVIDIA cards (&lt;code&gt;MATRICXON_DEVICE=cuda&lt;/code&gt;, in BETA) weights are either unpacked for speed or kept compressed to save VRAM. On CPUs, a lot of fine-tuning went into making it work well: it multiplies compressed weights directly, keeps chats cached so a prompt is rarely read twice, and runs mixture-of-experts models efficiently. &lt;a href="https://bytepenny.com/pairing/" rel="noopener noreferrer"&gt;pAIring&lt;/a&gt; works with Matricxon, llama.cpp (with a GPU build it uses your GPU) and a growing list of cloud connectors, so you can start on the hardware you have, add a GPU server later, and switch engines with one setting.&lt;/p&gt;

&lt;p&gt;The short answer: start with your CPU. Add a GPU when replies get too slow, usually because of long prompts, many users at once or a large model.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://bytepenny.com/blog/cpu-vs-gpu/" rel="noopener noreferrer"&gt;bytepenny.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
