<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GPU Training Optimization on Noviorlu</title><link>https://noviorlu.github.io/series/gpu-training-optimization/</link><description>Recent content in GPU Training Optimization on Noviorlu</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><copyright>© 2026 Noviorlu喵</copyright><lastBuildDate>Mon, 05 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://noviorlu.github.io/series/gpu-training-optimization/index.xml" rel="self" type="application/rss+xml"/><item><title>FlashAttention 1–4: How IO-Awareness Reshaped the Attention Kernel</title><link>https://noviorlu.github.io/blog/flashattention-1-to-4/</link><pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate><guid>https://noviorlu.github.io/blog/flashattention-1-to-4/</guid><description>&lt;style&gt;
.fa-intuit{margin:1.4em 0;padding:.85em 1.1em;border-radius:12px;background:rgba(var(--color-primary-500),.08);border-left:3px solid rgb(var(--color-primary-500));line-height:1.65}
.fa-intuit&gt;b:first-child{color:rgb(var(--color-primary-600))}
html.dark .fa-intuit&gt;b:first-child{color:rgb(var(--color-primary-300))}
.fa-road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:1.6em 0 .6em}
@media (max-width:760px){.fa-road{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fa-step{border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:.7em .85em;font-size:.82em;line-height:1.5}
.fa-step b{display:block;font-size:1.1em}
.fa-step i{display:block;font-style:normal;opacity:.65;margin-bottom:.5em}
.fa-step span{display:block}
.fa-step span+span{margin-top:.45em;color:rgb(var(--color-primary-600))}
html.dark .fa-step span+span{color:rgb(var(--color-primary-300))}
@media (max-width:640px){.article-content figure{overflow-x:auto}.article-content figure&gt;svg{min-width:520px}}
&lt;/style&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Prerequisite:&lt;/strong&gt; &lt;a href="https://noviorlu.github.io/blog/gpu-triton-intro/" &gt;GPU 与 Triton 入门&lt;/a&gt; (in Chinese) covers the GPU memory hierarchy and Triton basics; &lt;a href="https://noviorlu.github.io/blog/gpu-training-analysis/" &gt;谁偷走了 5090 的算力和显存&lt;/a&gt; (in Chinese) covers FLOPs, arithmetic intensity, the roofline model and peak memory, and measures on an RTX 5090 why the $N\times N$ score matrix dominates both the runtime and the activation memory of standard attention — the two problems this post starts from.&lt;/p&gt;</description></item><item><title>谁偷走了 5090 的算力和显存：一步 Transformer 训练的 roofline 侦查</title><link>https://noviorlu.github.io/blog/gpu-training-analysis/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://noviorlu.github.io/blog/gpu-training-analysis/</guid><description>&lt;p&gt;我在一张 RTX 5090 上把一步 Transformer 训练拆开，分别量了时间和显存。结果和预想的不太一样：拖慢速度的不是矩阵乘，占显存最多的也不是权重。两边查到最后，都落在 attention 里的两个 seq × seq 矩阵上，一个是分数矩阵 S = QKᵀ（每个 query 对每个 key 的打分），一个是 S 按行过 softmax 之后的注意力权重 P，最后输出是 PV。&lt;/p&gt;</description></item><item><title>GPU 与 Triton 入门：从存储层级到第一个 kernel</title><link>https://noviorlu.github.io/blog/gpu-triton-intro/</link><pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate><guid>https://noviorlu.github.io/blog/gpu-triton-intro/</guid><description>&lt;p&gt;这个系列讲怎么让 Transformer 训练在 GPU 上跑得更快。这一篇先打基础：&lt;a href="https://noviorlu.github.io/blog/gpu-triton-intro/#hardware" &gt;第 1 节&lt;/a&gt;介绍 GPU 的硬件，包括数据存在哪几层、一个 SM 里有什么、CUDA 的执行层级怎么对应到硬件；&lt;a href="https://noviorlu.github.io/blog/gpu-triton-intro/#triton" &gt;第 2 节&lt;/a&gt;用四个例子介绍 Triton，后面两篇的 kernel 都用它写。TPU 和 GPU 的对照放在&lt;a href="https://noviorlu.github.io/blog/gpu-triton-intro/#tpu" &gt;附录 A&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>