[PATCH] D74571: [OpenMP][CUDA] Add CUDA 10.2 support

Artem Belevich via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 13 15:54:36 PST 2020


tra added a comment.

In D74571#1875296 <https://reviews.llvm.org/D74571#1875296>, @JonChesterfield wrote:

> Interesting distinction.
>
> Should compiling without warning indicate comprehensive support, or merely that we ran the tests and they passed?


The test in LLVM do have very limited testing to CUDA-versioned things and at the moment they have no tests for anything specific to 10.2.

> I assumed the latter on the basis that we probably don't have comprehensive support for cuda 10.1 either. No preference either way though.

On LLVM side I believe we have almost everything that came with PTX6.4 which arrived in CUDA-10.1.
Clang also has the necessary builtins plumbed through. That's not the case for PTX6.5 & CUDA-10.2.
Most of the CUDA testing is done in the test-suite and updating it for CUDA-10.2 is another TODO item.
At the moment all we can infer from the passing tests is that we didn't break CUDA-10.1 functionality.
If we could force users to never use any new features from 10.2, then we could have declared mission accomplished.
As things stand right now, it would be a matter of time when the actual lack of support would start manifesting itself.

In the past I did now and then do something similar to this patch, allowing compilation 
with the new CUDA version without adding the features that come with that version. 
Arguably it was better than not being able to compile at all, but I did end up with a fair share 
of users trying to compile some code that relied on the latest and greatest CUDA features 
only to see things fail with odd error messages -- PTX reporting syntax errors, 
clang complaining about unknown functions.

The "warn and assume the last known version" was the best compromise I managed to come up with. 
You can *try* using it with a newer CUDA version before someone gets to implement the missing bits, 
but whether it will work is very much a YMMV situation. For those who find it acceptable, 
there's a big red "Trust me, I know what I'm doing" button in form of `-Wno-cuda-unknown-version`.
Everybody else gets a somewhat informative warning explaining what's going on.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74571/new/

https://reviews.llvm.org/D74571





More information about the cfe-commits mailing list