2023年6月21日发(作者:)
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程
安装CUDA4.0时,碰到了很多意外,花费了较多时间,最终取得了成功,现对期间的经验教训总结如下,供大家分享,期待提高大家的工作质量和效率。
一 安装环境
Windows 7 64bit 家庭版,VS2008(安装了X64编译器),CUDA 4.0 64bit版本;
二 安装软件
Windows 7 64bit 家庭版是购买笔记本时自带的系统,不再详说。
2.1 安装VS2008
安装的professional版本,在安装时选择自定义安装,选择自己需要的组件,如下图1所示(这里借用了别人的一张图片),注意展开Visual C++子树,选中X64组件。
图1 自定义安装VS2008组件
安装完毕后,对于如何取消90天试用限制问题,采用了别人的破解办法,具体的操作方法如下: 打开 控制面板 Î 添加删除程序, 找到VS2008的安装项,运行VS2008的安装卸载程序,出现如下图2所示界面:
图2 VS2008的安装卸载界面 下载 破解程序,然后右键点击该破解程序,选择以管理员身份运行,出现如下的图3所示界面:
图3 破解程序界面
点击图3右上角 按钮“Bug 微软”,则久违的图4界面出现了: 图4 破解后的界面
输入相应的序列号,就可以了,以下是收集的序列号:
Studio 2008 Professional Edition:
XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT
Studio 2008 Team Test Load Agent:
WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T
Studio 2008 Team System:
PYHYP-WXB3B-B2CCM-V9DX9-VDY8T
Studio 2008 Team Foundation Server:
WPDW8-M962C-VJX9M-HQB4Q-JVTDM
2.2 安装CUDA4.0
在nvidia的下载网页上,下载了64bit的开发组件,包括driver、tookit、sdk等主要组件,具体如下:
devdriver_4.0_winvista-win7_64_275.33_
cudatoolkit_4.0.17_win_
gpucomputingsdk_4.0.19_win_
cudatools_4.0.17_win_
CUDA4_
注意驱动选择台式机或者笔记本版本。安装顺序分别是devdriver_4.0Îcudatoolkit_4.0.17ÎgpucomputingsdkÎcudatools。 2.2.1 安装驱动
驱动程序是一个自解压程序包,默认解压到C:NVIDIA,在安装驱动时,发生了类似下面情况如图5:
图5 驱动安装失败
在确定驱动程序版本足够新的前提下,上述情况是因为硬件ID号没有包含在驱动安装包的inf文件里面造成的,解决方法如下:
右键"计算机"点“属性”打开你的设备管理器,然后在显示适配器里面。右键你的显卡,点“属性” 如下图:
图 6 获取GPU硬件ID
如上图6所示,获取GPU硬件ID。我的GPU也是GT540M,硬件ID是:
PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA&REV_A1 PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA
PCIVEN_10DE&DEV_0DF4&CC_030000
PCIVEN_10DE&DEV_0DF4&CC_0300
这里GT540M的代号是0DF4。
在驱动解压包里面找到子文件夹,然后搜索nv*.inf,不同公司拥有各自的inf文件,按照你买的品牌来确认修改哪个文件。我买的是联想V470A-ifi,那么该文件是,在这几个安装信息里面修改。说明:常见厂商用的文件:
宏碁是
华硕是
联想是
戴尔是
特别说明:是仁宝,夹杂仁宝代工的DELL,联想和Gateway。
打开,搜索0DF4,需要修改的地方有2处,具体如下图7(a)、(b)所示:
图7(a) 图7(b)
主要是把图7(a)中的第2句替换为我们刚才得到的硬件ID:
PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA
修改完毕保存后,重新点击,就能够正常安装了。
2.2.2 安装toolkit、SDK
由于toolkit安装时默认到C盘,我选择自定义安装路径到D:盘,不过在选择路径时,要注意toolkit中的profiler路径与其它组件路径相对独立,要仔细设置。另外,如果没有采用默认路径,安装会提示是否恢复默认设置,要仔细选择。
SDK安装比较简单,只要更改好路径就可以,我也是选择安装到D盘。
安装完毕后,重启一遍系统。
三 配置VS2008
3.1 增加cu和cuh扩展名到VS2008
让vs2008的文本编辑器识别.cu与.cuh格式文件,首先是tools-options-text
editor,添加过程如图9: 图9
在工具Î项目和解决方案 ÎVC++ 项目设置ÎC/C++ 文件扩展名,加上*.cu,
包括的扩展名(Extensions To Include)加上;.cuh.,使得工程自动识别cu文件。如图10:
图10
3.2 语法高亮设置
把默认路径在:C:ProgramDataNVIDIA CorporationNVIDIA GPU
Computing SDK 4.0docsyntax_highlightingvisual_studio_8文件夹下的文件拷到VS2008安装目录的common7IDE目录下就可以了。
3.3 添加CUDA bin、include、lib路径到VS2008
工具Î选项Î 项目和解决方案ÎVC++目录,我是64bit的操作系统,所以选择平台为x64(我就是粗心忽略了这里导致惨痛后果,耽误大量时。然后依次设置可执行文件、包含文件、库文件、源文件就可以了。具体如间)下图11(a)-(d)所示。
图11(a)可执行文件设置
图11(b)包含文件设置 图11(c)库文件设置
图11(d)源文件设置
考虑到软件安装好不会再随意变动,因此这里采用的都是绝对路径。
3.4 编译cutil链接库以及环境变量设置
cutil链接库是CUDA程序运行必需库,但CUDA4.0中没有提供现成的,需要自己编译并得到,,, 共4个文件。进入D:NVIDIA GPU Computing SDK 4.0Ccommon,找到cutil_,打开,设置编译平台为x64,然后分别编译Debug,Release就可以了。
图 12
为了防止自己的程序编译好运行时出现找不到cutil*.dll的错误警告,需要把上述cutil*.dll所在路径加入系统环境变量。
图 13 做好上述工作,注销一遍系统。
四 CUDA程序编译配置
由于赵开勇博士的wizard只更新到了支持SM13,不支持SM20/21,所以我选择nvidia自带的编译rules。这种方式缺点是:每次建立一个工程,都要设置一遍,显得非常繁琐,这里我们详细记录一下以备忘。
1)新建一个空的Win32控制台应用程序
图14
2)配置运行平台,设置为x64,因为默认没有,所以要自主设定。
图15
3)加入自己的*.cu、*.cuh、*.cpp、*.h文件,然后右键点击待设置工程,设置“自定义生成规则”。 图16
4)选择规则文件
图17
如果没有上述规则,则点击“查找现有的”按钮,选择*.rules文件所在路径。或者把toolkit中的..visual_studio_integrationrules下的4个*.rules文件拷贝到VS2008中..VCProjectDefaults下就可以。
5)右键点击待设置工程,选择“属性”,使得C++编译器、链接器和CUDA编译器能够兼容工作。主要设置项包括C/C++Î代码生成Î运行库、链接器Î输入Î附加依赖项、链接器Î高级Î目标计算机、CUDA Runtime API Î GPU
ÎGPU Architecture(1)(-3)、CUDA Runtime APIÎHostÎtarget machine platform(目标计算机)和Runtime library(运行时库)。总体而言比较繁琐。其中运行时库要吻合,如/MD /MT /MDD /MTD。目标计算机都是X64。如图18所示。 图18(a) C/C++Î代码生成Î运行库
图18(b) 链接器Î输入Î附加依赖项
图18(c) 链接器Î高级Î目标计算机 图18(d) CUDA Runtime API Î GPU ÎGPU Architecture(1)-(3)
图18(e) CUDA Runtime APIÎHostÎtarget machine platform(目标计算机)和Runtime library(运行时库)
如果能够确保上述工作全部完整无误设置,应该能够正确编译程序了。
五 编译CUDA代码时的注意事项和常见问题解决
1 找不到头文件
检查VS2008的工具Î选项Î 项目和解决方案ÎVC++目录设置情况,确认:1)是否平台设置错了;2)最好采用绝对路径;3)检查在输入路径时有无失误; 2 找不到cutil*.lib
1)进入D:NVIDIA GPU Computing SDK 4.0Ccommonlib,看是否有cutil*.lib存在,如果不存在,进入D:NVIDIA GPU Computing SDK 4.0Ccommon,找到cutil_,在x64平台, debug和release编译模式下,即可生成。
2)进入VS2008 工具Î选项Î链接器Î输入Î附加依赖项,看是否添加入了cutil*.lib和。
3 链接错误
这是因为C++编译器和CUDA编译器的运行时库不一致所致。请按照图18(a)和18(e)说明来修正;
4 程序编译好,运行提示找不到cutil*.dll
这是因为cutil*.dll的路径没有被找到所致,解决方法见图13。
2023年6月21日发(作者:)
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程
安装CUDA4.0时,碰到了很多意外,花费了较多时间,最终取得了成功,现对期间的经验教训总结如下,供大家分享,期待提高大家的工作质量和效率。
一 安装环境
Windows 7 64bit 家庭版,VS2008(安装了X64编译器),CUDA 4.0 64bit版本;
二 安装软件
Windows 7 64bit 家庭版是购买笔记本时自带的系统,不再详说。
2.1 安装VS2008
安装的professional版本,在安装时选择自定义安装,选择自己需要的组件,如下图1所示(这里借用了别人的一张图片),注意展开Visual C++子树,选中X64组件。
图1 自定义安装VS2008组件
安装完毕后,对于如何取消90天试用限制问题,采用了别人的破解办法,具体的操作方法如下: 打开 控制面板 Î 添加删除程序, 找到VS2008的安装项,运行VS2008的安装卸载程序,出现如下图2所示界面:
图2 VS2008的安装卸载界面 下载 破解程序,然后右键点击该破解程序,选择以管理员身份运行,出现如下的图3所示界面:
图3 破解程序界面
点击图3右上角 按钮“Bug 微软”,则久违的图4界面出现了: 图4 破解后的界面
输入相应的序列号,就可以了,以下是收集的序列号:
Studio 2008 Professional Edition:
XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT
Studio 2008 Team Test Load Agent:
WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T
Studio 2008 Team System:
PYHYP-WXB3B-B2CCM-V9DX9-VDY8T
Studio 2008 Team Foundation Server:
WPDW8-M962C-VJX9M-HQB4Q-JVTDM
2.2 安装CUDA4.0
在nvidia的下载网页上,下载了64bit的开发组件,包括driver、tookit、sdk等主要组件,具体如下:
devdriver_4.0_winvista-win7_64_275.33_
cudatoolkit_4.0.17_win_
gpucomputingsdk_4.0.19_win_
cudatools_4.0.17_win_
CUDA4_
注意驱动选择台式机或者笔记本版本。安装顺序分别是devdriver_4.0Îcudatoolkit_4.0.17ÎgpucomputingsdkÎcudatools。 2.2.1 安装驱动
驱动程序是一个自解压程序包,默认解压到C:NVIDIA,在安装驱动时,发生了类似下面情况如图5:
图5 驱动安装失败
在确定驱动程序版本足够新的前提下,上述情况是因为硬件ID号没有包含在驱动安装包的inf文件里面造成的,解决方法如下:
右键"计算机"点“属性”打开你的设备管理器,然后在显示适配器里面。右键你的显卡,点“属性” 如下图:
图 6 获取GPU硬件ID
如上图6所示,获取GPU硬件ID。我的GPU也是GT540M,硬件ID是:
PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA&REV_A1 PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA
PCIVEN_10DE&DEV_0DF4&CC_030000
PCIVEN_10DE&DEV_0DF4&CC_0300
这里GT540M的代号是0DF4。
在驱动解压包里面找到子文件夹,然后搜索nv*.inf,不同公司拥有各自的inf文件,按照你买的品牌来确认修改哪个文件。我买的是联想V470A-ifi,那么该文件是,在这几个安装信息里面修改。说明:常见厂商用的文件:
宏碁是
华硕是
联想是
戴尔是
特别说明:是仁宝,夹杂仁宝代工的DELL,联想和Gateway。
打开,搜索0DF4,需要修改的地方有2处,具体如下图7(a)、(b)所示:
图7(a) 图7(b)
主要是把图7(a)中的第2句替换为我们刚才得到的硬件ID:
PCIVEN_10DE&DEV_0DF4&SUBSYS_397D17AA
修改完毕保存后,重新点击,就能够正常安装了。
2.2.2 安装toolkit、SDK
由于toolkit安装时默认到C盘,我选择自定义安装路径到D:盘,不过在选择路径时,要注意toolkit中的profiler路径与其它组件路径相对独立,要仔细设置。另外,如果没有采用默认路径,安装会提示是否恢复默认设置,要仔细选择。
SDK安装比较简单,只要更改好路径就可以,我也是选择安装到D盘。
安装完毕后,重启一遍系统。
三 配置VS2008
3.1 增加cu和cuh扩展名到VS2008
让vs2008的文本编辑器识别.cu与.cuh格式文件,首先是tools-options-text
editor,添加过程如图9: 图9
在工具Î项目和解决方案 ÎVC++ 项目设置ÎC/C++ 文件扩展名,加上*.cu,
包括的扩展名(Extensions To Include)加上;.cuh.,使得工程自动识别cu文件。如图10:
图10
3.2 语法高亮设置
把默认路径在:C:ProgramDataNVIDIA CorporationNVIDIA GPU
Computing SDK 4.0docsyntax_highlightingvisual_studio_8文件夹下的文件拷到VS2008安装目录的common7IDE目录下就可以了。
3.3 添加CUDA bin、include、lib路径到VS2008
工具Î选项Î 项目和解决方案ÎVC++目录,我是64bit的操作系统,所以选择平台为x64(我就是粗心忽略了这里导致惨痛后果,耽误大量时。然后依次设置可执行文件、包含文件、库文件、源文件就可以了。具体如间)下图11(a)-(d)所示。
图11(a)可执行文件设置
图11(b)包含文件设置 图11(c)库文件设置
图11(d)源文件设置
考虑到软件安装好不会再随意变动,因此这里采用的都是绝对路径。
3.4 编译cutil链接库以及环境变量设置
cutil链接库是CUDA程序运行必需库,但CUDA4.0中没有提供现成的,需要自己编译并得到,,, 共4个文件。进入D:NVIDIA GPU Computing SDK 4.0Ccommon,找到cutil_,打开,设置编译平台为x64,然后分别编译Debug,Release就可以了。
图 12
为了防止自己的程序编译好运行时出现找不到cutil*.dll的错误警告,需要把上述cutil*.dll所在路径加入系统环境变量。
图 13 做好上述工作,注销一遍系统。
四 CUDA程序编译配置
由于赵开勇博士的wizard只更新到了支持SM13,不支持SM20/21,所以我选择nvidia自带的编译rules。这种方式缺点是:每次建立一个工程,都要设置一遍,显得非常繁琐,这里我们详细记录一下以备忘。
1)新建一个空的Win32控制台应用程序
图14
2)配置运行平台,设置为x64,因为默认没有,所以要自主设定。
图15
3)加入自己的*.cu、*.cuh、*.cpp、*.h文件,然后右键点击待设置工程,设置“自定义生成规则”。 图16
4)选择规则文件
图17
如果没有上述规则,则点击“查找现有的”按钮,选择*.rules文件所在路径。或者把toolkit中的..visual_studio_integrationrules下的4个*.rules文件拷贝到VS2008中..VCProjectDefaults下就可以。
5)右键点击待设置工程,选择“属性”,使得C++编译器、链接器和CUDA编译器能够兼容工作。主要设置项包括C/C++Î代码生成Î运行库、链接器Î输入Î附加依赖项、链接器Î高级Î目标计算机、CUDA Runtime API Î GPU
ÎGPU Architecture(1)(-3)、CUDA Runtime APIÎHostÎtarget machine platform(目标计算机)和Runtime library(运行时库)。总体而言比较繁琐。其中运行时库要吻合,如/MD /MT /MDD /MTD。目标计算机都是X64。如图18所示。 图18(a) C/C++Î代码生成Î运行库
图18(b) 链接器Î输入Î附加依赖项
图18(c) 链接器Î高级Î目标计算机 图18(d) CUDA Runtime API Î GPU ÎGPU Architecture(1)-(3)
图18(e) CUDA Runtime APIÎHostÎtarget machine platform(目标计算机)和Runtime library(运行时库)
如果能够确保上述工作全部完整无误设置,应该能够正确编译程序了。
五 编译CUDA代码时的注意事项和常见问题解决
1 找不到头文件
检查VS2008的工具Î选项Î 项目和解决方案ÎVC++目录设置情况,确认:1)是否平台设置错了;2)最好采用绝对路径;3)检查在输入路径时有无失误; 2 找不到cutil*.lib
1)进入D:NVIDIA GPU Computing SDK 4.0Ccommonlib,看是否有cutil*.lib存在,如果不存在,进入D:NVIDIA GPU Computing SDK 4.0Ccommon,找到cutil_,在x64平台, debug和release编译模式下,即可生成。
2)进入VS2008 工具Î选项Î链接器Î输入Î附加依赖项,看是否添加入了cutil*.lib和。
3 链接错误
这是因为C++编译器和CUDA编译器的运行时库不一致所致。请按照图18(a)和18(e)说明来修正;
4 程序编译好,运行提示找不到cutil*.dll
这是因为cutil*.dll的路径没有被找到所致,解决方法见图13。
发布评论