---
id: pr-quack-118
repo: Dao-AILab/quack
pr: 118
title: Add remaining SM120 / RTX 50 support for GEMM epilogues and RMS paths
author: alecco
date: '2026-04-25'
url: https://github.com/Dao-AILab/quack/pull/118
source_category: upstream-code
architectures:
- sm100
- sm90
tags:
- benchmark kernel
- blackwell
- cuda kernel
- gemm
- norm
- quack
- sm100
- sm90
techniques:
- epilogue-fusion
hardware_features:
- blackwell
- hopper
kernel_types:
- gemm
- norm
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: b45f8e66c3e8b61b2221717479f46ff1fd40c69e
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- README.md
- benchmarks/benchmark_gemm_epilogues.py
- docs/sm120_ncu_profiling.md
- pyproject.toml
- quack/epi_ops.py
- quack/gemm_act.py
- quack/gemm_dact.py
- quack/gemm_sq_reduce.py
- tests/test_linear.py
- tests/test_linear_varlen_m.py
- tests/test_mlp.py
artifact_dir: evidence/pull-bundles/quack/gh-118
head_ref_oid: fc12b33204b1bea9a9697c168f1fdfa11d306550
---
# Add remaining SM120 / RTX 50 support for GEMM epilogues and RMS paths

- Repository: `Dao-AILab/quack`
- PR: [118](https://github.com/Dao-AILab/quack/pull/118)
- Decision: `Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.`
- Reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.

## Changed Paths

- `README.md`
- `benchmarks/benchmark_gemm_epilogues.py`
- `docs/sm120_ncu_profiling.md`
- `pyproject.toml`
- `quack/epi_ops.py`
- `quack/gemm_act.py`
- `quack/gemm_dact.py`
- `quack/gemm_sq_reduce.py`
- `tests/test_linear.py`
- `tests/test_linear_varlen_m.py`
- `tests/test_mlp.py`

## Evidence Bundle

`evidence/pull-bundles/quack/gh-118`
