<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://kernels.rudrite.com/</loc></url>
  <url><loc>https://kernels.rudrite.com/routes</loc></url>
  <url><loc>https://kernels.rudrite.com/workshop</loc></url>
  <url><loc>https://kernels.rudrite.com/bench</loc></url>
  <url><loc>https://kernels.rudrite.com/specimen</loc></url>
  <url><loc>https://kernels.rudrite.com/gym</loc></url>
  <url><loc>https://kernels.rudrite.com/gym/kernels</loc></url>
  <url><loc>https://kernels.rudrite.com/gym/jax</loc></url>
  <url><loc>https://kernels.rudrite.com/gym/xla</loc></url>
  <url><loc>https://kernels.rudrite.com/gym/pytorch</loc></url>
  <url><loc>https://kernels.rudrite.com/mistakes</loc></url>
  <url><loc>https://kernels.rudrite.com/mistakes/kernels</loc></url>
  <url><loc>https://kernels.rudrite.com/mistakes/jax</loc></url>
  <url><loc>https://kernels.rudrite.com/mistakes/xla</loc></url>
  <url><loc>https://kernels.rudrite.com/mistakes/pytorch</loc></url>
  <url><loc>https://kernels.rudrite.com/jax</loc></url>
  <url><loc>https://kernels.rudrite.com/xla</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch</loc></url>
  <url><loc>https://kernels.rudrite.com/l/source</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla</loc></url>
  <url><loc>https://kernels.rudrite.com/l/gap</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas</loc></url>
  <url><loc>https://kernels.rudrite.com/l/mosaic</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine</loc></url>
  <url><loc>https://kernels.rudrite.com/s/pallas</loc></url>
  <url><loc>https://kernels.rudrite.com/s/ir</loc></url>
  <url><loc>https://kernels.rudrite.com/s/kernels</loc></url>
  <url><loc>https://kernels.rudrite.com/s/distributed</loc></url>
  <url><loc>https://kernels.rudrite.com/s/capstone</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/arrays</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/tracing</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/jit</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/autodiff</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/vmap</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/control-flow</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/pytrees</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/random</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/state</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/sharding</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/performance</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/training-run</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/pjrt</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/ingestion</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/hlo</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/pipeline</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/fusion</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/layout-memory</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/spmd</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/collectives</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/codegen</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/autotuning</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/ifrt</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/mcjax</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/pathways</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/interfaces</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/capstone</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tensors</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/autograd</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/modules</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/the-loop</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/data</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/dynamo</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/graphs</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/distributed</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/performance</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tpu-practice</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/training-run</loc></url>
  <url><loc>https://kernels.rudrite.com/l/source/what-tracing-takes</loc></url>
  <url><loc>https://kernels.rudrite.com/l/source/inside-the-tracer</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr/the-anatomy</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr/transforms-rewrite</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr/nested-jaxprs</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr/params-and-drills</loc></url>
  <url><loc>https://kernels.rudrite.com/l/jaxpr/one-name-one-definition</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo/the-type-system</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo/control-flow-is-regions</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo/the-escape-hatch</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo/why-stable</loc></url>
  <url><loc>https://kernels.rudrite.com/l/stablehlo/the-hlo-family</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/two-dumps-two-truths</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/the-fusion-taxonomy</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/layouts</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/the-memory-report</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/dumps-on-demand</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/the-one-level-world</loc></url>
  <url><loc>https://kernels.rudrite.com/l/xla/levels-as-a-first-class-idea</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/tpu-chip</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/generations</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/tensorcore-complex</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/sparsecore</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/two-ways-to-hide-latency</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/xprof-and-the-three-accounts</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/the-timeline-op-by-op</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/reading-it-like-an-operator</loc></url>
  <url><loc>https://kernels.rudrite.com/l/tpu/vliw-bundles-and-llo</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/tpu-fabric</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/the-vocabulary-as-ring-movements</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/cost-formulas-in-your-head</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/the-collective-is-a-kernel</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/gpu-fabric</loc></url>
  <url><loc>https://kernels.rudrite.com/l/ici/the-optical-patch-panel</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/die-and-reticle</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/gpu-chip</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/inside-the-sm</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/two-machines</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/the-isa-contract</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/who-schedules</loc></url>
  <url><loc>https://kernels.rudrite.com/s/machine/scale-up</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/why-a-kernel-language</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/memory-spaces-and-scratch</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/refs</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/manual-dma</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/aliasing-and-debugging</loc></url>
  <url><loc>https://kernels.rudrite.com/l/pallas/one-language-three-backends</loc></url>
  <url><loc>https://kernels.rudrite.com/s/pallas/blockspec</loc></url>
  <url><loc>https://kernels.rudrite.com/s/pallas/grid-and-pipeline</loc></url>
  <url><loc>https://kernels.rudrite.com/s/pallas/scalar-world</loc></url>
  <url><loc>https://kernels.rudrite.com/l/mosaic/to-machine-code</loc></url>
  <url><loc>https://kernels.rudrite.com/l/mosaic/the-tiling-vocabulary</loc></url>
  <url><loc>https://kernels.rudrite.com/l/mosaic/reading-layout-decisions</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/pjrt/pjrt-boundary</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/hlo/hlo-invariants</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/pipeline/pass-pipeline</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/fusion/reading-fusion</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/spmd/the-partitioner</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/codegen/backend-seam</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/codegen/triton-end-to-end</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/ifrt/above-the-compiler</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/ingestion/the-translation-walk</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/layout-memory/copies-and-buffers</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/collectives/six-shardings-one-matmul</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/autotuning/reading-the-autotune-cache</loc></url>
  <url><loc>https://kernels.rudrite.com/xla/mcjax/the-coordination-handshake</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/arrays/three-classes-one-check</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/arrays/the-weak-ones-adapt</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/arrays/what-blocking-waits-on</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/tracing/shape-dtype-and-no-numbers</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/tracing/what-a-tracer-refuses</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/tracing/frozen-passed-or-escaped</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/jit/two-counters</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/jit/the-price-of-static</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/jit/before-the-first-call</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/autodiff/the-rule-under-grad</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/autodiff/which-direction-costs-what</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/autodiff/when-you-write-the-rule</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/autodiff/stopping-and-stacking</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/vmap/the-rule-per-primitive</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/vmap/where-the-axis-goes</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/vmap/composed-with-grad-and-jit</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/control-flow/both-branches-one-index</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/control-flow/the-carry-is-a-type</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/control-flow/one-trace-however-many-steps</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/pytrees/flatten-happens-first</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/pytrees/structure-then-leaves</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/pytrees/nodes-you-register</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/random/two-words-and-a-hash</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/random/reuse-is-silent</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/random/keys-through-vmap-and-scan</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/state/the-step-returns-its-state</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/state/donating-the-state-tree</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/state/a-state-that-earns-its-shape</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/sharding/mesh-and-spec</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/sharding/placing-an-array</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/sharding/jit-partitions</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/sharding/pinning-a-layout</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/performance/what-the-clock-caught</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/performance/what-the-process-holds</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/performance/residuals-you-refuse-to-keep</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/training-run/one-tree-in-one-tree-out</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/training-run/three-shapes-of-loop</loc></url>
  <url><loc>https://kernels.rudrite.com/jax/training-run/kill-it-and-prove-it</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tensors/two-objects-one-tensor</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tensors/the-address-arithmetic</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tensors/when-a-view-refuses</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tensors/two-layouts-one-shape</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/autograd/the-node-behind-grad-fn</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/autograd/who-owns-grad</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/autograd/what-the-tape-kept</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/autograd/a-backward-you-can-defend</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/modules/what-the-object-holds</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/modules/the-round-trip</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/modules/what-a-move-does</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/the-loop/what-the-optimizer-holds</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/the-loop/between-backward-and-step</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/the-loop/the-resume-that-matches</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/data/one-index-at-a-time</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/data/what-actually-forks</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/data/same-order-different-numbers</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/dynamo/the-frame-it-rewrites</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/dynamo/what-a-guard-checks</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/dynamo/anatomy-of-a-break</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/dynamo/the-cache-line</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/graphs/one-call-three-graphs</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/graphs/reading-a-real-graph</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/graphs/aten-core-aten-prims</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/graphs/what-export-refuses</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/distributed/one-world-four-processes</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/distributed/buckets-and-the-reducer</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/distributed/the-unit-you-wrapped</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/distributed/mesh-and-dtensor</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/performance/four-numbers-one-call</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/performance/reading-one-real-trace</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/performance/instruments-that-answer-nothing-here</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges/inside-the-lazy-tensor</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges/where-the-graph-gets-cut</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges/three-modes-one-machine</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges/the-seam</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/bridges/what-survives</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tpu-practice/marking-a-sharding</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tpu-practice/reading-a-tpu-profile</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/tpu-practice/calling-a-pallas-kernel</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/training-run/the-checkpoint-is-a-file</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/training-run/how-long-a-mistake-stays-quiet</loc></url>
  <url><loc>https://kernels.rudrite.com/pytorch/training-run/when-the-machine-takes-it-back</loc></url>
</urlset>
