emankov added inline comments.
================ Comment at: clang/lib/Driver/ToolChains/Cuda.cpp:161 + if (FS.exists(LibDevicePath + "/libdevice.10.bc")) { + Version = CudaVersion::LATEST; + DetectedVersionIsNotSupported = Version > CudaVersion::LATEST_SUPPORTED; ---------------- tra wrote: > emankov wrote: > > Do we have any other mechanism besides version.txt for determining an exact > > CUDA version? Setting the latest version in case of absence of version.txt > > doesn't suit all the needs: sometimes the exact version is taken into > > account, for instance in [[ > > https://github.com/ROCm-Developer-Tools/HIPIFY#clang | hipify-clang ]]. > Not easily. > > We could try running one of SDK binaries with `--version`. This would be > fragile as the tool version does not necessarily match the SDK's and NVIDIA > has already started versioning elements per-component. E.g. some shared > libraries in 11.1 are already versioned as 10.2, 11.0, 11.1 and 11.2. There > are also situations when we had to cherry-pick a tool from a different > release in order to work around a critical bug. We don't want to change > compiler's idea of CUDA version based on that. > > We could parse CUDA headers and try finding CUDA_VERSION macro. That's > feasible. It may be somewhat fragile if we just search for a text string > '#define CUDA_VERSION XXXX' -- nvidia may change it. On the other hand it's > not that much worse than relying on version.txt. It also does not carry > complete version, only major.minor, so we will not be able to tell `11.0 > `apart from `11.0 update 1`. Probably not a big deal. I don't think we've > needed it so far. > > We could do something like this: > * if version.txt is there -- use it > * otherwise if cuda.h is found, extract version from CUDA_VERSION macro > * if that failed, use libdevice bitcode format to detect CUDA-7.0 > * fall back to "last supported version" otherwise > I'd appreciate the appearance of the step with a version extraction from CUDA_VERSION macro. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89752/new/ https://reviews.llvm.org/D89752 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits