Learning Series
Active Series
LLM Inference
A series on LLM inference internals - the end-to-end inference flow, FlashAttention and PagedAttention, and agentic workflows with Mixture-of-Experts
- LLM Inference Introduction: the end-to-end flow and vector math
- The KV Cache: Sizing It, and the Attention Variants That Shrink It
- PagedAttention
- FlashAttention: Exact Attention Without Materialization
- The Evolution of FlashAttention: From Ampere to Blackwell
- FlashInfer: A Customizable Attention Engine for LLM Serving
- Agentic Inference and Mixture-of-Experts: Two Levels of Conditional Execution
CPU ISA for ML
A guide to CPU instruction-set features for ML workloads - numeric precision formats, the VNNI layout, and Intel AMX/TPP performance on Granite Rapids
CPU Microarchitecture
A deep dive into CPU microarchitecture on Intel Granite Rapids - cache coherence and MESI, hardware/software prefetching, and IOMMU-based device isolation
CXL Series
A complete guide on CXL (Compute Express Link) technology and its applications
Locking primitives
A complete guide on different locking primitives used in Linux Kernel, C, and C++
LLM Training
A series on LLM training internals - the end-to-end training loop, PyTorch distributed training and profiling, and neural network quantization
GPU Performance Profiling
Practical tools and workflows for profiling GPU utilization, memory usage, and performance bottlenecks
Past Series
Performance Profiling
A practical guide to Linux performance profiling - perf stat/record internals and adding custom /proc counters