Harshith Kantamneni
Everything, grouped by layer

All work

The home page tells the story. This page is the index.

This year, from the kernels upBars are projects. Diamonds are merges and the lab audit.

Move across the chart to read the year.

Open-source contributions

Every PR, closed ones included. States checked Nov 3, 2026.

flash-linear-attention #1412: KV-cache decoding

Added KV-cache decoding for stick-breaking attention, tested against the uncached forward. On H200 at batch 1 and 64K keys, 32 programs on 132 SMs take 4.3 ms, against a K/V read floor of about 0.06 ms at rated bandwidth.

Merged. Oct 27, 2026

flash-linear-attention #1319: stick-breaking attention in Triton

Continued #599 to add forward and backward Triton kernels. Rebuilt the backward to fix a silent zero gradient at saturated logits, caught in review. On H100, 64×32 tiles fit 57-89 KiB of shared memory where 64×64 needed 129-193 KiB. Nothing saturates in the backward at about 12% occupancy, which I read as stalls on fp32 scans. It still takes 1.04-1.42× the original authors' time, and I haven't isolated why.

Merged. Oct 8, 2026

NVIDIA cuDNN frontend #1287: GQA tests

Tests for native grouped-query attention, which catch 3 injected bugs that NVIDIA's SM80 tests missed.

Tests merged. Oct 6, 2026

NVIDIA TransformerEngine #3591: grouped NVFP4 dequantization

CUDA kernel and a fixed PyTorch binding, reading offsets on device so it runs in a CUDA graph. Output matches per-tensor results bitwise.

Open

vLLM #38338: Triton NVFP4 GEMM reference

Ordered grouped tiles and autotuned tile sizes, holding 1,014-1,076 TFLOP/s on RTX 5090 for one shape from batch 8192 up, where the first revision fell to 418. On Llama QKV with hot L2: 1.38-3.04× CUTLASS up to batch 128, 0.77-0.91× above, and about 0.27× across 4 Llama shapes on B200 from batch 1024. I closed it after the issue it answered, #21014, was closed as not planned.

Closed, not merged. Oct 7, 2026

NVIDIA cuDNN frontend #1223: native GQA prototype

On A100 at 64/8 heads and a 128K KV cache, K/V head copies took 7.28 ms against a 6.0-6.7 ms kernel. Removing them made 6 batched rows 2.6-3.3× faster, and 10 more stopped running out of memory. Those rows are really 3 configs and 5 configs. The cuDNN backend stayed faster on 27 of 31 multi-token rows. Closed after NVIDIA shipped native GQA in #1239.

Closed, not merged. Sep 27, 2026

GPU kernels

Stick-breaking attention kernels

Forward, backward and KV-cache decoding kernels in Triton, merged in flash-linear-attention.

Write-up

Grouped-query attention in NVIDIA cuDNN

What removing K/V head copies did on an A100, why that code closed, and the tests that merged.

Write-up

Triton vs cuBLAS

A measurement of whether one fused Triton kernel runs faster than the usual separate steps, across 76 matrix sizes on an A100.

Personal project, public repo

moe-kernels: a timing model of vLLM's fused MoE kernel

Predicts each call's time from the routing and the tile, with predictions frozen before each rental, on rented GH200s. On one 32×64×64 test tile, model v3's time predictions held at 0.51-0.69% rms. Its byte predictions missed by 11.76% on OLMoE's first wave, and the decode blind test failed at 11.4% against a 1.5% bar. No model is blind-certified on vLLM's own tiles.

GPU kernels, public repo

Team projects

ML-guided kernel config

A PyTorch model predicts kernel runtime and picks a config by argmin over a grid.

Team of 4, ECE 759

MI300X + gem5 modeling

Built the gem5 full-system setup and HIP benchmarks for the AMD MI300X memory hierarchy.

Team of 3, ECE 752

LLM inference

Where the Seconds Go

A llama.cpp cache for batch-1 decode when the model doesn't fit on the GPU, and a computed limit to read it against.

Write-up

vLLM on H100 NVL

Load-tested vLLM with Qwen2.5-7B across offered rates. TPOT ran 31-34% lower with CUDA graphs than eager, and FP8 cut it 27-36%. One run per rate.

Serving, first pass

Speculative decoding on MoE

On one H200 with CPU ngram drafts, offline and synthetic, a per-workload oracle improved on the best static batch-size table by at most 1.8%. vLLM's MFU byte model overcounted expert reads, up to 3× in the worst cell.

Comment on someone else's RFC

Jetson Orin Nano profiling

Attention and KV-cache decode kernels profiled with Nsight on a 15 W edge board.

Public repo

Agent systems

Lab verification and audit

Sign-off verification for a lab of Claude Code agent roles, an audit of it against its logs, and a rebuilt check.

Write-up

bert

A local MCP server that gives a coding agent searchable memory of a project, measured against agentic grep, including where grep scored higher.

Write-up

The Obsidian Archive

A 13-stage autonomous pipeline that researches, writes, renders and uploads a documentary from one topic, with atomic checkpoints and resume, automatic retries, an optional budget cap on Claude spend and failure alerts.

Agent systems

HIVE

A privacy-first peer-to-peer reasoning engine in Rust.

Agent systems

Writing

When the K/V copy costs more than the attention

cuDNN's K/V head copies took 7.28 ms against a 6.0-6.7 ms kernel at 64/8 heads, what removing them did and didn't do, and the tests that merged.

Worklog. Nov 2026

Below the Measurement Floor: a pre-registered dense-vs-MoE null

Pre-registered compute-matched comparison. Every cell lands below the measurement floor, and the null is the result. Not peer reviewed.

Report. May 2026

Recursive Verification-Surface Collapse

The null-set principal problem in self-grading labs, and three structural principles, from about 90 autonomous cycles. Not peer reviewed.

Report. May 2026

When the LLM judge is biased

Same-family preference leakage when four Claude instances review the same proposals, read against an ICLR 2026 result.

Note. May 2026

Tier-per-task: routing models by the job

Why model tiering belongs at the task level, not the role level.

Note. May 2026