CUDA之VS2010中配置CUDA5.0

原文地址:https://i-blog.csdnimg.cn/blog_migrate/046edd9cf044f2a708d9f473deaab8a7.png


1、安装之前必须确认自己电脑的GPU支持CUDA。在设备管理器中找到显示适配器(Display adapters),找到自己电脑的显卡型号,如果包含在http://www.nvidia.com/object/cuda_gpus.html的列表中,说明支持CUDA。

安装CUDA之前最好检查一下自己电脑的显卡驱动版本,版本过老的话,需要更新。有时候安装完毕CUDA之后,运行6中的deviceQuery程序时会出错,请优先考虑显卡驱动的问题。

2、下载NVIDIA CUDA Toolkit ( http://www.nvidia.com/content/cuda/cuda-downloads.html),本人下载的是desktop版本win32

CUDA5.0已经将ToolKit和SDK等整合在了一起,因此只需下载一个安装文件即可。

3、首先确认自己已经安装Visual Studio 2010 后再安装助手Visual Assist X。这里Visual Assist X 对于使用CUDA 不是必须的,但为了使程序编写更为方便,这里推荐安装。

4、CUDA的默认安装目录为:C:\Program Files\NVIDIA GPU Computing Toolkit\ 这里推荐使用默认的安装路径,不需更改。

5、安装完成后,在系统环境里面会发现新添加了两个环境变量:CUDA_PATH_V5_0和CUDA_PATH。但是这些还不够。保险起见,手动配置环境变量。在系统环境变量中新建如下项:

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\common
CUDA_LIB_PATH = %CUDA_PATH%\lib\Win32
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\Win32
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\Win32

然后在系统环境变量Path 后添加如下内容:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;


6、此时CUDA已经安装成功。可以测试运行。

(1)、启动命令行,Start > All Programs > Accessories > Command Prompt,输入nvcc -V查看版本信息。

(2)、运行例子程序deviceQuery。路径在如下位置:

Windows XP:
C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\CUDASamples\v5.0\C\bin\win32\Release

Windows Vista, Windows 7, Windows 8, Windows Server 2003, and Windows Server2008:
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\C\bin\win32\Release

(详见http://download.csdn.net/detail/diyoosjtu/4945848

运行结果如下:


(3)、运行bandwidthTest示例程序,结果如下:


(4)、运行Particles示例程序,观看效果。

若以上都运行正常,说明CUDA安装成功。


7、CUDA C/C++关键字及函数高亮显示

这个设置是让Visual Studio2010 在编辑.cu 文件时,把.cu 文件里的C/C++语法高亮。设置方法: 在Visual Studio 2010 的菜单依次选“ Tools|Options|Text Editor|File Extension(工具|选项|文本编辑器|文件扩展名)”,在该窗口中将“Editor(编辑器)”下拉框选择“Microsoft Visual C++”,在“Extension(扩展名)”文本框中输入cu 点击“Add(添加)”按钮,重复工作把cuh 添加为Visual C++类型,添加完成后点击“OK(确定)”按钮,如下图所示:


为了让CUDA 的关键字,如__device__、dim3 等的文字高亮,需按如下步骤设置:
将C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\doc\syntax_highlighting\visual_studio_8 目录下的usertype.dat 文件复制到C:\Program Files\Microsoft Visual Studio10.0\Common7\IDE\ 目录下( 对x64 位Win7 系统为X:\Program Files(X86)\Microsoft Visual Studio 10.0\Common7\IDE\)。重启Visual Studio 2010 后打开.cu 文件,CUDA 的关键字应该变成蓝色了。


8、CUDA 函数高亮,及CUDA 函数输入代码提示

实现这个功能需要使用Visual Assist X,如果没有安装支持Visual Studio 2010的Visual Assist X,这部分功能无法实现。这里只是为使编写代码更加方便,对CUDA 程序的开发无实质性障碍。
如果已经安装Visual Assist X,可以通过以下两步实现需要的功能。
1)使Visual Assist X 支持CUDA 函数高亮和代码完成
在Visual Studio 2010 的菜单里依次选择:“ VAssistX|Visual assist X Options|Projects|C/C++Directories”,在该界面的“Platform”下拉框中选择Custom,在“Show Directories for”下拉框中选择Other include files, 然后在下面的输入框里,新建、添加如下路径,如图:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\common\inc


使Visual Assist X 实现.cu 文件高亮和代码完成功能,需要编辑注册表。在修改注册表时,为避免带来不必要的错误请先关闭Visual Studio 2010。使用Win+R组合键打开“运行”窗口,键入入regedit 命令(register edit 的缩写)打开注册表,找到如下位置:HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet10。在右边找到ExtSource 项目,鼠标右键选修改,在原有文字后添加如下文字:.cu;.cuh; 确定后关闭注册表。重新打开Visual Studio 2010,Visual Assist X 便开始支持.cu 及.cuh 文件的语法高亮及代码完成。此时.cu 文件的CUDA 函数是高亮的,使用函数名符号就会自动提示函数全称,参数类型等信息。

修改注册表时,请把vs关闭,否则修改不成功。

9、其余的重要配置:

在“Additional Libraries Directories”下添加“$(CUDA_PATH_V5_0)\lib\$(Platform);”(下图只是示意,其中的路径按照自己安装之后的来设置,也可以直接定位到文件夹的绝对路径


在“Additional Dependencies”中添加“cudart.lib;”



10、经过上面的安装,开发程序应该没问题了,但会发现有如下的问题:

(1). VS2010显示.cu文件时,有很多CUDA函数下有波浪线

(2). 在.cu文件里使用VS2010的“Go to definition”功能查无法找到CUDA函数的定义。

这两个问题的原因是VS2010不认识这些函数,没有指定它们在那个头文件里包含的。解决方法其实是一样的,把CUDA tookit 和CUDA SDK的头文件路径加到VS2010的VC++目录里面。

解决方法如下:

在VC++目录的include directories中,添加C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include

如下图所示:



到此,所有的配置都已经完成了。

O(∩_∩)O~

11、创建工程

在Visual Studio 2010 菜单选择“file|new|project(文件|新建|工程)”,在打开的新建项目窗口的“已安装的模板”一栏中选择“NVIDIA|CUDA”,类型选择为“CUDA 5.0 Runtime”,见下图。

在“名称”中输入工程名后,点击确定。可对系统提供的kernel.cu 示例进行编译运行,运行结果如下图。

将kernel.cu中的main函数重命名后,添加新的.cu文件,写入如下代码:

[cpp]  view plain copy
  1. #include< stdio.h>  
  2. #include "cuda_runtime.h"  
  3. #include "device_launch_parameters.h"  
  4.   
  5. bool InitCUDA()  
  6. {  
  7.     int count;  
  8.     cudaGetDeviceCount(&count);  
  9.     if(count == 0)  
  10.     {  
  11.         fprintf(stderr, "There is no device.\n");  
  12.         return false;  
  13.     }  
  14.     int i;  
  15.     for(i = 0; i < count; i++)  
  16.     {  
  17.         cudaDeviceProp prop;  
  18.         if(cudaGetDeviceProperties(&prop, i) == cudaSuccess)  
  19.         {  
  20.             if(prop.major >= 1)  
  21.             {  
  22.                 break;  
  23.             }  
  24.         }  
  25.     }  
  26.     if(i == count)  
  27.     {  
  28.         fprintf(stderr, "There is no device supporting CUDA 1.x.\n");  
  29.         return false;  
  30.     }  
  31.     cudaSetDevice(i);  
  32.     return true;  
  33. }  
  34.   
  35. int main()  
  36. {  
  37.     if(!InitCUDA())  
  38.     {  
  39.         return 0;  
  40.     }  
  41.     printf("HelloWorld, CUDA has been initialized.\n");  
  42.     return 0;  
  43. }  

用 Ctrl+F5 运行,通过nvcc编译成功,输出结果:


成功!!

http://blog.csdn.net/mrzhufeng/article/details/9186515

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值