Show HN: Agentic CUDA Kernel Optimizer

(github.com)

34 points | by bertaye 1 day ago

5 comments

  • fooblaster 23 hours ago
    Can someone explain why this isn't better accomplished through a single prompt to Claude code or codex? I don't think I understand.
    • bertaye 21 hours ago
      Hello, indeed you can just use that.

      The basic idea here is just automating and limiting the steps that AI can take. These are described as ‘nodes’ and their actions are limited/more descriptive from developer perspective.

      The langgraph simply allows you to set some fences around the AI agent for a goal, instead of raw terminal flow. Is it better? Arguable.

    • osti 22 hours ago
      Yup, this thing is basically useless. I just did /goal optimize the cuda kernel, and ai agent just proposed and tested a bunch of ideas by itself, and it profiled them using nsight ncu etc. by itself, which lead to one order of magnitude faster kernel.
  • generalizations 1 day ago
    Very cool. Did you also try using the karpathy autoresearch? How do you think this compares?
    • bertaye 1 day ago
      honestly I know it exists but I never used it so can't compare
  • aidiveyt 20 hours ago
    in mine, only an agent's final report reaches the orchestrator, never its transcript, so a wrong turn inside a node stays invisible. that's the fence i'd want first.
  • lohr13 1 day ago
    [flagged]
  • asamadx 1 day ago
    respect for shipping something this technical solo, this is the kind of project that usually needs a team to even validate correctness. how are you handling regression testing across kernel variants, feels like the hardest part of an agentic optimizer isn't finding a faster kernel, it's proving the faster one didn't quietly break something
    • bertaye 1 day ago
      That is the funny part actually; we can either provide a reference kernel + input cases for correctness check. In this case at first it will use test harness to run reference kernel with reference inputs ad save the outputs as ground truth. Or we can let AI to create a very basic reference implementation and input cases :D for my own experiments I used second one.
      • saagarjha 23 hours ago
        How are you checking that the AI is not just gaming your correctness tests? It's very easy to write incorrect synchronization for example.
        • bertaye 21 hours ago
          It cant if you be cautious about it because the inputs can set manually and outputs are generated through the cuda harness by executing the reference kernel, again can be provided externally.

          Comparison is simply byte by byte equalness check of reference kernel outputs with candidate (optimized) outputs.

          Why I added ai generated inputs then? I was just being lazy and this was more of a langgraph playground for me:)

          • saagarjha 17 hours ago
            Yes, but the AI can totally make a kernel that passes your test inputs but is not correct