В auto-research-конкурсе от GPU Mode и Core Automation нужно было реализовать батчевое квадратное компактное QR-разложение через отражения Householder. Участник занял 12-е место из 183 и получил ускорение в 232 раза: базовый путь torch.geqrf/cuSolver занимал около 419 000 мкс, финальный результат — 1805 мкс. На вход подавались батчи FP32-матриц, на выходе — компактный формат geqrf: матрица H (в верхнем треугольнике R, ниже диагонали хвосты Householder-векторов) и вектор tau. Из-за последовательной зависимости отражений ключевым решением стал блочный алгоритм Householder с WY-представлением: узкая панель делает дешёвую последовательную работу, а весь trailing block обновляется тремя GEMM-операциями. Внутри разрешалось использовать FP16, FP8 или NVFP4, но проверка оставалась FP32-строгой. Плюс разброс форм n = 32..4096 и маленькие батчи: самые крупные матрицы не заполняли тензорные ядра, а n = 32 приходилось пачками упаковывать в один kernel launch.
Работал участник с ChatGPT Pro и Claude Pro, для профилирования использовал Modal. Организаторы дали popcorn CLI, через который агент мог тестировать ядра и отправлять на лидерборд. Он выбрал Codex: подписка больше, а прошлый опыт подсказывал, что OpenAI-модели лучше в Triton; ещё у Codex хорошо работает /compaction. Обвязка — AGENTS.md, problem_statement.md и log.md, куда записывались все попытки и результаты. Ключевой режим — /goal: модели даётся конкретная измеримая цель, и она работает часами, а проверить её можно через /btw и /side, не прерывая цикл. За 14 дней набралось больше 1500 сабмитов.
После отметки 3000 мкс оптимизации пошли тяжело. Основными узкими местами были launch overhead и панельные вычисления, а не память и не compute. Чтобы вылезти из локальных максимумов, участник ввёл beam of candidates — держал живыми несколько семейств идей, а не только текущий лучший вариант. Помогала стратегия сильного советника: инструкции в AGENTS.md звали модель делать headless-вызовы claude -p, искать свежие идеи, запускать субагентов. Позже организаторы добавили NCU-профилирование. Эволюция ядра: от torch.geqrf везде к blocked WY на n512, затем на все формы, Triton-панели, Cholesky-ORHR для n4096, CUDA graph replay, fused V/T assembly, split16-панели, специализация под фиксированные формы и суперпанели с кастомным Cholesky. В репозитории к концу было 560 вариантов submission, 119 probe-скриптов для Modal B200, 68 документов с описанием экспериментов и папки с логами.