说明
本文主要通过图片,外加一些文字进行说明。
通过本文,希望你初步学会使用 nVidia CUDA SDK v3.2 , 享受GPU 编程带给你的乐趣。学会使用 CUDA ,你就可以在使用了 nVidia 显卡的机子上进行 GPU编程了。
相关资料
用 CUDA sdk编写的程序,相关的文件结尾一般是 *.cu ,这些程序一般称之为 kernels 。 一个 kernel 就是一个结构单元,它能在 GPU 上并行执行。在 GPU 上可以同时执行成千上万个线程。在进行 GPU 编程之前,你需要先学会如何搭配好环境。
入门之九步
通过以下步骤,你将学会如何创建一个能够调用 CUDA 3.2 sdk的 VS2010 工程。
请先到 nVidia的官方网站 (http://developer.nvidia.com/cuda-toolkit-32-downloads#Windows%20XP,%20Windows%20Vista%20and%20Windows7) 下载相应的安装包,按照说明,安装好 CUDA 3.2 SDK 。 然后启动 Visual Studio 2010 。
1. 创建一个 Win32 Console Project
2. 选择 'Empty Project'
创建好工程后,在 "Application Settings"步骤中, "Application Options" 列表中选择 'Empty Project' 。这样就可以创建一个空工程,我们将在后面的步骤中添加相应的源码文件。
3. Add your CU file
想工程添加一个后缀为 .cu的 C++ 源码文件。以 .cu 结尾的源码文件将用 nvidia 的编译器驱动程序 nvcc.exe 进行处理,处理后的文件再发送给 VS2008 C 编译器。
4. 检查编译设置项
IDE为 VS2010 时,如果 CUDA SDK 安装成功,你能在目录 program files/MSBuild/Microsoft.Cpp/v4.0/BuildCustomizations 下见到如下图所示的文件。如果下图中选中的文件不存在,则说明 SDK没有安装成功。
5. 改变 Platform Toolset
把 Platform Toolset 变更为 v90 。 CUDA SDK 3.2 只支持 VS2010 的 IDE,不支持其编译环境。所以,你要确保 VS2008 的 toolset( 其实是编译器 compilers) 已经安装上。如下图所示,你可以在项目的属性工具的相应页上变更 toolset。
6. 变更 CU 文件的文件类型
在项目的属性对话框上,把添加的 CU文件的 Item Type 变更为 CUDA C/C++ 。
7. 选择编译选项
通过工程的相关菜单打开 build customization 对话框,选中编译选项 CUDA 3.2 。
8. 添加 CUDA 库文件
通过 Linker->Input->Additional Dependencies ,在这行栏中添加 CUDA的库文件 cuda.lib 和 cudart.lib 。
9. 写出你的第一个 CUDA 程序,并编译
#include <stdio.h>
#include <assert.h>
#include <cuda.h>
#include <cuda_runtime.h>
int main( int argc, char** argv )
{
float* d_A;
cudaMalloc( (void**) &d_A, 100 * sizeof(float) );
cudaFree( d_A );
return 0;
}
生成:
图8生成结果
重要提醒:程序最好不要放在含有汉字的目录下,如果提示有规则错误,先关闭VS,然后把解决方案目录下的那个数据库,Debug文件夹删除。项目目录下的Debug也删除。这主要是由于两家公司(Nvidia、Microsoft)的问题。
为了让你相信我的配置是成功的,我把我的一个图像处理结果贴出来。
Lenna原图 | Lenna锐化结果 |
很需要的额外的两步:
一、将SDK目录下:…/NVIDIA GPU Computing SDK 4.0/C/doc/syntax_highlighting/visual_studio_8 。将此目录下的usertype.dat拷贝到…/Microsoft Visual Studio 10.0/Common7/IDE目录下。
二、在菜单栏中选择“工具”->“选项”。然后按照图示操作就行了。操作完后,记得重启VS2010。
原文:http://www.codeproject.com/Tips/186655/CUDA-3-2-on-VS2010-in-9-steps.aspx