<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://supercharleszhu.github.io/</id><title>ZCache</title><subtitle>A minimal, responsive and feature-rich Jekyll theme for technical writing.</subtitle> <updated>2026-08-24T10:38:41+00:00</updated> <author> <name>supercharles</name> <uri>https://supercharleszhu.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://supercharleszhu.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://supercharleszhu.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 supercharles </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Megatron-LM Fine-Tuning Deep Dive: Qwen Recipes, Datasets, and the Training Loop</title><link href="https://supercharleszhu.github.io/posts/2026-08-11-00/" rel="alternate" type="text/html" title="Megatron-LM Fine-Tuning Deep Dive: Qwen Recipes, Datasets, and the Training Loop" /><published>2026-08-11T07:00:00+00:00</published> <updated>2026-08-11T07:00:00+00:00</updated> <id>https://supercharleszhu.github.io/posts/2026-08-11-00/</id> <content type="text/html" src="https://supercharleszhu.github.io/posts/2026-08-11-00/" /> <author> <name>Charles Zhu</name> </author> <category term="Machine Learning Training Framework" /> <category term="Distributed Training" /> <summary>A code-level tour of Megatron fine-tuning: where Qwen recipes live, how pretraining and SFT datasets are built, how pretrain_gpt.py reaches the forward/backward schedule, which extension points matter, and a successful eight-GPU Qwen-style MCore smoke test with TP, PP, CP, and EP all set to one.</summary> </entry> <entry><title>Miles Deep Dive: Main Loop, Rollout, and Reward</title><link href="https://supercharleszhu.github.io/posts/2026-06-29-00/" rel="alternate" type="text/html" title="Miles Deep Dive: Main Loop, Rollout, and Reward" /><published>2026-06-29T02:00:00+00:00</published> <updated>2026-08-11T06:26:37+00:00</updated> <id>https://supercharleszhu.github.io/posts/2026-06-29-00/</id> <content type="text/html" src="https://supercharleszhu.github.io/posts/2026-06-29-00/" /> <author> <name>Charles Zhu</name> </author> <category term="Reinforcement Learning" /> <summary>A source-code tour of Miles' RL loop: start from train.py, follow JSONL prompts into SGLang rollout and reward scoring, see how GRPO trains on generated tokens rather than labels, and understand where the architecture differs from verl.</summary> </entry> <entry><title>TVM FFI Deep Dive: Shipping Native Kernels Without Tying Them to One PyTorch Build</title><link href="https://supercharleszhu.github.io/posts/2026-06-26-00/" rel="alternate" type="text/html" title="TVM FFI Deep Dive: Shipping Native Kernels Without Tying Them to One PyTorch Build" /><published>2026-06-26T02:00:00+00:00</published> <updated>2026-08-11T06:26:37+00:00</updated> <id>https://supercharleszhu.github.io/posts/2026-06-26-00/</id> <content type="text/html" src="https://supercharleszhu.github.io/posts/2026-06-26-00/" /> <author> <name>Charles Zhu</name> </author> <category term="Machine Learning Performance" /> <category term="Compiler" /> <summary>A deep dive into why PyTorch native C++ extensions are often tied to a specific Torch build, how TVM FFI provides a stable framework-agnostic ABI, how PyTorch tensors cross the boundary through DLPack and TensorView, and when to choose TVM FFI versus PyTorch's stable ABI.</summary> </entry> <entry><title>Serving MoE Models: A Deep Dive into Parallelism Strategies (TP, EP, DP)</title><link href="https://supercharleszhu.github.io/posts/2026-06-08-01/" rel="alternate" type="text/html" title="Serving MoE Models: A Deep Dive into Parallelism Strategies (TP, EP, DP)" /><published>2026-06-08T06:00:00+00:00</published> <updated>2026-08-11T06:26:37+00:00</updated> <id>https://supercharleszhu.github.io/posts/2026-06-08-01/</id> <content type="text/html" src="https://supercharleszhu.github.io/posts/2026-06-08-01/" /> <author> <name>Charles Zhu</name> </author> <category term="Machine Learning LLM Inference" /> <summary>A deep dive into how Mixture-of-Experts models are parallelized for inference serving. What tensor (TP), expert (EP), and data (DP) parallelism each shard inside an MoE, what they do to the all-to-all / all-reduce communication and per-GPU memory</summary> </entry> <entry><title>NVSHMEM Deep Dive: One-Sided GPU Communication, and How It Differs from NCCL</title><link href="https://supercharleszhu.github.io/posts/2026-06-08-00/" rel="alternate" type="text/html" title="NVSHMEM Deep Dive: One-Sided GPU Communication, and How It Differs from NCCL" /><published>2026-06-08T02:00:00+00:00</published> <updated>2026-08-11T06:26:37+00:00</updated> <id>https://supercharleszhu.github.io/posts/2026-06-08-00/</id> <content type="text/html" src="https://supercharleszhu.github.io/posts/2026-06-08-00/" /> <author> <name>Charles Zhu</name> </author> <category term="Machine Learning Performance" /> <category term="Distributed Training" /> <summary>A companion to the NCCL deep dive — what NVSHMEM is, why it's a fundamentally different communication model (one-sided, device-initiated PGAS vs host-launched collectives), how it surfaces in the PyTorch world via torch.distributed._symmetric_memory, its programming model (symmetric heap, put/get/signal, host vs device API), and the advanced IBGDA-vs-IBRC transport distinction that decides MoE ...</summary> </entry> </feed>
