<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://vaibhav016.github.io/blog/2023/10/01/ssh-keys-cluster-setup-demystified/</loc>
<lastmod>2023-10-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/03/10/distributed-training-part-1-batch-size-hierarchy/</loc>
<lastmod>2026-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/03/10/distributed-training-part-2-ddp-fsdp-and-data-sharding/</loc>
<lastmod>2026-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/03/10/distributed-training-part-3-surviving-frontier/</loc>
<lastmod>2026-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/03/22/attention-residuals-kimi-fixing-transformers-blind-spot/</loc>
<lastmod>2026-03-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/05/29/flow-based-llm-part-1-generation-as-transport/</loc>
<lastmod>2026-05-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/05/30/flow-based-llm-part-2-tokens-on-the-simplex/</loc>
<lastmod>2026-05-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/05/30/flow-based-llm-part-3-jumps-not-velocities/</loc>
<lastmod>2026-05-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/05/30/flow-based-llm-part-4-one-process-all-along/</loc>
<lastmod>2026-05-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/05/30/flow-based-llm-part-5-how-fast-how-far/</loc>
<lastmod>2026-05-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-1-one-pass-through-the-block/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-2-attention-and-the-square-root/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-3-residuals-and-the-norm/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-4-where-am-i/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-5-what-the-ffn-knows/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/06/interrogating-the-transformer-part-6-what-changed-since-2017/</loc>
<lastmod>2026-09-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-1-where-the-time-goes/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-2-the-roofline/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-3-inside-the-memory-hierarchy/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-4-where-the-bytes-go/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-5-flashattention/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-6-the-2026-toolkit/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/07/interrogating-the-gpu-part-7-building-at-scale/</loc>
<lastmod>2026-09-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-1-why-make-a-model-sparse/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-2-how-a-token-picks-its-experts/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-3-keeping-the-experts-busy/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-4-the-bill-for-sparsity/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-5-what-is-unsolved/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-moe-part-6-the-question-set/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-1-why-one-gpu-cannot-do-it/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-2-splitting-the-batch/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-3-splitting-a-matrix-multiply/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-4-splitting-the-layers/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-5-long-sequences-and-sparse-models/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-6-putting-them-together/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-parallelism-part-7-the-question-set/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-1-why-the-cache-exists/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-2-how-many-bytes/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-3-making-it-smaller/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-4-how-a-server-keeps-it/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-5-what-it-does-to-throughput/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/blog/2026/09/09/interrogating-the-kv-cache-part-6-the-question-set/</loc>
<lastmod>2026-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/blog/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/cv/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/journey/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/ml-interview-2026/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/projects/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/pages/publications/</loc>
</url>
<url>
<loc>https://vaibhav016.github.io/googlebdc6f52a5d55c856.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/attnres-visuals/01-prenorm-dilution.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/attnres-visuals/02-standard-vs-attnres.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/attnres-visuals/03-block-attnres.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/attnres-visuals/04-vertical-attention-family.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/attnres-visuals/vertical_attention.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/01-ddp-overview.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/02-fsdp-layer-lifecycle.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/03-ring-vs-tree-allreduce.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/04-data-sharding.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/05-communication-stack.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/06-multinode-launch.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/blog-visuals/07-full-optimizer-step-trace.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/01-transport-paths.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/02-marginal-vs-conditional.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/03-live-training.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/p2-simplex.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/p3-ctmc.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/p4-generator.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/flow-llm-visuals/p5-race.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g1-four-clocks.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g2-roofline.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g3-hierarchy.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g4-memory-budget.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g5-flashattention.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g6-toolkit.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/gpu-visuals/g7-at-scale.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/kv-visuals/k1-why-the-cache-exists.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/kv-visuals/k2-the-byte-budget.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/kv-visuals/k3-shrinking-the-cache.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/kv-visuals/k4-paged-and-shared.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/kv-visuals/k5-throughput.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-comparison-preview.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-intuition-preview.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-parameter-map.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-plate-preview.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-primer.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1-total-vs-active.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m1c-block-flow.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m2-routing.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m3-load-balancing.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m4-systems.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/moe-visuals/m5-frontier.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p1-two-budgets.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p2-data-parallel.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p3-tensor-parallel.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p4-pipeline-bubble.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p5-context-and-experts.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/parallel-visuals/p6-topology.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part1-blog-visuals/01-gpu-hierarchy.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part1-blog-visuals/02-batch-size-hierarchy.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part1-blog-visuals/03-auto-compute-scaling.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part1-blog-visuals/04-progress-bar-mystery.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part1-blog-visuals/05-token-accounting.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part3-blog-visuals/01-nvme-checkpoint-sidecar.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part3-blog-visuals/02-self-resubmitting-jobs.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part3-blog-visuals/03-node-health-checks.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part3-blog-visuals/04-mfu-calculator.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/part3-blog-visuals/05-offline-env-wandb.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p1-forward-pass.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p2-scaled-dot-product.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p3-residual-gradients.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4a-bag-of-tokens.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4b-sinusoid-clocks.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4c-add-vs-rotate.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4d-rope.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4e-stretch.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p4f-causal-leak.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p5-ffn-memory.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/images/blog/transformer-visuals/p6-modern-diff.html</loc>
<lastmod>2026-10-06T01:16:15+00:00</lastmod>
</url>
<url>
<loc>https://vaibhav016.github.io/src/docs/CV_2026.pdf</loc>
<lastmod>2026-10-06T01:16:16+00:00</lastmod>
</url>
</urlset>
