This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tvm-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 54edf1e3e40 Build at Fri Nov 6 03:49:02 UTC 2026
54edf1e3e40 is described below
commit 54edf1e3e40d33858aa798b6b9375e87ecb95aec
Author: tvm-bot <[email protected]>
AuthorDate: Fri Nov 6 03:49:03 2026 +0000
Build at Fri Nov 6 03:49:02 UTC 2026
---
2017/08/17/tvm-release-announcement.html | 2 +-
...s-with-TVM-A-Depthwise-Convolution-Example.html | 2 +-
2017/10/06/nnvm-compiler-announcement.html | 2 +-
...s-to-TVM-Stack-and-NNVM-Compiler-with-ROCm.html | 2 +-
2017/11/08/android-rpc-introduction.html | 2 +-
2018/01/16/opt-mali-gpu.html | 2 +-
2018/03/12/webgl.html | 2 +-
2018/03/23/nmt-transformer-optimize.html | 2 +-
2018/07/12/vta-release-announcement.html | 2 +-
2018/08/10/DLPack-Bridge.html | 2 +-
2018/10/03/auto-opt-all.html | 2 +-
2018/10/09/ml-in-tees.html | 2 +-
2018/12/18/lowprecision-conv.html | 2 +-
2019/01/19/Golang.html | 2 +-
2019/03/18/tvm-apache-announcement.html | 2 +-
2019/04/29/opt-cuda-quantized.html | 2 +-
2019/05/30/pytorch-frontend.html | 2 +-
...machine-learning-to-webassembly-and-webgpu.html | 2 +-
2020/06/04/tinyml-how-tvm-is-taming-tiny.html | 2 +-
2020/07/14/bert-pytorch-tvm.html | 2 +-
.../15/how-to-bring-your-own-codegen-to-tvm.html | 2 +-
2020/09/26/bring-your-own-datatypes.html | 2 +-
2021/03/03/intro-auto-scheduler.html | 2 +-
2021/12/15/tvm-unity.html | 2 +-
2025/10/21/tvm-ffi.html | 2 +-
2026/06/22/tirx.html | 2 +-
...rethinking-abstractions-in-the-agentic-era.html | 2 +-
404.html | 2 +-
_static/downloads/acm%3Adesktopcta | 6 +-
asf.html | 2 +-
atom.xml | 2 +-
categories.html | 2 +-
community.html | 2 +-
download.html | 2 +-
feed.xml | 2 +-
history.html | 2 +-
images/docs/tirx/blackwell_tensor_cores.html | 370 +++++++++++++++++++++
images/docs/tirx/warp_matrix.html | 350 +++++++++++++++++++
index.html | 2 +-
posts.html | 2 +-
rss.xml | 4 +-
tags.html | 2 +-
42 files changed, 763 insertions(+), 43 deletions(-)
diff --git a/2017/08/17/tvm-release-announcement.html
b/2017/08/17/tvm-release-announcement.html
index 42d5f5d6a90..d894fc0a476 100644
--- a/2017/08/17/tvm-release-announcement.html
+++ b/2017/08/17/tvm-release-announcement.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git
a/2017/08/22/Optimize-Deep-Learning-GPU-Operators-with-TVM-A-Depthwise-Convolution-Example.html
b/2017/08/22/Optimize-Deep-Learning-GPU-Operators-with-TVM-A-Depthwise-Convolution-Example.html
index 30febe39465..2784c127f6a 100644
---
a/2017/08/22/Optimize-Deep-Learning-GPU-Operators-with-TVM-A-Depthwise-Convolution-Example.html
+++
b/2017/08/22/Optimize-Deep-Learning-GPU-Operators-with-TVM-A-Depthwise-Convolution-Example.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2017/10/06/nnvm-compiler-announcement.html
b/2017/10/06/nnvm-compiler-announcement.html
index 56ddc275a2d..e18a993982e 100644
--- a/2017/10/06/nnvm-compiler-announcement.html
+++ b/2017/10/06/nnvm-compiler-announcement.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git
a/2017/10/30/Bringing-AMDGPUs-to-TVM-Stack-and-NNVM-Compiler-with-ROCm.html
b/2017/10/30/Bringing-AMDGPUs-to-TVM-Stack-and-NNVM-Compiler-with-ROCm.html
index 05d7443d007..812685f1804 100644
--- a/2017/10/30/Bringing-AMDGPUs-to-TVM-Stack-and-NNVM-Compiler-with-ROCm.html
+++ b/2017/10/30/Bringing-AMDGPUs-to-TVM-Stack-and-NNVM-Compiler-with-ROCm.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2017/11/08/android-rpc-introduction.html
b/2017/11/08/android-rpc-introduction.html
index c6fabf5ac0a..afe73197a4d 100644
--- a/2017/11/08/android-rpc-introduction.html
+++ b/2017/11/08/android-rpc-introduction.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/01/16/opt-mali-gpu.html b/2018/01/16/opt-mali-gpu.html
index d7b8fdb178d..b760f883ad7 100644
--- a/2018/01/16/opt-mali-gpu.html
+++ b/2018/01/16/opt-mali-gpu.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/03/12/webgl.html b/2018/03/12/webgl.html
index 6abf6b52de8..b04fec488e5 100644
--- a/2018/03/12/webgl.html
+++ b/2018/03/12/webgl.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/03/23/nmt-transformer-optimize.html
b/2018/03/23/nmt-transformer-optimize.html
index aecad1cfcc7..f5b92d1ac8c 100644
--- a/2018/03/23/nmt-transformer-optimize.html
+++ b/2018/03/23/nmt-transformer-optimize.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/07/12/vta-release-announcement.html
b/2018/07/12/vta-release-announcement.html
index 550312241ef..1eee59f4dec 100644
--- a/2018/07/12/vta-release-announcement.html
+++ b/2018/07/12/vta-release-announcement.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/08/10/DLPack-Bridge.html b/2018/08/10/DLPack-Bridge.html
index 5ff54c904dd..f98b1a93577 100644
--- a/2018/08/10/DLPack-Bridge.html
+++ b/2018/08/10/DLPack-Bridge.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/10/03/auto-opt-all.html b/2018/10/03/auto-opt-all.html
index e89c10721e9..9654735dc12 100644
--- a/2018/10/03/auto-opt-all.html
+++ b/2018/10/03/auto-opt-all.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/10/09/ml-in-tees.html b/2018/10/09/ml-in-tees.html
index 0becd8009f6..7a416ab662d 100644
--- a/2018/10/09/ml-in-tees.html
+++ b/2018/10/09/ml-in-tees.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2018/12/18/lowprecision-conv.html
b/2018/12/18/lowprecision-conv.html
index c31be137336..3a99df46fe9 100644
--- a/2018/12/18/lowprecision-conv.html
+++ b/2018/12/18/lowprecision-conv.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2019/01/19/Golang.html b/2019/01/19/Golang.html
index 795f23ddd67..497ad8527d8 100644
--- a/2019/01/19/Golang.html
+++ b/2019/01/19/Golang.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2019/03/18/tvm-apache-announcement.html
b/2019/03/18/tvm-apache-announcement.html
index 8914554fb2d..14575fdad78 100644
--- a/2019/03/18/tvm-apache-announcement.html
+++ b/2019/03/18/tvm-apache-announcement.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2019/04/29/opt-cuda-quantized.html
b/2019/04/29/opt-cuda-quantized.html
index f5306cf14b2..113722c8511 100644
--- a/2019/04/29/opt-cuda-quantized.html
+++ b/2019/04/29/opt-cuda-quantized.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2019/05/30/pytorch-frontend.html b/2019/05/30/pytorch-frontend.html
index aa426bb422b..99382f1c85c 100644
--- a/2019/05/30/pytorch-frontend.html
+++ b/2019/05/30/pytorch-frontend.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git
a/2020/05/14/compiling-machine-learning-to-webassembly-and-webgpu.html
b/2020/05/14/compiling-machine-learning-to-webassembly-and-webgpu.html
index 08d3ec97aae..29a683ddc22 100644
--- a/2020/05/14/compiling-machine-learning-to-webassembly-and-webgpu.html
+++ b/2020/05/14/compiling-machine-learning-to-webassembly-and-webgpu.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2020/06/04/tinyml-how-tvm-is-taming-tiny.html
b/2020/06/04/tinyml-how-tvm-is-taming-tiny.html
index 24b0c6eef94..ea870d61a47 100644
--- a/2020/06/04/tinyml-how-tvm-is-taming-tiny.html
+++ b/2020/06/04/tinyml-how-tvm-is-taming-tiny.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2020/07/14/bert-pytorch-tvm.html b/2020/07/14/bert-pytorch-tvm.html
index 6f31c77f841..607573ea9a9 100644
--- a/2020/07/14/bert-pytorch-tvm.html
+++ b/2020/07/14/bert-pytorch-tvm.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2020/07/15/how-to-bring-your-own-codegen-to-tvm.html
b/2020/07/15/how-to-bring-your-own-codegen-to-tvm.html
index da3f252549d..82fb6a6cbce 100644
--- a/2020/07/15/how-to-bring-your-own-codegen-to-tvm.html
+++ b/2020/07/15/how-to-bring-your-own-codegen-to-tvm.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2020/09/26/bring-your-own-datatypes.html
b/2020/09/26/bring-your-own-datatypes.html
index b269e59e499..11725477e0e 100644
--- a/2020/09/26/bring-your-own-datatypes.html
+++ b/2020/09/26/bring-your-own-datatypes.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2021/03/03/intro-auto-scheduler.html
b/2021/03/03/intro-auto-scheduler.html
index 0ce52cde731..1e2c9d7f8a0 100644
--- a/2021/03/03/intro-auto-scheduler.html
+++ b/2021/03/03/intro-auto-scheduler.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2021/12/15/tvm-unity.html b/2021/12/15/tvm-unity.html
index ee6760ce131..1c9622ed2f5 100644
--- a/2021/12/15/tvm-unity.html
+++ b/2021/12/15/tvm-unity.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
<meta property="og:image" content="/images/tvm-unity/image2.png">
diff --git a/2025/10/21/tvm-ffi.html b/2025/10/21/tvm-ffi.html
index 1e9cc725c53..f0489d2f0e6 100644
--- a/2025/10/21/tvm-ffi.html
+++ b/2025/10/21/tvm-ffi.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/2026/06/22/tirx.html b/2026/06/22/tirx.html
index c9dec14628f..b15b133ebe7 100644
--- a/2026/06/22/tirx.html
+++ b/2026/06/22/tirx.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
<script>window.MathJax = { tex: { inlineMath: [['$', '$'], ['\\(',
'\\)']], displayMath: [['$$', '$$'], ['\\[', '\\]']] } };</script>
diff --git a/2026/11/03/rethinking-abstractions-in-the-agentic-era.html
b/2026/11/03/rethinking-abstractions-in-the-agentic-era.html
index 0c0f3ced829..d3b77d18b6e 100644
--- a/2026/11/03/rethinking-abstractions-in-the-agentic-era.html
+++ b/2026/11/03/rethinking-abstractions-in-the-agentic-era.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="../../../_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/404.html b/404.html
index 51c19d1a9a9..13c04f844e1 100644
--- a/404.html
+++ b/404.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/_static/downloads/acm%3Adesktopcta
b/_static/downloads/acm%3Adesktopcta
index 910ce0ecd52..9f712a9035f 100644
--- a/_static/downloads/acm%3Adesktopcta
+++ b/_static/downloads/acm%3Adesktopcta
@@ -64,12 +64,12 @@
<div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4
sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t
border-gray-300">
<p class="text-13">
- <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong
class="font-semibold">a557fc7a0b71391c</strong></span>
+ <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong
class="font-semibold">a5611e9ebf6555d1</strong></span>
<span class="cf-footer-separator sm:hidden">•</span>
<span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block
sm:mb-1">
Your IP:
<button type="button" id="cf-footer-ip-reveal"
class="cf-footer-ip-reveal-btn">Click to reveal</button>
- <span class="hidden" id="cf-footer-ip">172.203.204.229</span>
+ <span class="hidden" id="cf-footer-ip">4.154.163.153</span>
<span class="cf-footer-separator sm:hidden">•</span>
</span>
<span class="cf-footer-item sm:block sm:mb-1"><span>Performance &
security by</span> <a rel="noopener noreferrer"
href="https://www.cloudflare.com/5xx-error-landing" id="brand_link"
target="_blank">Cloudflare</a></span>
@@ -86,5 +86,5 @@
</script>
-<script>(function(){function c(){var
b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var
d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a557fc7a0b71391c',t:'MTc5Mzg0MTEwNA=='};var
l=window.parent.location,o;try{o=new URL(l.origin).origin}catch(e){try{o=new
URL(new URL(l.href).origin).origin}catch(e){o=''}}var
u='/cdn-cgi/challenge-platform/scripts/jsd/main.js?ray=a557fc7a0b71391c',a=document.createElement('script');a.src=o?new
URL(u,o).href:u;do [...]
+<script>(function(){function c(){var
b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var
d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a5611e9ebf6555d1',t:'MTc5MzkzNjg3NQ=='};var
l=window.parent.location,o;try{o=new URL(l.origin).origin}catch(e){try{o=new
URL(new URL(l.href).origin).origin}catch(e){o=''}}var
u='/cdn-cgi/challenge-platform/scripts/jsd/main.js?ray=a5611e9ebf6555d1',a=document.createElement('script');a.src=o?new
URL(u,o).href:u;do [...]
</html>
\ No newline at end of file
diff --git a/asf.html b/asf.html
index c6383ec9528..75a978ce1b7 100644
--- a/asf.html
+++ b/asf.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/atom.xml b/atom.xml
index e28915331b9..54891f84628 100644
--- a/atom.xml
+++ b/atom.xml
@@ -4,7 +4,7 @@
<title>TVM</title>
<link href="https://tvm.apache.org" rel="self"/>
<link href="https://tvm.apache.org"/>
- <updated>2026-11-05T01:11:41+00:00</updated>
+ <updated>2026-11-06T03:47:52+00:00</updated>
<id>https://tvm.apache.org</id>
<author>
<name></name>
diff --git a/categories.html b/categories.html
index 1424a5106f9..86ad17a3107 100644
--- a/categories.html
+++ b/categories.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/community.html b/community.html
index 46c757768be..73ad3ebe304 100644
--- a/community.html
+++ b/community.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/download.html b/download.html
index 7d3f1ad32e2..cf3a358cbf5 100644
--- a/download.html
+++ b/download.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/feed.xml b/feed.xml
index e033df3ac87..12a482bdcfe 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2026-11-05T01:11:41+00:00</updated><id>/feed.xml</id><title
type="html">TVM</title><author><name>{"name" =>
nil}</name></author><entry><title type="html">Rethinking Abstractions in the
Agentic Era: Towa [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2026-11-06T03:47:52+00:00</updated><id>/feed.xml</id><title
type="html">TVM</title><author><name>{"name" =>
nil}</name></author><entry><title type="html">Rethinking Abstractions in the
Agentic Era: Towa [...]
<h2 id="tldr">TL;DR</h2>
diff --git a/history.html b/history.html
index ff47790b807..8a180bd6688 100644
--- a/history.html
+++ b/history.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/images/docs/tirx/blackwell_tensor_cores.html
b/images/docs/tirx/blackwell_tensor_cores.html
new file mode 100644
index 00000000000..d50b2582691
--- /dev/null
+++ b/images/docs/tirx/blackwell_tensor_cores.html
@@ -0,0 +1,370 @@
+<!DOCTYPE html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Blackwell matrix multiplication and TMEM lifetime</title>
+ <style>
+ /* Match the typography, blue cards, and neutral frame in
authoring_layers.html. */
+ :root {
+ color-scheme: light;
+ --surface: #fff;
+ --text: #222;
+ --muted: #536276;
+ --frame: #b6bdc6;
+ --frame-bg: #f8fafc;
+ --tag: #475569;
+ --line: #64748b;
+ --layer-border: #5b9bd5;
+ --layer-bg: #eef5fc;
+ --a-bg: #e2effc;
+ --a-border: #7a9fc7;
+ --b-bg: #eee7f8;
+ --b-border: #a38bc2;
+ }
+ :root[data-theme="dark"] {
+ color-scheme: dark;
+ --surface: #14181e;
+ --text: #e5e9ef;
+ --muted: #b1bdcd;
+ --frame: #627084;
+ --frame-bg: #1c232c;
+ --line: #a1afc1;
+ --layer-bg: #1d3043;
+ --a-bg: #243c54;
+ --a-border: #7cadd7;
+ --b-bg: #3c304e;
+ --b-border: #b09bd0;
+ }
+ * { box-sizing: border-box; }
+ html, body { margin: 0; }
+ body {
+ padding: 14px 4px 4px;
+ background: var(--surface);
+ color: var(--text);
+ font: 13px/1.5 'Inter', 'SF Pro', 'Segoe UI', system-ui, sans-serif;
+ }
+ h1, h2, p { margin: 0; }
+ h2 { font-size: 14px; font-weight: 700; }
+ code { font: 12px/1.5 'SF Mono', 'Fira Code', Consolas, monospace; }
+ .diagram {
+ position: relative;
+ max-width: 920px;
+ margin: 0 auto;
+ padding: 26px 18px 16px;
+ border: 2px solid var(--frame);
+ border-radius: 12px;
+ background: var(--frame-bg);
+ }
+ .compact-diagram { max-width: 680px; }
+ .scope {
+ position: absolute;
+ top: -11px;
+ left: 16px;
+ padding: 1px 10px;
+ border-radius: 4px;
+ background: var(--tag);
+ color: #fff;
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: .02em;
+ }
+ .card {
+ padding: 10px 14px;
+ border: 2px solid var(--layer-border);
+ border-radius: 8px;
+ background: var(--layer-bg);
+ text-align: center;
+ }
+ .card h2 + p, .card h2 + .pair { margin-top: 4px; }
+ .endpoint { border-color: var(--frame); background: var(--surface); }
+ .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
+ .pair > :first-child { padding-right: 12px; }
+ .pair > :last-child { padding-left: 12px; border-left: 1px solid
var(--frame); }
+ .card:not(.endpoint) .pair:not(.operands) > :last-child { border-color:
var(--layer-border); }
+ .card h2 + .pair.operands { margin-top: 8px; }
+ .pair.operands > p {
+ margin: 0 6px;
+ padding: 6px 8px;
+ border: 1px solid var(--operand-border);
+ border-radius: 6px;
+ background: var(--operand-bg);
+ }
+ .operand-a { --operand-bg: var(--a-bg); --operand-border: var(--a-border);
}
+ .operand-b { --operand-bg: var(--b-bg); --operand-border: var(--b-border);
}
+ .operand-detail { display: block; }
+ .note { color: var(--muted); font-size: 11px; }
+ .note code { font-size: inherit; }
+ .packing, .coverage { margin-top: 6px; }
+ .equation { margin-bottom: 14px; text-align: center; }
+ .equation code { font-size: 15px; font-weight: 600; }
+ .parallel {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
+ padding: 0 16px;
+ }
+ .sync-note {
+ grid-column: 1 / -1;
+ position: relative;
+ padding: 10px 0 0;
+ text-align: center;
+ }
+ .sync-note::before, .sync-note::after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ border-left: 1.5px solid var(--line);
+ }
+ .sync-note::before { left: 25%; }
+ .sync-note::after { left: 75%; }
+ .sync-note .operation { display: inline-block; z-index: 1; }
+ .merge {
+ height: 20px;
+ margin: 0 calc(25% + 8px);
+ border: solid var(--line);
+ border-width: 0 1.5px 1.5px;
+ }
+ .connector {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ min-height: 50px;
+ padding: 8px 0 13px;
+ text-align: center;
+ }
+ .connector::before {
+ content: '';
+ position: absolute;
+ left: 50%;
+ top: 0;
+ bottom: 3px;
+ border-left: 1.5px solid var(--line);
+ }
+ .connector::after {
+ content: '';
+ position: absolute;
+ left: calc(50% - 3.25px);
+ bottom: 0;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 6px solid var(--line);
+ }
+ .operation {
+ position: relative;
+ max-width: 100%;
+ padding: 1px 10px;
+ background: var(--frame-bg);
+ }
+ .operation > code, .operation > strong { font-weight: 600; }
+ .handoff { gap: 12px; }
+ .lifetime {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 8px 12px;
+ margin-bottom: 8px;
+ text-align: center;
+ }
+ .lifetime > section {
+ padding: 5px 8px;
+ border: 1px solid var(--frame);
+ border-radius: 6px;
+ background: var(--surface);
+ }
+ .lifetime h2 { font-size: 12px; }
+ .blackwell-diagram .handoff { gap: 10px; }
+ .release {
+ margin-top: 14px;
+ padding-top: 10px;
+ border-top: 1px solid var(--frame);
+ text-align: center;
+ }
+ .sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip-path: inset(50%);
+ white-space: nowrap;
+ }
+ /* Use the same compact vertical layout for both matrix examples. */
+ @media (min-width: 640px) {
+ .compact-diagram { padding: 20px 10px 12px; }
+ .compact-diagram .equation { margin-bottom: 8px; }
+ .compact-diagram .card { padding-block: 6px; }
+ .compact-diagram .card h2 + .pair.operands { margin-top: 4px; }
+ .compact-diagram .pair.operands > p { padding-block: 4px; }
+ .compact-diagram .operand-detail { display: inline-block; }
+ .compact-diagram .operand-detail::before { content: ' · '; }
+ .compact-diagram .connector { min-height: 34px; padding: 3px 0 10px; }
+ .compact-diagram .sync-note { padding-top: 6px; }
+ .compact-diagram .compact-operation {
+ display: inline-flex;
+ flex-wrap: wrap;
+ align-items: baseline;
+ justify-content: center;
+ gap: 0 8px;
+ }
+ .compact-diagram .merge { height: 12px; }
+ .compact-diagram .packing, .compact-diagram .coverage { margin-top: 4px;
}
+ .compact-diagram .single-output h2,
+ .compact-diagram .single-output > p:not(.note) { display: inline; }
+ .compact-diagram .single-output > p:not(.note) { margin-left: 8px; }
+ .blackwell-diagram .release { margin-top: 8px; padding-top: 6px; }
+ .blackwell-diagram .release h2 { font-size: 12px; }
+ }
+ @media (max-width: 480px) {
+ .diagram { padding: 24px 10px 12px; }
+ .card { padding: 9px 8px; }
+ .pair > :first-child { padding-right: 8px; }
+ .pair > :last-child { padding-left: 8px; }
+ .operation { padding: 2px 6px; }
+ .lifetime { gap: 8px 12px; }
+ .parallel { padding: 0 10px; }
+ .merge { margin-inline: calc(25% + 5px); }
+ }
+ </style>
+</head>
+<body>
+ <main class="diagram compact-diagram blackwell-diagram"
aria-labelledby="scope" aria-describedby="description">
+ <h1 class="scope" id="scope">One CTA · 128 threads</h1>
+ <p class="sr-only" id="description">
+ The CTA computes Out = A @ B.T. Warp 0 allocates TMEM and thread 0
+ initializes the completion barrier mbar. All 128 threads copy A to shared
+ memory a; threads 0 through 63 copy B to shared memory b. All threads
+ execute a proxy fence and synchronize. Thread 0 issues four MMA
+ instructions that read a and b directly and accumulate into TMEM d,
+ then commits them to mbar. All threads wait and execute the thread-sync
+ fence. All four warps load TMEM into register fragments frag and wait for
+ the loads. Each thread stores one row of Out. A CTA barrier precedes
+ TMEM release by warp 0.
+ </p>
+ <p class="equation"><code>Out = A @ B.T</code></p>
+ <div class="lifetime">
+ <section>
+ <h2>Allocate TMEM</h2>
+ <p class="note">Warp 0 · 64 columns</p>
+ </section>
+ <section>
+ <h2>Initialize barrier</h2>
+ <p class="note">Thread 0 · <code>mbar</code></p>
+ </section>
+ </div>
+ <section class="card endpoint">
+ <h2>Inputs · global memory</h2>
+ <div class="pair operands">
+ <p class="operand-a"><code>A</code> · 128 × 64 · float16</p>
+ <p class="operand-b"><code>B</code> · 64 × 64 · float16</p>
+ </div>
+ </section>
+ <div class="parallel" aria-label="Cooperative copy of A and B to shared
memory">
+ <div class="connector">
+ <div class="operation compact-operation">Copy A <span class="note">All
128 threads</span></div>
+ </div>
+ <div class="connector">
+ <div class="operation compact-operation">Copy B <span
class="note">Threads 0–63</span></div>
+ </div>
+ </div>
+ <section class="card">
+ <h2>Shared memory</h2>
+ <div class="pair operands">
+ <p class="operand-a"><strong>Shared copy of A
(<code>a</code>)</strong><span class="operand-detail">128 × 64 ·
float16</span></p>
+ <p class="operand-b"><strong>Shared copy of B
(<code>b</code>)</strong><span class="operand-detail">64 × 64 ·
float16</span></p>
+ </div>
+ </section>
+ <div class="parallel">
+ <div class="sync-note">
+ <div class="operation compact-operation">
+ <strong>Proxy fence + CTA barrier</strong>
+ <p class="note">All 128 threads · shared inputs ready for MMA</p>
+ </div>
+ </div>
+ </div>
+ <div class="merge" aria-hidden="true"></div>
+ <div class="connector">
+ <div class="operation compact-operation">
+ <code>tcgen05.mma</code>
+ <p class="note">Thread 0 · four K = 16 slices</p>
+ </div>
+ </div>
+ <section class="card single-output">
+ <h2>Accumulator · TMEM</h2>
+ <p><code>d</code> · 128 × 64 · float32</p>
+ <p class="note coverage">The first slice starts a fresh result; the next
three accumulate.</p>
+ </section>
+ <div class="connector handoff">
+ <div class="operation">
+ <strong>Wait for MMA completion</strong>
+ <p class="note">Thread 0 commits to <code>mbar</code>; all 128 threads
wait, then fence.</p>
+ <p class="note"><code>tcgen05.fence::after_thread_sync</code></p>
+ </div>
+ <div class="operation">
+ <p><code>tcgen05.ld</code> + <code>tcgen05.wait::ld</code></p>
+ <p class="note">All four warps · load TMEM into registers, then wait
for the loads.</p>
+ </div>
+ </div>
+ <section class="card single-output">
+ <h2>Output register fragments</h2>
+ <p><code>frag</code> · 64 float32 values per thread</p>
+ <p class="note coverage">128 threads × 64 values = one 128 × 64 output
tile</p>
+ </section>
+ <div class="connector">
+ <div class="operation">Each thread stores one output row</div>
+ </div>
+ <section class="card endpoint single-output">
+ <h2>Out · global memory</h2>
+ <p>128 × 64 · float32</p>
+ </section>
+ <section class="release">
+ <h2>Release TMEM</h2>
+ <p class="note">After a CTA barrier, warp 0 relinquishes the permit and
deallocates 64 columns.</p>
+ </section>
+ </main>
+ <script>
+ // Report the diagram's natural height and receive the documentation theme.
+ (() => {
+ const root = document.documentElement;
+ const dark = matchMedia('(prefers-color-scheme: dark)');
+ root.dataset.theme = dark.matches ? 'dark' : 'light';
+ if (parent === window) {
+ dark.addEventListener('change', () => { root.dataset.theme =
dark.matches ? 'dark' : 'light'; });
+ return;
+ }
+ const parentOrigin = document.referrer ? new
URL(document.referrer).origin : '*';
+ const report = () => parent.postMessage({
+ type: 'tirx-matrix-dataflow:height', height:
Math.ceil(document.body.getBoundingClientRect().height)
+ }, parentOrigin);
+ new ResizeObserver(report).observe(document.body);
+ addEventListener('message', (event) => {
+ if (event.source !== parent || (parentOrigin !== '*' && event.origin
!== parentOrigin)) return;
+ if (event.data?.type !== 'tirx-matrix-dataflow:theme') return;
+ if (['light', 'dark'].includes(event.data.theme)) root.dataset.theme =
event.data.theme;
+ report();
+ });
+ addEventListener('load', report);
+ report();
+ })();
+ </script>
+</body>
+</html>
diff --git a/images/docs/tirx/warp_matrix.html
b/images/docs/tirx/warp_matrix.html
new file mode 100644
index 00000000000..7cb84465278
--- /dev/null
+++ b/images/docs/tirx/warp_matrix.html
@@ -0,0 +1,350 @@
+<!DOCTYPE html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Warp matrix multiplication data flow</title>
+ <style>
+ /* Match the typography, blue cards, and neutral frame in
authoring_layers.html. */
+ :root {
+ color-scheme: light;
+ --surface: #fff;
+ --text: #222;
+ --muted: #536276;
+ --frame: #b6bdc6;
+ --frame-bg: #f8fafc;
+ --tag: #475569;
+ --line: #64748b;
+ --layer-border: #5b9bd5;
+ --layer-bg: #eef5fc;
+ --a-bg: #e2effc;
+ --a-border: #7a9fc7;
+ --b-bg: #eee7f8;
+ --b-border: #a38bc2;
+ }
+ :root[data-theme="dark"] {
+ color-scheme: dark;
+ --surface: #14181e;
+ --text: #e5e9ef;
+ --muted: #b1bdcd;
+ --frame: #627084;
+ --frame-bg: #1c232c;
+ --line: #a1afc1;
+ --layer-bg: #1d3043;
+ --a-bg: #243c54;
+ --a-border: #7cadd7;
+ --b-bg: #3c304e;
+ --b-border: #b09bd0;
+ }
+ * { box-sizing: border-box; }
+ html, body { margin: 0; }
+ body {
+ padding: 14px 4px 4px;
+ background: var(--surface);
+ color: var(--text);
+ font: 13px/1.5 'Inter', 'SF Pro', 'Segoe UI', system-ui, sans-serif;
+ }
+ h1, h2, p { margin: 0; }
+ h2 { font-size: 14px; font-weight: 700; }
+ code { font: 12px/1.5 'SF Mono', 'Fira Code', Consolas, monospace; }
+ .diagram {
+ position: relative;
+ max-width: 920px;
+ margin: 0 auto;
+ padding: 26px 18px 16px;
+ border: 2px solid var(--frame);
+ border-radius: 12px;
+ background: var(--frame-bg);
+ }
+ .compact-diagram { max-width: 680px; }
+ .scope {
+ position: absolute;
+ top: -11px;
+ left: 16px;
+ padding: 1px 10px;
+ border-radius: 4px;
+ background: var(--tag);
+ color: #fff;
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: .02em;
+ }
+ .card {
+ padding: 10px 14px;
+ border: 2px solid var(--layer-border);
+ border-radius: 8px;
+ background: var(--layer-bg);
+ text-align: center;
+ }
+ .card h2 + p, .card h2 + .pair { margin-top: 4px; }
+ .endpoint { border-color: var(--frame); background: var(--surface); }
+ .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
+ .pair > :first-child { padding-right: 12px; }
+ .pair > :last-child { padding-left: 12px; border-left: 1px solid
var(--frame); }
+ .card:not(.endpoint) .pair:not(.operands) > :last-child { border-color:
var(--layer-border); }
+ .card h2 + .pair.operands { margin-top: 8px; }
+ .pair.operands > p {
+ margin: 0 6px;
+ padding: 6px 8px;
+ border: 1px solid var(--operand-border);
+ border-radius: 6px;
+ background: var(--operand-bg);
+ }
+ .operand-a { --operand-bg: var(--a-bg); --operand-border: var(--a-border);
}
+ .operand-b { --operand-bg: var(--b-bg); --operand-border: var(--b-border);
}
+ .operand-detail { display: block; }
+ .note { color: var(--muted); font-size: 11px; }
+ .note code { font-size: inherit; }
+ .packing, .coverage { margin-top: 6px; }
+ .equation { margin-bottom: 14px; text-align: center; }
+ .equation code { font-size: 15px; font-weight: 600; }
+ .parallel {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
+ padding: 0 16px;
+ }
+ .sync-note {
+ grid-column: 1 / -1;
+ position: relative;
+ padding: 10px 0 0;
+ text-align: center;
+ }
+ .sync-note::before, .sync-note::after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ border-left: 1.5px solid var(--line);
+ }
+ .sync-note::before { left: 25%; }
+ .sync-note::after { left: 75%; }
+ .sync-note .operation { display: inline-block; z-index: 1; }
+ .merge {
+ height: 20px;
+ margin: 0 calc(25% + 8px);
+ border: solid var(--line);
+ border-width: 0 1.5px 1.5px;
+ }
+ .connector {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ min-height: 50px;
+ padding: 8px 0 13px;
+ text-align: center;
+ }
+ .connector::before {
+ content: '';
+ position: absolute;
+ left: 50%;
+ top: 0;
+ bottom: 3px;
+ border-left: 1.5px solid var(--line);
+ }
+ .connector::after {
+ content: '';
+ position: absolute;
+ left: calc(50% - 3.25px);
+ bottom: 0;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 6px solid var(--line);
+ }
+ .operation {
+ position: relative;
+ max-width: 100%;
+ padding: 1px 10px;
+ background: var(--frame-bg);
+ }
+ .operation > code, .operation > strong { font-weight: 600; }
+ .handoff { gap: 12px; }
+ .lifetime {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 8px 12px;
+ margin-bottom: 8px;
+ text-align: center;
+ }
+ .lifetime > section {
+ padding: 5px 8px;
+ border: 1px solid var(--frame);
+ border-radius: 6px;
+ background: var(--surface);
+ }
+ .lifetime h2 { font-size: 12px; }
+ .blackwell-diagram .handoff { gap: 10px; }
+ .release {
+ margin-top: 14px;
+ padding-top: 10px;
+ border-top: 1px solid var(--frame);
+ text-align: center;
+ }
+ .sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip-path: inset(50%);
+ white-space: nowrap;
+ }
+ /* Use the same compact vertical layout for both matrix examples. */
+ @media (min-width: 640px) {
+ .compact-diagram { padding: 20px 10px 12px; }
+ .compact-diagram .equation { margin-bottom: 8px; }
+ .compact-diagram .card { padding-block: 6px; }
+ .compact-diagram .card h2 + .pair.operands { margin-top: 4px; }
+ .compact-diagram .pair.operands > p { padding-block: 4px; }
+ .compact-diagram .operand-detail { display: inline-block; }
+ .compact-diagram .operand-detail::before { content: ' · '; }
+ .compact-diagram .connector { min-height: 34px; padding: 3px 0 10px; }
+ .compact-diagram .sync-note { padding-top: 6px; }
+ .compact-diagram .compact-operation {
+ display: inline-flex;
+ flex-wrap: wrap;
+ align-items: baseline;
+ justify-content: center;
+ gap: 0 8px;
+ }
+ .compact-diagram .merge { height: 12px; }
+ .compact-diagram .packing, .compact-diagram .coverage { margin-top: 4px;
}
+ .compact-diagram .single-output h2,
+ .compact-diagram .single-output > p:not(.note) { display: inline; }
+ .compact-diagram .single-output > p:not(.note) { margin-left: 8px; }
+ .blackwell-diagram .release { margin-top: 8px; padding-top: 6px; }
+ .blackwell-diagram .release h2 { font-size: 12px; }
+ }
+ @media (max-width: 480px) {
+ .diagram { padding: 24px 10px 12px; }
+ .card { padding: 9px 8px; }
+ .pair > :first-child { padding-right: 8px; }
+ .pair > :last-child { padding-left: 8px; }
+ .operation { padding: 2px 6px; }
+ .lifetime { gap: 8px 12px; }
+ .parallel { padding: 0 10px; }
+ .merge { margin-inline: calc(25% + 5px); }
+ }
+ </style>
+</head>
+<body>
+ <main class="diagram compact-diagram warp-diagram" aria-labelledby="scope"
aria-describedby="description">
+ <h1 class="scope" id="scope">One warp · 32 lanes</h1>
+ <p class="sr-only" id="description">
+ The warp computes Out = A @ B.T. All 32 lanes copy float16 inputs A and B
+ from global to shared memory, then synchronize at a CTA barrier. Separate
+ ldmatrix instructions load A into ar and B into br. These register
fragments
+ feed one warp-wide mma.sync operation. Each lane stores four float32
results,
+ together forming the complete 16 by 8 output tile in global memory.
+ </p>
+ <p class="equation"><code>Out = A @ B.T</code></p>
+ <section class="card endpoint">
+ <h2>Inputs · global memory</h2>
+ <div class="pair operands">
+ <p class="operand-a"><code>A</code> · 16 × 16 · float16</p>
+ <p class="operand-b"><code>B</code> · 8 × 16 · float16</p>
+ </div>
+ </section>
+ <div class="parallel" aria-label="Cooperative copy of A and B to shared
memory">
+ <div class="connector">
+ <div class="operation">Copy A</div>
+ </div>
+ <div class="connector">
+ <div class="operation">Copy B</div>
+ </div>
+ </div>
+ <section class="card">
+ <h2>Shared memory</h2>
+ <div class="pair operands">
+ <p class="operand-a"><strong>Shared copy of A
(<code>a</code>)</strong><span class="operand-detail">16 × 16 ·
float16</span></p>
+ <p class="operand-b"><strong>Shared copy of B
(<code>b</code>)</strong><span class="operand-detail">8 × 16 ·
float16</span></p>
+ </div>
+ </section>
+ <div class="parallel">
+ <div class="sync-note">
+ <div class="operation compact-operation">
+ <strong>CTA barrier</strong>
+ <p class="note">All 32 lanes synchronize before loading</p>
+ </div>
+ </div>
+ <div class="connector">
+ <div class="operation"><code>ldmatrix.x4</code></div>
+ </div>
+ <div class="connector">
+ <div class="operation"><code>ldmatrix.x2</code></div>
+ </div>
+ </div>
+ <section class="card">
+ <h2>Input register fragments</h2>
+ <div class="pair operands">
+ <p class="operand-a"><strong>A fragment
(<code>ar</code>)</strong><span class="operand-detail">4 uint32 words per
lane</span></p>
+ <p class="operand-b"><strong>B fragment
(<code>br</code>)</strong><span class="operand-detail">2 uint32 words per
lane</span></p>
+ </div>
+ <p class="note packing">Each uint32 word packs two float16 elements.</p>
+ </section>
+ <div class="merge" aria-hidden="true"></div>
+ <div class="connector">
+ <div class="operation compact-operation">
+ <code>mma.sync · m16n8k16</code>
+ <p class="note">All 32 lanes participate · initial accumulator = 0</p>
+ </div>
+ </div>
+ <section class="card single-output">
+ <h2>Output register fragments</h2>
+ <p><code>dr</code> · 4 float32 values per lane</p>
+ <p class="note coverage">32 lanes × 4 values = one 16 × 8 output tile</p>
+ </section>
+ <div class="connector">
+ <div class="operation">Each lane stores its four results</div>
+ </div>
+ <section class="card endpoint single-output">
+ <h2>Out · global memory</h2>
+ <p>16 × 8 · float32</p>
+ </section>
+ </main>
+ <script>
+ // Report the diagram's natural height and receive the documentation theme.
+ (() => {
+ const root = document.documentElement;
+ const dark = matchMedia('(prefers-color-scheme: dark)');
+ root.dataset.theme = dark.matches ? 'dark' : 'light';
+ if (parent === window) {
+ dark.addEventListener('change', () => { root.dataset.theme =
dark.matches ? 'dark' : 'light'; });
+ return;
+ }
+ const parentOrigin = document.referrer ? new
URL(document.referrer).origin : '*';
+ const report = () => parent.postMessage({
+ type: 'tirx-matrix-dataflow:height', height:
Math.ceil(document.body.getBoundingClientRect().height)
+ }, parentOrigin);
+ new ResizeObserver(report).observe(document.body);
+ addEventListener('message', (event) => {
+ if (event.source !== parent || (parentOrigin !== '*' && event.origin
!== parentOrigin)) return;
+ if (event.data?.type !== 'tirx-matrix-dataflow:theme') return;
+ if (['light', 'dark'].includes(event.data.theme)) root.dataset.theme =
event.data.theme;
+ report();
+ });
+ addEventListener('load', report);
+ report();
+ })();
+ </script>
+</body>
+</html>
diff --git a/index.html b/index.html
index 7984a77dce3..6686582ca6d 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/posts.html b/posts.html
index 8fb94f7a1ba..3b8745e5d06 100644
--- a/posts.html
+++ b/posts.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>
diff --git a/rss.xml b/rss.xml
index 3e5159ba2e6..2b3df71339d 100644
--- a/rss.xml
+++ b/rss.xml
@@ -5,8 +5,8 @@
<description>TVM - </description>
<link>https://tvm.apache.org</link>
<atom:link href="https://tvm.apache.org" rel="self"
type="application/rss+xml" />
- <lastBuildDate>Thu, 05 Nov 2026 01:11:41 +0000</lastBuildDate>
- <pubDate>Thu, 05 Nov 2026 01:11:41 +0000</pubDate>
+ <lastBuildDate>Fri, 06 Nov 2026 03:47:52 +0000</lastBuildDate>
+ <pubDate>Fri, 06 Nov 2026 03:47:52 +0000</pubDate>
<ttl>60</ttl>
diff --git a/tags.html b/tags.html
index 47997875fe9..24e1b96b922 100644
--- a/tags.html
+++ b/tags.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="_static/downloads/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/slick.css">
<link rel="stylesheet" href="/css/slick-theme.css">
- <link rel="stylesheet" href="/css/custom.css?v=1793841101">
+ <link rel="stylesheet" href="/css/custom.css?v=1793936872">
</head>