看过《高性能运算之CUDA》这本书的朋友,在新建自己的第一个CUDA程序时,肯定会遇到些问题,下面给出一些建议和心得:如何建立自己的第一个CUDA程序。
- 将NVIDIA SDK 主程序中的Template复制到自己的目录下。删除除了template.cu、template_kernel.cu、 template_gold.cpp和template.vcprj以外的所有文件。然后把文件名和文件中所有的“template”替换成matrixAssign。
- 添加CUDA BUILD RULE文件。
- 禁用matrixAssign_kernel.cu该文件的编译。(在VS窗口右击该文件,选择属性****)
- 修改matrixAssign.cu文件,将#include <template_kernel.cu>改成#include <matrixAssign_kernel.cu>。
- 为了防止出现找不到cutil_inline.h头文件的错误,修改VS的属性(TOOLS->VC++Directories),添加
inlude: $(NVSDKCUDA_ROOT)\common\inc
lib: $(NVSDKCUDA_ROOT)\common\inc
- 添加cutil32D.dll的寻找路径(防止出现找不到 cutil32D.dll的错误)
依次添加从下环境变量
CUDA_SDK_BIN_0: %NVSDKCUDA_ROOT%\bin\win32\Debug\
CUDA_SDK_BIN_1: %NVSDKCUDA_ROOT%\bin\win32\EmuDebug\
CUDA_SDK_BIN_2: %NVSDKCUDA_ROOT%\bin\win32\EmuRelease\
CUDA_SDK_BIN_3: %NVSDKCUDA_ROOT%\bin\win32\Release\
PATH: %CUDA_SDK_BIN_0%;%CUDA_SDK_BIN_1%;%CUDA_SDK_BIN_2%;%CUDA_SDK_BIN_3%;原来的PATH设置
一般来说,通过该设置,就可以解决编译程序时“找不到cutil_inline.h"头文件错误 和 运行程序时“找不到cutil32D.dll”的错误。这样,自己的第一个名为matrixAssign的CUDA程序的初使化设置就做好了。
PS:设置环境变量后,必须关闭环境变量设置窗口,但不必注销或重启计算机,该设置就可生效。