<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://tonylee.bio/</loc></url><url><loc>https://tonylee.bio/blog/</loc></url><url><loc>https://tonylee.bio/blog/attention-from-first-principles/</loc></url><url><loc>https://tonylee.bio/blog/attention-how-to-shrink-it/</loc></url><url><loc>https://tonylee.bio/blog/distributed-inference-the-fleet/</loc></url><url><loc>https://tonylee.bio/blog/moe-routing/</loc></url><url><loc>https://tonylee.bio/blog/scheduling-continuous-batching-paged-attention/</loc></url><url><loc>https://tonylee.bio/blog/tags/</loc></url><url><loc>https://tonylee.bio/blog/tags/activation-functions/</loc></url><url><loc>https://tonylee.bio/blog/tags/attention/</loc></url><url><loc>https://tonylee.bio/blog/tags/continuous-batching/</loc></url><url><loc>https://tonylee.bio/blog/tags/distributed-inference/</loc></url><url><loc>https://tonylee.bio/blog/tags/ffn/</loc></url><url><loc>https://tonylee.bio/blog/tags/flash-attention/</loc></url><url><loc>https://tonylee.bio/blog/tags/gqa/</loc></url><url><loc>https://tonylee.bio/blog/tags/kv-cache/</loc></url><url><loc>https://tonylee.bio/blog/tags/mla/</loc></url><url><loc>https://tonylee.bio/blog/tags/mlp/</loc></url><url><loc>https://tonylee.bio/blog/tags/moe/</loc></url><url><loc>https://tonylee.bio/blog/tags/paged-attention/</loc></url><url><loc>https://tonylee.bio/blog/tags/prefill-decode/</loc></url><url><loc>https://tonylee.bio/blog/tags/routing/</loc></url><url><loc>https://tonylee.bio/blog/tags/scheduling/</loc></url><url><loc>https://tonylee.bio/blog/tags/self-attention/</loc></url><url><loc>https://tonylee.bio/blog/tags/serving/</loc></url><url><loc>https://tonylee.bio/blog/tags/swiglu/</loc></url><url><loc>https://tonylee.bio/blog/tags/transformer/</loc></url><url><loc>https://tonylee.bio/blog/transformer-inference-prefill-and-decode/</loc></url><url><loc>https://tonylee.bio/blog/why-transformers-need-the-mlp/</loc></url><url><loc>https://tonylee.bio/experiments/autoscaling/</loc></url><url><loc>https://tonylee.bio/experiments/batching/</loc></url><url><loc>https://tonylee.bio/experiments/cost/</loc></url><url><loc>https://tonylee.bio/experiments/fp4/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-decode-step-graph-replay/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-h200-matmul-autotune/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-matmul-tiling/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-memory-primitives/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-normalization-fusion/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-profiler-validation/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-reduction-strategy/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-softmax-fusion/</loc></url><url><loc>https://tonylee.bio/experiments/kernel-swiglu-fusion/</loc></url><url><loc>https://tonylee.bio/experiments/kv-cache/</loc></url><url><loc>https://tonylee.bio/experiments/prefill-decode/</loc></url><url><loc>https://tonylee.bio/experiments/request-patterns/</loc></url><url><loc>https://tonylee.bio/resume/</loc></url><url><loc>https://tonylee.bio/work/</loc></url><url><loc>https://tonylee.bio/work/cuda-kernel-lab/</loc></url><url><loc>https://tonylee.bio/work/gpu-inference-lab/</loc></url></urlset>