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?