解决问题:
语法高亮除了看起来舒服之外,可以使用F11寻找函数,变量定义,打函数的时候也会有相应的提示。
下面是关于代码高亮的设置。共三个设置
1. .cu .cuh 文件高亮
这个设置是让VS2010编辑.cu文件时,把.cu文件里的C/C++语法高亮。
设置方法: 在VS2010的菜单 依次点击:工具->选项->文本编辑器->文件扩展名 ,在这个界面里: “编辑器(I)”下拉框选microsoft visual ++,在“扩展名”文本框输入.cu 点击“添加”按钮 ,重复工作把.cuh 添加为vc++类型,点击确定按钮。 把全部.cu文件关闭,再打开,.cu文件C++关键字就高亮了。如果不行就重新VS2010。
但是CUDA的关键字还是黑色的,下一步把CUDA关键自高亮显示
2. CUDA关键字高亮
为了让CUDA的关键字,象 __device__、dim3之类的文字高亮,需要如下步骤:
把SDK_PATH\C\doc\syntax_highlighting\usertype.dat 复制到X:\Program Files (X86)\Microsoft Visual Studio 10.0\Common7\IDE\ 目录下
这里 X:是安装VS2010盘符,这是win7 64位下的路径。
注意:win7 64系统不要复制到这个目录里,复制到这里是不会CUDA关键字高亮的:
X:\Program Files \Microsoft Visual Studio 10.0\Common7\IDE\
(如果你的win7是32位的,可能正好是上面这个目录,应该会高亮的,这可能是win7 64位和32位的差别吧)
再次强调:SDK_PATH要换成你安装SDK的实际路径,不要直接使用这个字符串。
但是6.0的版本安装完成后貌似没有了这个文件(一开始以为是安装错了,重新下载了一个重新安装后还是没有),这样便无法高亮了,在网上查了很多之后,
发现usertype.dat 文件里面就是一堆CUDA扩展的关键字,如:__global__、__host__、__device__、__constant__、__shared__、gridDim、blockIdx、blockDim、threadIdx、char1、char2等,这样一个解决方案便是直接用低版本里的usertype.dat文件,或者自己直接写一个存成该名称,这样可以随意添加遇到的关键字;
这样采用了5.5的usertype.dat文件后,重启VS,cuda的关键字就是高亮的了;
VS2010需要重启,重启后打开.cu文件,CUDA的关键自应该变成蓝色了。
3. CUDA 函数高亮,及CUDA函数输入代码提示
实现这个功能就要使用VAssistX了。 首先安装支持VS2010的VAssistX。这个可以在CUDA 安装前、后安装都行。
需要两步实现需要的功能:
a) 让VAssistX支持CUDA函数高亮和代码完成
这个在VAssistX的菜单里设置完成:在Vs2010菜单里依次点击:
VassistX->Visual assist X Options->Projects->C/C++Directories
在这个界面的 “Platform”下拉框选 Custom,在“Show Directories for..“下拉框选 Other include files,
然后在下面的输入框里,新建、添加三个路径,点击确定,三个路径分别如下
SDK_PATH的\c\common\inc
SDK_PATH的\shared\inc
X:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include
这样分别在这三个目录里面的.h文件定义的函数和类型VAssistX会帮我们在编辑文件时候实现高亮和完成代码
如果少包含一个路径,这个目录里的.h定义的函数和类型就不会高亮和提示了。
b)让VAssistX支持.cu文件,也就是编辑.cu文件是VAssistX帮我们实现高亮和代码完成功能。这个需要编辑注册表了。
首先关闭VS2010,使用regedit打开注册表,找到如下位置:
HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet10
在右边找到ExtSource项目,鼠标右键选修改,在原有文字后添加如下文字:.cu;.cuh; 确定后
关闭注册表,重新打开vs2010,VAssistX开始支持.cu及.cuh文件的语法高亮及代码完成。
此时.cu文件了的CUDA函数是高亮的,使用函数名符号就会自动提示函数全称,参数类型等信息了。
但是红色波浪线也有可能是ASSIST X的UNDERLINE设置错误造成的,解决方法如下:
在VAssistX菜单栏->Visual Assist X Options->展开Advanced->Underlines->把underlines spelling errors in comments and strings using的勾去掉就行
另外,我设置完之后还发现__global__有波浪线,不过相应的包含这两个头文件即可
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
原文网址:http://blog.sina.com.cn/s/blog_a502f1a30101qm2g.html
CUDA6.0参考网址:http://blog.csdn.net/ai552368625/article/details/38438311