首先安装CUDA Driver,CUDA Toolkit 以及SDK,大家可以在Nvidia的官方网站上面下载。
我用的编译环境是windows, vs 2005
文本编辑
由于CUDA使用的源文件是.cu文件,因此默认情况下VS不会识别它里面的语法,会把它当成普通的txt文件。
Tools->options,左侧树形图展开Text Editor,在File Extension子项中:
Extension:cu Editor:Microsoft Visual C++
点击Add,这样cu文件就会被当做cpp文件显示了。由于VS不会立即更新,需要重新启动VS。
这样我们在vs中打开cu后缀的文件,c语言的语法就会高亮显示了。
这里以 Visual Studio 2005 为例:
- 首先,建立一个 Win32 Console 模式的 project(在 Application Settings 中记得勾选 Empty project),并新增一个档案,例如 main.cu。
- 在 main.cu 上右键单击,并选择 Properties。点选 General,确定 Tool 的部份是选择 Custom Build Tool。
- 选择 Custom Build Step,在 Command Line 使用以下设定:
- Release 模式:"$(CUDA_BIN_PATH)/nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)/$(InputName).obj $(InputFileName)
- Debug 模式:"$(CUDA_BIN_PATH)/nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)/$(InputName).obj $(InputFileName)
- 如果想要使用软件仿真的模式,可以新增两个额外的设定:
- EmuRelease 模式:"$(CUDA_BIN_PATH)/nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)/$(InputName).obj $(InputFileName)
- EmuDebug 模式:"$(CUDA_BIN_PATH)/nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)/$(InputName).obj $(InputFileName)
- 对所有的配置文件,在 Custom Build Step 的 Outputs 中加入 $(ConfigurationName)/$(InputName).obj。
- 选择 project,右键单击选择 Properties,再点选 Linker。对所有的配置文件修改以下设定:
- General/Enable Incremental Linking:No
- General/Additional Library Directories:$(CUDA_LIB_PATH)
- Input/Additional Dependencies:cudart.lib
这里是每个cu的文件的配置。
简单的例子,vs 2005那例
1.创建一个空的Win32 Console 模式的 project(在 Application Settings 中记得勾选 Empty project).
2.创建一个文本文档命名为main.cu,不会插图,就不截图了
3.按上面的方式配置cu文件
4. 在cu文件中编写如下代码
5.编译运行。