如何在C#中获取CUDA版本(区分CUDA8/CUDA9)?
几种确认CUDA版本(区分8/9)的实用方法
嘿,我来给你分享几个靠谱的方法,帮你准确区分是CUDA 8还是CUDA 9——毕竟驱动版本和CUDA Toolkit版本是两回事,你之前拿到的361.xx只是驱动版本,没法直接对应CUDA版本哦~
用CUDA编译器
nvcc直接查询
这是最直接的方式,因为nvcc是CUDA Toolkit自带的编译器,它的版本和Toolkit版本完全一致。打开终端(Linux/macOS)或命令提示符(Windows),输入:nvcc --version # 或者简写 nvcc -V输出结果里会明确显示类似
release 8.0, V8.0.61或release 9.0, V9.0.176的内容,一眼就能区分版本。查看CUDA安装目录的版本文件
CUDA默认安装路径里有个专门记录版本的文件:- Linux/macOS:默认路径是
/usr/local/cuda,执行命令查看:cat /usr/local/cuda/version.txt - Windows:默认路径是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X(X.X就是版本号),找到里面的version.txt文件直接打开,就能看到具体版本。
- Linux/macOS:默认路径是
通过CUDA Runtime API编程获取
如果需要在代码里动态获取版本,可以用CUDA Runtime的API。比如下面的C++代码:#include <iostream> #include <cuda_runtime.h> int main() { int cuda_version; cudaError_t result = cudaRuntimeGetVersion(&cuda_version); if (result == cudaSuccess) { int major = cuda_version / 1000; int minor = (cuda_version % 1000) / 10; std::cout << "CUDA Runtime版本: " << major << "." << minor << std::endl; } else { std::cout << "获取CUDA版本失败: " << cudaGetErrorString(result) << std::endl; } return 0; }编译运行后,就能输出Runtime版本,也就是你安装的CUDA Toolkit版本。
补充个小知识点:你之前拿到的驱动版本361.xx,其实是CUDA 8.x要求的最低驱动版本,而CUDA 9.x要求的最低驱动版本是384.xx。不过如果驱动更新过但CUDA没升级,驱动版本会高于最低要求,所以还是用上面的方法确认更准确~
内容的提问来源于stack exchange,提问作者Ragekilln
相关产品推荐
相关产品推荐

