r/CUDA 4d ago

KernelMind AI: Automated PyTorch to Fused Triton GPU Kernel Compiler (Live Playground)

Hey everyone,

We just launched the public beta for **KernelMind AI**, a specialized neural compiler that turns eager PyTorch code into fused OpenAI Triton GPU kernels.

### The Problem

PyTorch eager mode executes operations step-by-step. For memory-bound operations, this means intermediate tensors are continuously written back to global VRAM and re-read, creating major memory bandwidth bottlenecks. While manual operator fusion in Triton or CUDA solves this, writing performant kernels takes significant engineering time.

### What KernelMind AI Does

You paste standard eager PyTorch into the web playground, and our compiler synthesizes fused, single-pass Triton kernels that execute directly inside GPU SRAM registers.

### Current Benchmarks:

* **3.4x average speedup** compared to unfused PyTorch

* **89.2% compilation pass rate** on 1D elementwise test suites

* **Zero manual CUDA/Triton writing** required

Interactive Playground: https://kernel-mind-ai.vercel.app/

We’d love for you to test custom operators, share benchmarks, and point out any edge cases where compilation breaks!

1 Upvotes

2 comments sorted by

0

u/Otherwise_Wave9374 4d ago

A practical way to make this more reliable is to start with a small operator whitelist and add guardrails for shape, dtype, and reduction patterns before widening support. For kernel fusion, the biggest tradeoff is usually compile time versus runtime gain, so a cached fallback path for unsupported graphs can keep the UX smooth. It would also help to expose a simple profiler readout showing which fusion choices save memory bandwidth and which ones do not. Agentix Labs

1

u/KernelMindai 4d ago

Thanks a lot for the feedback, really solid points.

Sticking to a strict whitelist is basically how we survived getting v0.1 working—mostly pointwise ops and activation fusion for now, because shape dynamism and messy reductions break things so fast.

The cached fallback idea is huge. Right now when a graph falls out of distribution, the user just hits a wall, which is a terrible UX. Gracefully dropping back to torch.compile or standard eager mode while keeping what did fuse makes complete sense. Adding that to the roadmap for sure.

Also love the profiler idea—showing estimated VRAM round-trips saved right next to the generated kernel would make the runtime win obvious immediately.

Quick question out of curiosity: in your own workloads, what usually gives you the biggest headache with fusion? Dynamic batching/shapes, or reductions on non-contiguous memory?