<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://dnhkng.github.io/</id><title>David Noel Ng</title><subtitle>ML, Biotech, Hardware, and Coordination Problems. Sometimes I write about hard problems and how to solve them.</subtitle> <updated>2026-10-01T12:07:19+02:00</updated> <author> <name>David Noel Ng</name> <uri>https://dnhkng.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://dnhkng.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://dnhkng.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 David Noel Ng </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Teaching an M4 CPU to Tell Stories with XOR, Popcount and SDOT</title><link href="https://dnhkng.github.io/posts/m4-tinystories/" rel="alternate" type="text/html" title="Teaching an M4 CPU to Tell Stories with XOR, Popcount and SDOT" /><published>2026-09-10T00:00:00+02:00</published> <updated>2026-09-11T13:04:13+02:00</updated> <id>https://dnhkng.github.io/posts/m4-tinystories/</id> <content type="text/html" src="https://dnhkng.github.io/posts/m4-tinystories/" /> <author> <name>David Noel Ng</name> </author> <category term="hardware" /> <category term="LLMs" /> <summary>Introduction Language models are designed in linear algebra, PyTorch functions, and translated onto hardware afterwards. You pick an architecture, then you bend CUDA, Metal, or BLAS to your will to run it, hoping the compilers will do a good job with graph optimisation. An ARM core already contains a pile of very fast operations that nobody invented for language models. It compares floating-po...</summary> </entry> <entry><title>2x GH200 for LLM inference, Part 4: DeepSeek V4 Flash - SGLang vs vLLM at 1M context</title><link href="https://dnhkng.github.io/posts/gh200-benchmarking-part-4-dsv4-released/" rel="alternate" type="text/html" title="2x GH200 for LLM inference, Part 4: DeepSeek V4 Flash - SGLang vs vLLM at 1M context" /><published>2026-08-04T00:00:00+02:00</published> <updated>2026-08-09T17:33:56+02:00</updated> <id>https://dnhkng.github.io/posts/gh200-benchmarking-part-4-dsv4-released/</id> <content type="text/html" src="https://dnhkng.github.io/posts/gh200-benchmarking-part-4-dsv4-released/" /> <author> <name>David Noel Ng</name> </author> <category term="LLMs" /> <category term="workstations" /> <summary>Introduction Part 1 measured this dual GH200 workstation as a memory system. Part 2 used those numbers on the preview DeepSeek V4 Flash checkpoint, where the interesting/painful part was getting multi-token prediction to run at all: a hand-written vLLM O-projection fallback, a config-propagation fix, and a narrow upstream PR. Part 3 then took the box to its limit with GLM-5.2 and expert offloa...</summary> </entry> <entry><title>Building the <s>Beam</s> Universe Splitter II: Building a Quantum LLM</title><link href="https://dnhkng.github.io/posts/building-a-quantum-llm/" rel="alternate" type="text/html" title="Building the &amp;lt;s&amp;gt;Beam&amp;lt;/s&amp;gt; Universe Splitter II: Building a Quantum LLM" /><published>2026-07-22T00:00:00+02:00</published> <updated>2026-07-22T18:46:59+02:00</updated> <id>https://dnhkng.github.io/posts/building-a-quantum-llm/</id> <content type="text/html" src="https://dnhkng.github.io/posts/building-a-quantum-llm/" /> <author> <name>David Noel Ng</name> </author> <category term="hardware" /> <category term="LLMs" /> <category term="quantum mechanics" /> <summary>TL;DR: Here is the NotebookLLM Podcast audio version. In Part 1, I built a Quantum Random Number Generator out of a pair of old lab-equipment photomultiplier tubes, a 50:50 beam splitter, and an FPGA, and then capped it with a Quantum Magic 8-Ball. The 8-Ball was the minimum viable Quantum Lever: five quantum-derived bits per question -&amp;gt; twenty answers -&amp;gt; twenty distinct macroscopic mult...</summary> </entry> <entry><title>Building the <s>Beam</s> Universe Splitter I: A Quantum Magic 8-Ball</title><link href="https://dnhkng.github.io/posts/building-the-beam-universe-splitter/" rel="alternate" type="text/html" title="Building the &amp;lt;s&amp;gt;Beam&amp;lt;/s&amp;gt; Universe Splitter I: A Quantum Magic 8-Ball" /><published>2026-06-25T00:00:00+02:00</published> <updated>2026-07-22T08:41:46+02:00</updated> <id>https://dnhkng.github.io/posts/building-the-beam-universe-splitter/</id> <content type="text/html" src="https://dnhkng.github.io/posts/building-the-beam-universe-splitter/" /> <author> <name>David Noel Ng</name> </author> <category term="hardware" /> <category term="FPGA" /> <category term="quantum mechanics" /> <summary>Sometimes I get weird projects stuck in my head. I’ve always wanted to do a “quantum” hardware project; in my PhD and postdoc I’d messed about making fluorescent dyes and proteins that were technically quantum (I designed around a Jablonski diagram ), but it was all unsatisfying. I’ve wanted to get down to single quantum events, ever since reading The Fabric of Reality, the 1997 book by physici...</summary> </entry> <entry><title>2x GH200 for LLM inference, Part 3: GLM-5.2, expert offload, and the CPU question</title><link href="https://dnhkng.github.io/posts/gh200-benchmarking-part-3-glm52/" rel="alternate" type="text/html" title="2x GH200 for LLM inference, Part 3: GLM-5.2, expert offload, and the CPU question" /><published>2026-06-17T00:00:00+02:00</published> <updated>2026-08-04T09:15:55+02:00</updated> <id>https://dnhkng.github.io/posts/gh200-benchmarking-part-3-glm52/</id> <content type="text/html" src="https://dnhkng.github.io/posts/gh200-benchmarking-part-3-glm52/" /> <author> <name>David Noel Ng</name> </author> <category term="LLMs" /> <category term="workstations" /> <summary>Introduction Part 1 measured the dual GH200 workstation as a memory system. Part 2 used those measurements to explain why DeepSeek V4 Flash can be fast in vLLM when the model layout fits the hardware: keep hot weights in HBM, avoid unnecessary Hopper-to-Hopper traffic, and use MTP only where the acceptance rate pays for the draft work. GLM-5.2 starts at 2.39 output tok/s on this machine and a...</summary> </entry> </feed>
