Blog
Systems performance and how hardware and software really work — CPUs, GPUs, AI inference, networking and foundations.
How does a GPU work—and why isn't it always faster than a CPU?
Parallel capacity only helps when a program supplies enough independent work and the data arrives in time. A worked accounting model of CPU and GPU paths.
· 4 min read
What is CUDA and what happens when you launch a kernel?
Host and device code, threads, blocks and grids, and why a kernel launch is an asynchronous request placed in a stream rather than a function call that waits.
· 4 min read
CUDA in Rust: calling GPU code versus writing GPU code
Host bindings that launch existing kernels versus compiling Rust into GPU kernels — what a library can manage for you, and what an unsafe kernel launch still requires.
· 4 min read
How Apple M1 works and what unified memory changes
The original 2020 M1 system on a chip, and what a shared CPU–GPU memory pool removes — duplicate copies — and what it does not: bandwidth, capacity and synchronisation.
· 4 min read
How AI inference works from prompt to first token
For autoregressive transformer language models: token IDs, prefill, the KV cache, decode, weights and queues — and why time to first token differs from streaming speed.
· 4 min read
How an Ethernet cable carries data
Copper twisted pairs, differential signalling, symbols versus bits, PHY and MAC, frames versus IP packets, switching, and why a CRC detects errors but repairs nothing.
· 4 min read
Why fast code still waits
Memory latency, dependency chains, locality and queues: four different reasons a program with cheap instructions spends its time waiting, with a worked burst-queue example.
· 4 min read