CUDA 9's minimum sm is sm_30.
Ideally we should also make sm_30 the default when compiling with CUDA
9, but that seems harder than it should be.
Differential D39109
[CUDA] Print an error if you try to compile with < sm_30 on CUDA 9. jlebar on Oct 19 2017, 3:34 PM. Authored by
Details CUDA 9's minimum sm is sm_30. Ideally we should also make sm_30 the default when compiling with CUDA
Diff Detail
Event Timeline
Comment Actions
Agreed, maybe the messages in DiagnosticDriverKinds.td don't have the best names (though I'm struggling to improve them). But do you think the error message we'll print is bad? For example:
The other error message you might get is something like
For this one we could add a clause mentioning --cuda-gpu-arch, but I'm not sure that's necessary, since if your CUDA arch is too *high*, you're surely specifying --cuda-gpu-arch on the command line. It seems to me that these two are reasonable error messages, and I'm not sure it makes sense to combine them... Comment Actions The point was that we have two error messages for one problem -- this CUDA version does not support this GPU. The new message you've added (CUDA9, sm20) has to be rather verbose in order to be correct as it must deal with the possibility of either of the relevant arguments being the source of the error. The other end of the problem (CUDA<9, sm_70) should ideally be phrased similarly. But why do we need both? IMO both cases could be reported more consistently with a single message similar to the one you've added -- "CUDA version X does not support compiling for GPU arch Y. Use --cuda-gpu-arch to specify a different GPU arch, use --cuda-path to specify a different CUDA install, or pass --no-cuda-version-check." Either way, it's a minor nit. If you believe there's some utility in having two different error messages, I'm OK with it. |