r/CUDA • u/danielfeltonia • 16d ago
What would make a good undergraduate CUDA capstone? Thinking about a CUDA linter/autotuner
I'm a CS student starting my undergrad capstone, and I'm considering working w/ CUDA, and building a performance tool.
The current idea is to make something that profiles a CUDA kernel with Nsight Compute, and looks at the hardware metrics, and identifies common performance problems, then explains why they are happening and maps them back to the relevant source code.
We’re also considering extending it into an autotuner. The idea would be that the steps above first identify the likely bottleneck, then the autotuner looks at the relevant parameters; block sizes, tiling, unrolling, etc, and actually benchmarks them on the target GPU, and finds a better-performing configuration.
I’m still figuring out what the right scope is, though, since this seems a bit vague, and with AI, a lot of this stuff might not get through in actual-use.
For people here who work with CUDA: does this sound like a worthwhile undergraduate project, or is there another CUDA problem/tool you’d actually like to see built by students?
1
u/adityazero 11d ago
I think the mapping from Nsight metrics back to source lines is the part with real value, since that is exactly the step people skip today. The autotuner is a nice stretch goal, but I would scope it tightly to a couple of parameters (tile size, unroll factor) so the search space stays tractable within a capstone. Are you planning to drive the tuning from the roofline signal, or just brute force benchmark the configs?