Open Source
Open Source

Architecture Innovation Needs Someone to Write the Kernels: Qwen Open-Sources FlashQLA, 2-3x Faster GDN Forward, Hopper and Up Only

QwenLM/FlashQLA (GitHub API, checked 2026-08-30: 670 stars / 69 forks, Python, MIT, created 2026-04-24, last push 2026-08-26) is a high-performance linear attention kernel library built on TileLang. The authors report 2-3x forward and 2x backward speedups for GDN Chunked Prefill over the FLA Triton kernel on NVIDIA Hopper and Blackwell, with the largest gains in pretraining and edge-side agentic inference. Three things worth studying: gate-driven automatic intra-card context parallelism (exploiting the GDN gate's exponential decay under TP, long sequences and small head counts), hardware-friendly algebraic reformulation (cutting Tensor Core, CUDA Core and SFU overhead without losing precision), and TileLang fused warp-specialized kernels (hand-written warpgroup specialization that balances context-parallel and backward needs). Since v0.1.2 it also serves as a GDN backend for flash-linear-attention, plug-and-play through the standard FLA API. The timing is the interesting part: it shipped the same day as Qwen3.8-Flash-Next, meaning Alibaba handed in the architecture paper and the kernel implementation together. The entry ticket is not cheap though - SM90 or newer, CUDA 12.8+, PyTorch 2.8+, and the 2-3x figure is self-reported rather than independently reproduced.

Published August 30, 20268 min read
<!-- flashqla-resource | open-source | Architecture Innovation Needs Someone to Write the Kernels: Qwen Open-Sources FlashQLA, 2-3x Faster GDN Forward, Hopper and Up Only -->

On 2026-08-26, Qwen shipped two things in a single day. One landed in the spotlight: Qwen3.8-Flash-Next, a 125B multimodal MoE with GDN + QSA hybrid attention and 262,144 native context - a press-release-grade launch. The other was far quieter: QwenLM/FlashQLA, described by its authors in a single line as a high-performance linear attention kernel library built on TileLang. GitHub API snapshot (2026-08-30): 670 stars / 69 forks, Python, MIT license, repo created 2026-04-24, last push also on 2026-08-26. Same-day timing is no coincidence: of the GDN + QSA hybrid attention in the new model, the GDN half needs someone to actually write its kernels. FlashQLA is that answer - and it puts the entry barrier on the very first line of its install requirements.

Scope note first, and please read it before continuing. Star counts, fork counts, creation and push dates are GitHub API snapshots (2026-08-30) and may have changed since; technical features, release notes, and install requirements come from the official README and the official Qwen blog (as of 2026-08-30). Every performance number in this article is a self-reported figure from the authors, not an independent reproduction by this site or any third party: we have run no benchmarks on Hopper or Blackwell, and we have done no per-platform install verification. Where the authors have not disclosed a field - sequence length and batch size of the test cases, the exact version of the FLA Triton kernel used as the baseline, absolute latency, throughput, or memory footprint - we write "not collected" rather than inferring or extrapolating. The official repo and docs are authoritative.

1. Why Now: a Sample of Architecture and Kernels Shipping Together

To understand FlashQLA, you first have to understand the pain point of this round of architecture competition. Over the past two years, sparse attention and linear attention have migrated from papers into the architecture tables of production models - but "the architecture works in the paper" and "the architecture runs fast on a GPU" are two entirely different claims. The former rests on mathematics; the latter rests on someone willing to write CUDA kernels, tune warp scheduling, and wrestle with the temperament of Tensor Cores. The gap between them is the single biggest bottleneck to any new attention architecture actually landing in production.

Qwen's answer here is direct: ship the architecture and the kernels on the same day. Qwen3.8-Flash-Next uses GDN + QSA hybrid attention - Gated DeltaNet (GDN) compresses historical context into a compact state, while Qwen Sparse Attention (QSA) uses a lightweight indexer to select important context at micro-block granularity and runs full attention only on what was selected. FlashQLA serves exactly the GDN half: a kernel library that applies operator fusion and performance optimization to the forward and backward passes of GDN Chunked Prefill.

This pairing deserves to be called out, because it reflects a mature playbook among leading teams in 2026: stop splitting "release the architecture" and "release the implementation" across two quarters. Having the accompanying kernels ready on launch day means the community receives the weights and the layer of code that makes them run at their intended speed on the same date. For self-hosting users and teams doing continued training, that removes what used to be the most draining gap of all: the model is out, but nobody knows how to make it fast.

2. What It Actually Is: Kernels for GDN, Not a General Attention Library

Calibrating scope first, because this is the layer most easily misread. The name contains "Flash," which invites comparison to FlashAttention-style drop-in general attention libraries. It is not one.

DimensionDetail
Official positioningHigh-performance linear attention kernel library built on TileLang
What it servesForward and backward of GDN (Gated DeltaNet) Chunked Prefill
How it is invokedAs the GDN backend of flash-linear-attention
CoverageNot collected (no claim of supporting attention variants beyond GDN)
License / languageMIT / Python

A more accurate framing: this is a deeply optimized implementation targeting one specific operator shape, not a full menu of attention operators. That gives it a very steep value curve - people who can use it gain enormously, and everyone else is unaffected. The precondition for "can use it" is that your training or inference path is genuinely running GDN.

The upstream ecosystem is worth naming: fla-org/flash-linear-attention is the de facto standard collection of linear attention operators in the community, and tile-ai/tilelang is the kernel DSL underneath. FlashQLA sits on top of both: kernels written in TileLang, exposed as the GDN backend of FLA. That positioning is shrewd - rather than inventing a new API surface, it plugs directly into an interface the ecosystem already uses.

3. The Three Key Features: the Official README, Item by Item

The official README lists three key features. They are not parallel marketing bullets; they form a top-to-bottom optimization chain from parallelism strategy to mathematical form to kernel implementation.

FeatureWhat the authors sayProblem it solves
Gate-driven automatic intra-card context parallelismExploits the exponential decay of GDN gates; automatically enables intra-card CP under TP, long-sequence, and small-head-count settingsUnderutilized GPU SMs
Hardware-friendly algebraic reformulationReworks the forward/backward flow of GDN Chunked Prefill without sacrificing numerical precisionExcessive Tensor Core / CUDA Core / SFU overhead
TileLang fused warp-specialized kernelsBalances CP and backward needs with several key fused kernels, plus hand-written warpgroup specializationData movement and compute cannot overlap

First, gate-driven automatic intra-card context parallelism. This is the most technically interesting of the three. It exploits an inherent property of GDN gating: the further back in history, the more sharply its contribution to the current step decays - which gives mathematical justification for cutting the sequence into segments and distributing them across compute units within a single card. Per the authors, this mechanism enables automatically under tensor parallelism (TP), long sequences, and small head counts, raising GPU SM utilization. Note the word "automatically": rather than asking users to configure parallelism by hand, the decision is baked into the implementation. This is also what most distinguishes it from other linear attention kernels - most implementations optimize "how fast does one kernel run," while this one also solves "how should resources inside one card be divided."

Second, hardware-friendly algebraic reformulation. The authors describe reworking the forward and backward flow of GDN Chunked Prefill to reduce Tensor Core, CUDA Core, and SFU overhead without sacrificing numerical precision. The critical clause is without sacrificing numerical precision. The classic trap with algebraic reformulation is finding an equivalent form that computes faster but shifts the floating-point error distribution, so training diverges late. The authors explicitly rule it out, which indicates a strictly equivalent transformation. The concrete form of the reformulation and the breakdown of savings across units are not disclosed; not collected.

Third, TileLang fused warp-specialized kernels. This one shows the engineering trade-off most clearly, and the authors' own wording is worth attention: they neither decompose the flow step by step into separate kernels nor fuse the entire computation into a single kernel. Instead they take the middle path - accommodating both intra-card CP and backward requirements, building several key fused kernels with TileLang, and hand-implementing warpgroup specialization to overlap data movement, Tensor Core computation, and CUDA Core computation.

That "rejecting both extremes" stance is refreshingly honest. Decompose everything into small kernels and scheduling overhead plus memory round-trips eat the gains; fuse everything into one giant kernel and register pressure plus compiler burden make it collapse precisely in the complex cases (backward and CP among them). Choosing the middle raises design complexity sharply, and in exchange lets three hardware units - data movement, matrix multiply, and scalar special functions - genuinely overlap instead of queueing up. And "hand-implementing warpgroup specialization" carries real weight: it means someone actually wrote the division of labor at the warp level rather than leaning on the compiler to sort it out. Work of that kind cannot be rushed with headcount, and it is the real moat of a kernel library like this.

4. How to Read the Performance Numbers: 2-3x Is the Authors' Own Claim, Not a Third-Party Reproduction

Now the part most likely to be garbled in retelling. The authors' stated result: after operator fusion and performance optimization of the forward and backward passes of GDN Chunked Prefill, across multiple scenarios on NVIDIA Hopper and Blackwell, they achieve 2-3x forward speedup and 2x backward speedup versus the FLA Triton kernel. They add that gains are especially pronounced in pretraining scenarios and on-device agentic inference.

ItemAuthors' claimCollection status
Forward speedup2-3x (vs. FLA Triton kernel)Self-reported, no third-party reproduction
Backward speedup2x (vs. FLA Triton kernel)Self-reported, no third-party reproduction
Test hardwareNVIDIA Hopper and Blackwell, multiple scenariosSpecific models not collected
Scenarios with the clearest gainsPretraining, on-device agentic inferenceAs stated by the authors
Sequence length / batch sizeNot disclosedNot collected
Absolute latency and throughputNot disclosedNot collected

Two points here need to be stated precisely. The baseline is the FLA Triton kernel - not every FLA backend, and not a hand-written CUDA version. The 2-3x figure is measured against "the Triton implementation that is most common and easiest to get," which is still a substantial gain, since that is exactly what most people run - but it does not mean "2-3x faster than every existing implementation."

The second point concerns scenarios. "Multiple scenarios on Hopper and Blackwell" is a scope statement, not a blanket claim. Which scenarios improve 2x, which improve 3x, and which merely break even are not broken out per scenario. And the line about pretraining and on-device agentic inference showing the clearest gains reads in reverse as well: in other settings - ordinary batched inference on short-to-medium sequences, say - the gains may be less dramatic. That is not nitpicking; it is a reminder that assuming you personally will get 2-3x because the announcement says 2-3x is the most common misreading of numbers like these.

One line: these numbers are worth getting excited about, but validate them against your own workload - do not do capacity planning off a press release.

5. Release Cadence: v0.1.1 to v0.1.2, a Clear Climb

FlashQLA's release history is short, but the climb is legible, and reading it tells you the order in which the team is filling gaps.

VersionDateKey changes
v0.1.22026-07Added SM120 (Blackwell) forward support; serves as the GDN backend of flash-linear-attention, delivering plug-and-play acceleration through the standard FLA API
v0.1.12026-06Added intra-card sequence parallelism for the backward pass and SM100 support; upgraded tilelang to v0.1.9; aligned entry function signatures with the latest flash-linear-attention interface

In v0.1.2 (2026-07), the notable item is not SM120 support - it is "plug-and-play." The authors state that FlashQLA serves as the GDN backend of flash-linear-attention, delivering plug-and-play acceleration through the standard FLA API. In engineering terms: projects already using FLA do not need to rewrite their call sites to adopt FlashQLA; they go through FLA's existing API. That is the step that turns a research kernel into a production-ready component - however fast a kernel is, high integration cost shrinks its reach.

v0.1.1 (2026-06) filled two things: the backward pass and the interface. Adding intra-card sequence parallelism for backward plus SM100 support shows the team turning immediately to the training path once forward worked - without a backward pass, the pretraining scenario is moot. And aligning entry function signatures with the latest FLA interface was groundwork for the plug-and-play story in v0.1.2. As for what changed between v0.1.2 and the 2026-08-26 push, the README does not enumerate it; not collected.

6. The Barrier: SM90 to Start, CUDA 12.8 and PyTorch 2.8 as Hard Lines

This is the section that most deserves to be read. The official install requirements are unambiguous:

  • GPU architecture: SM90 / SM100 / SM103 / SM120 / SM121
  • CUDA: 12.8 or above
  • PyTorch: 2.8 or above

In plain terms: you need a Hopper- or Blackwell-generation NVIDIA card. SM90 roughly corresponds to the H100 / H800 generation; SM100 and beyond are the Blackwell family. A100 (SM80) and consumer RTX 30/40-series cards (SM86 / SM89) are not on the supported list. That excludes the primary card of the overwhelming majority of individual developers.

The accompanying software floor is no lower: CUDA 12.8 and PyTorch 2.8 are both forward-leaning requirements, and plenty of production training environments sit deliberately on earlier versions to satisfy other dependencies. Upgrading either is rarely a one-line pip install; it is a cascading environment change.

The right expectation, then, is this: it is a productivity tool for teams that have Hopper or Blackwell clusters, not a performance toy for individual hobbyists. On a consumer GPU, all you can do today is read about it - which the authors state plainly on the first line of the install requirements, with no hedging.

7. Ecosystem Position and Fit: a Template for Shipping Model Plus Kernels Together

Set FlashQLA alongside the projects this site has covered recently and its position is distinctive. It is not a model-side launch like DeepSeek V4 Flash, nor a model-plus-self-hosting-ecosystem combination like HY4 Preview's open-source release - it is a pure infrastructure-layer gap-filling, and the gap it fills is the speed debt left behind by launches like those.

Who it is for: teams with Hopper or Blackwell clusters doing long-sequence pretraining or GDN-related training (its home audience, where 2-3x forward speedup converts directly into a compute bill); projects already running GDN on flash-linear-attention, where v0.1.2 has pushed integration cost near zero; deployers doing on-device agentic inference where GDN latency is sensitive, a scenario the authors name explicitly; and engineers who want to learn how modern GPU kernels are written - a TileLang implementation with hand-written warpgroup specialization is a rare piece of public teaching material in its own right.

Who it is not for: consumer GPU users (anything below SM90 is unsupported outright); teams whose environments are pinned below CUDA 12.8 or PyTorch 2.8 (upgrade cost may exceed the benefit); and anyone expecting "swap the library in and get 2-3x automatically" - the gains concentrate in the scenarios the authors name, and everything else needs measuring yourself. Relatedly, if you are planning a local deployment of a new architecture, the environment-checking principle our HY4 Preview self-hosting SOP keeps repeating applies here too: confirm hardware and CUDA version first, then talk about performance.

One-line closer: architecture innovation is a math problem in a paper and an engineering problem on a GPU - by open-sourcing the GDN kernel library on the same day as the 125B model, Qwen handed in both exam papers at once; the entry ticket for this one just happens to start at Hopper.


References

This article is based on the official README, the official blog, and GitHub API data (as of 2026-08-30); star counts are API snapshots. All performance figures are self-reported by the authors, not independently reproduced by this site or any third party; no benchmarking or per-platform install verification was performed. Undisclosed fields are marked "not collected," and capabilities and compatibility are per the official repo documentation.

This article is AI-assisted and human-edited. Last updated: 2026-08-30

Related

Open Source

DeepInfer Open-Sourced: 155T Tokens/Day, Engine or Factory?

On October 20, 2026 DeepSeek announced full open sourcing of DeepInfer, its production-grade inference framework - the first time the official production engine is available instead of open-source parts plus guesswork. The repository deepseek-ai/DeepInfer ships under Apache-2.0 and measured 17,902 stars, 1,836 forks, and 188 open issues on launch day, while the companion token codec deepseek-recipe is MIT-licensed; the two repositories carry different licenses. Every performance figure below is vendor-reported and has no third-party reproduction yet: a single cluster serves 155 trillion tokens per day (about 38 dollars per card per hour at off-peak pricing), first-token latency of 400 milliseconds, 230 tokens per second generation, 96 percent prefix-cache hit rate, and Prefill throughput per card rising from 60,000 to 1.5 million tokens per second when caching counts. SWA Bounded Replay pins the recompute of cache misses to the last 128 tokens, which nearly halves total Prefill compute and makes cost independent of context length; DSpark speculative decoding drafts up to 5 tokens, adds another 6 percent to live throughput, and yields 14K tokens per card per second; MoE expert replicas reshuffle every 10,000 steps so the busiest card runs only 9 percent above average load. Hardware covers both NVIDIA SM100 and Huawei Ascend 950 NPUs, and setup means a Python 3.12 virtual environment, the DEEPINFER_ACCELERATOR variable, and a source build that pulls DeepSeek-V4.1-Flash-1017 weights by default. The boundaries matter: DeepSeek states that Prefill and Decode disaggregation, data-parallel load balancing, and the KVCache management layer are still not fully open because they couple too deeply to internal infrastructure - this is the engine, not the whole factory - and no official benchmark against vLLM, SGLang, or TensorRT-LLM exists. In production, 8-card servers handle Prefill while 64 to 128-card supernodes handle Decode, with KVCache kept beyond 72 hours to avoid recomputation.

Oct 22, 202610 min read
Open Source

AI Memory Framework, Open-Sourced: Tencent's 3B Tops Opus 5

Tencent Hunyuan open-sourced all three layers of Hy Memory 2.0 on 2026-10-16: the model layer Hy-Memory-30B-A3B (30B total parameters with about 3B active per token, a sparse MoE on HuggingFace at tencent/Hy-Memory-30B-A3B, arXiv 2610.22196), the SDK layer hy-memory (2.0.3 on PyPI at writing time) and the tool layer MemHub (CLI v1.0.3, bootstrapped via the npm memhub-cli package). License check: the GitHub API reports NOASSERTION (non-standard text), but the raw LICENSE file is Apache-2.0 with a Tencent preamble and no added restrictions - this article follows the LICENSE text. Official documents mix two spellings, "Hy-Memory-30A3B" and "Hy-Memory-30B-A3B"; we follow the HF repository name. Official benchmarks (vendor-reported): first place at 55.49 in a four-way memory-system comparison, ahead of Opus 5 (54.62) and DeepSeek-Flash (53.64), while Qwen3-30B-A3B scores only 44.37; MemoryArena 55.31 percent, leading runner-up EverOS by 10.2 points; CodeMemoryBench 64.2/35.6; SWE-ContextBench 28.3; LoCoMo 72.6 percent with memory tokens cut from 1159 to 703 (-39.3 percent). Internal business validation (vendor-reported): stock-picking multi-hop recall up from 50 to 90 percent, iWiki up 48.6 percent relative. Positioning is a memory-writer workhorse (analyst take, secondary): the model specializes in writing and updating memory and can in principle sit under existing systems like Mem0 or MemOS. MemHub tool count in two versions: the README lists 5 while the official WeChat article says 10 - go by actual CLI output. Five limitations stated as-is: vendor-only benchmarks without third-party replication, preview-stage API churn, MemHub limited to Linux/macOS, a 30B-class model that is nontrivial to self-host, and thin English docs. Repository: github.com/Tencent-Hunyuan/Hy-Memory (verified reachable). Division note: ai-agent-long-term-memory-sop (2026-08-08) covers the build-your-own mem0/Letta route; this piece covers Tencent's ready-made stack.

Oct 20, 202610 min read
Open Source

AI Agents Can Now Reverse Engineer Apps: 84k Stars in a Week

morluto/rea (Reverse Engineer Anything) topped GitHub Trending: verified via GitHub API on October 11, 2026 - 84,088 stars, MIT, TypeScript; the star-growth chain cites three sources separately (~10,400 via trending data, 47,884 via a third party quoting the GitHub API, 84,088 verified by us). Repo: github.com/morluto/rea. It is an MCP server plus CLI (npx rea-agents setup) that wires your coding agent (Claude Code/Codex/Cursor/Gemini CLI and more) into a reverse-engineering toolbox: native binaries through Hopper/Ghidra/IDA, static JS/Electron with no engine needed, .NET assemblies, APKs (JADX), firmware (Binwalk/Unblob), EVM bytecode, HAR/mitmproxy captures and websites. v6.0 (release notes, October 8, 2026) added pwntools offline ELF layout, crash inspection, Windows PE x86 and LLDB observation, with v6.1-v6.3 following within 24 hours. Honest limits: it does not recover original source, does not clone apps wholesale, and every conclusion ships with evidence and stated caveats; analysis runs locally so the target binary never leaves your machine. README-cited showcases: DX-Ball function rebuilt in C passing 3,205 original x86 cases with all 63 bytes reproduced; the Notion clipboard bridge traced end to end. created_at 2026-04-14 (API) vs a reported October 7 launch - both stated, no exact date asserted.

Oct 11, 202610 min read