This article has good info, but is the overloading premise slightly contrived? Maybe I don’t talk to enough CUDA beginners. I work with CUDA a lot but I’m not exactly a CUDA expert, and from my perspective, in practice there are default assumptions one can safely make for the base terms, and people do qualify the alternatives almost always. For example, if someone says “CUDA version”, they always mean the toolkit, and never mean compute capability, runtime, or language. The term “driver” when used without qualification always means the display driver, and never means the driver API, there really is no overload there.
Oh yeah, knowing the difference between the runtime API and driver API is definitely an issue, and there is common confusion around that. But that’s not an overloaded word problem, right? I wasn’t trying to say there’s no confusion, and I do think understanding the terms in the article is super helpful. To your point, I think there’s justification for needing a codex like this article has without framing it as an overloaded terminology problem.
I suspect you're colored by your experience, despite your modesty about it. To you or I, "CUDA version" probably means something like 'v13' or w/e of the "CUDA toolkit", which you know means the user running your code needs an "nvidia driver" = "580" or higher.
I wouldn't have been able to tell you this a few months ago, and it was confusing! Machine that compiles vs machine that runs, CUDA toolkit which includes both vs nvidia driver which just includes one part of it etc... The article explicitly describes this.