刚从官方下载页面下载了32bit的适用wind7版本cuda 5.0的msi,双击安装后,按照随安装程序的getting started文档检测,发现运行deviceQuery和bandwidthTest时候都返回错误信息“cudart32-50-35.dll丢失”,求问有人知道问题在哪吗?先谢谢了。
你提供的信息比较少,建议在C:下搜索"cudart32-50-35.dll",如果没有的话可以尝试重新安装。如果有的话可能是VS配置或者环境变量配置问题,作为一个最简单的解决办法你可以将它复制到和你编译好的可执行程序相同的目录下。祝您学习愉快:)
谢谢。之前电脑里没有cudaart32-50-35.dll。我之后更新了显卡驱动,安装就很顺利了。
另外,我看getting start里提到,cuda的驱动和显卡驱动要版本一致才可以。我不是很明白,cuda运行时候涉及几个驱动?之间有什么关系?再次感谢!
首先,显卡驱动只需安装一个。
如果是安装CUDA 5.0 安装包里包含了对应的驱动。不用另外下载驱动程序。
一般来说,高版本的驱动兼容低版本的CUDA Toolkit。比如我们安装了CUDA 5.0之后在安装CUDA 4.2就不用再重新安装驱动了。
我记得大概是如果使用driver API,那么只需要显卡驱动就足以支撑。
如果是runtime API,那么还需要cuda runtime的dll,视版本不同,命名略有差别,比如本帖上面就是cudart32-50-35.dll
祝您编码愉快~
是的。
如果只使用driver api, 那么只用显卡驱动即可成功运行cuda程序。
如果只需用driver api + ptx开发,那么只用显卡驱动也行(前提是你的编译器/运行环境知道怎么从nvcuda.dll找到函数,以及调用规则。如果不知道,可以简单再安装toolkit里面有头文件和导入库)。
如果需要用driver api + CUDA C/C++语言开发,那么你需要显卡驱动+CUDA C/C++编译器,可以安装toolkit解决。
如果需要运行runtime api的项目,你需要显卡驱动+runtime的dll, 例如cudart*.dll。
如果需要用runtime api + cuda c/c++开发,那还是得全装。
大致这些情况。如果楼主怕麻烦,可以简单的安装显卡驱动+toolkit了之。
請問有解決方法嗎 遇到同樣問題win7 64bit +vs2010
遺失cudart64_50_35.dll
如果您的机器上真的没有该DLL,请重装合适版本的toolkit,以及显卡驱动版本也要匹配。如果您的机器上有而只是没有找到,请合适地配置工程文件。
具体的请参考2#,6#等楼。
祝您编码愉快~
如果你是用CUDA 5.0自带的模板建立的项目的,这个模板会自动复制cudart*.dll到你的输出文件夹(包括32位和64位的都会复制)。这种情况下你不会遇到这个问题。
如果你用的第三方的向导,那么不能保证,这种情况下,我建议你自行复制到你的exe所在位置,或者,将你的安装CUDA 5.0 toolkit的目录,加入到你的PATH环境变量中。
这个目录一般是C:\Program Files\NVIDIA GPU Computing Toolkit\cuda\v5.0\bin,当然,你可能不是默认安装的,请自己搜索下。
一般建议是使用标准的5.0自带的模板。
二般建议是如果使用了第三方向导之类的,请自行复制到你的exe所在目录。
三般建议是将cuda toolkit的安装目录的v5.0下的bin目录加入到PATH环境变量。
当然,如果你说你安装的toolkit的bin目录下真的没有cudart*.dll或者干脆说你自己给删掉了,那么我也没办法。