CUDA代码的高亮设置
以下基于“WIN7(64位)+Visual Studio 2010+CUDA7.5”。
语法高亮除了看起来舒服之外,还可以使用F11寻找函数、变量定义,输入函数的时候也会有相应的提示。下面就是关于CUDA代码的高亮设置。
在搭建好CUDA开发环境后,当打开.cu文件时会发现,其中的CUDA C/C++关键字并没有高亮显示,如__global__、__device__等,而且还有下划曲线。这是因为编译器并没有将它们识别为关键字。以下就逐一介绍CUDA C/C++关键字和函数的语法高亮显示、配置Visual AssistX函数高亮、代码提示等,涉及三部分设置:
1、.cu文件中C/C++关键字高亮
这个设置是为了当编辑.cu文件时,让Visual Studio 2010把.cu文件里的C/C++语法高亮。其他的Visual Studio 2012、Visual Studio 2013也与此类似。
设置方法:
在Visual Studio 2010的菜单栏中,依次点击Tools > Options… > Text Editor > File Extension,在这个界面里的“Editor”下拉菜单中选“Microsoft Visual C++”,在“Extension”文本框里输入.cu,然后点击“Add”。相同的操作,把.cuh添加为“Microsoft Visual C++”。把全部.cu文件关闭,再打开,.cu文件中的C/C++关键字就高亮了。如果不行就重启Visual Studio 2010。但是CUDA的关键字还是黑色的,下一步把CUDA关键字高亮显示。
2、CUDA关键字高亮
为了让CUDA中的关键字,如__global__、__device__、dim3等之类的文字高亮,需要如下操作:
把“SDK_PATH\C\doc\syntax_highlighting\usertype.dat”该文件复制到“X:\Program Files (X86)\Microsoft Visual Studio 10.0\Common7\IDE\”目录下
这里“X:”指的是安装Visual Studio 2010的盘符。注意,这是针对WIN7 64位的情况。注意区别,在WIN7 64位系统下,不要复制到“X:\Program Files \Microsoft Visual Studio 10.0\Common7\IDE\”这个目录里,复制到这里CUDA关键字是不会高亮的。而如果你的WIN7是32位的,则可能正好是“X:\Program Files \Microsoft Visual Studio 10.0\Common7\IDE\”这个目录(因为32位下也只有这个目录),复制到这个目录下应该会高亮的(我没试过)。
再次强调:SDK_PATH要换成你安装SDK的实际路径,不要直接使用这个字符串。
还有种情况是,6.0版本的CUDA安装完成后貌似没有“usertype.dat”这个文件(我的CUDA7.5就是这种情况),这样便无法用上面的方法来操作了。看到网上有人提到,usertype.dat文件里面就是一堆CUDA扩展的关键字,如__global__、__host__、__device__、__constant__、__shared__、gridDim、blockIdx、blockDim、threadIdx、char1、char2等等。这样的话,一个解决方案就是,直接用低版本里的usertype.dat文件,而另外一个解决办法,就是自己直接写一个usertype.dat文件,这样可以随意添加遇到的关键字,方法就是:新建一个txt文档,按一个关键字一行的方式,把所有自己想高亮的关键字手动敲进去,完了把后缀.txt改为.dat即可。
按上述方法将usertype.dat放到指定目录下后,重启Visual Studio 2010,重新打开.cu文件,CUDA的关键字应该就高亮成蓝色的了。
3、CUDA 函数高亮及CUDA函数输入代码提示
实现这个功能就要使用VAssistX了。首先安装支持Visual Studio 2010的VAssistX。这个可以在CUDA安装前、后安装都行。然后,有两种设置方法:
方法1:让VAssistX支持.cu文件,也就是当编辑.cu文件时,VAssistX帮我们实现高亮和代码完成功能
这个需要编辑注册表了。
首先关闭Visual Studio 2010,然后使用regedit打开注册表,找到如下位置:
HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet10
在右边找到“ExtSource”项目,鼠标右键选修改,在原有文字后添加如下文字:.cu;.cuh;,确定后关闭注册表,重新打开Visual Studio 2010,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"
方法2:让VAssistX支持CUDA函数高亮和代码完成
这个在VAssistX的菜单里设置完成:在Visual Studio 2010菜单里依次点击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文件定义的函数和类型就不会高亮和提示了。
References
http://blog.csdn.net/a2112233445566/article/details/50503980
CUDA代码的高亮设置的更多相关文章
- SecureCRT窗口输出代码关键字高亮设置
设置方法: 下载配置文件:本站下载:Highlights.css (下载重命名为 Highlights.ini ) 原站下载:http://download.feralpacket.org/La ...
- VS2015 安装mvc4安装包以及vs2010 sp1后导致Razor语法失效代码不高亮(能正常运行)/视图页面无法智能提示(.cshtml)解决办法
VS2015默认asp.net mvc 版本为5.0以上,默认不支持创建5.0以下的版本.所以想要使用mvc 4.0只能单独安装.在网上搜了几篇教程后在微软官网下载了Visual Studio 201 ...
- Clang调试CUDA代码
Clang调试CUDA代码全过程 有空再进行编辑,最近有点忙,抱歉 使用的llvm4.0+Clang4.0的版本,依据的是上次发的llvm4.0和clang4.0源码安装的教程https://www. ...
- xmake新增对Cuda代码编译支持
最近研究了下NVIDIA Cuda Toolkit的编译环境,并且在xmake 2.1.10开发版中,新增了对cuda编译环境的支持,可以直接编译*.cu代码. 关于Cuda Toolkit相关说明以 ...
- 使用代码为textview设置drawableLeft
xml中的textView中设置android:drawableLeft: <TextView android:id="@+id/bookTitle" android:lay ...
- [转]Haroopad Markdown 编辑器代码语法高亮支持
代码语法高亮 书写格式为: ` ` ` language_key if (condition){ return true } ` ` ` 在 ` ` ` (三个反引号)之间的是代码,其中languag ...
- phpBB论坛 代码 语法高亮 模块 Codebox Plus
phpBB代码语法高亮模块 Codebox Plus Code-By.Org (https://www.phpbb.com/customise/db/mod/codebox_plus/) (https ...
- Linux Eclipse代码提示功能设置(Java & C/C++)
最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...
- Android 代码编辑器中实现代码语法高亮
想写一款Android手机上的代码编辑器,实现类似c4droid中代码语法高亮 通过Android中的控件WebView中嵌入html网页,html引入CodeMirror这个第三方库就可以了,其实就 ...
随机推荐
- equal与==
首先做的是比较引用,引用的如果是同一个对象,直接返回true.做完return就结束了.如果引用不是同一个地址,就往下走,判断是否是String的一个实例.同样,不是的话直接返回.是的话,拿字符串的长 ...
- Nodejs创建客户端
Node 创建 Web 客户端需要引入 http 模块,创建 client.js 文件,代码如下所示: var http = require('http'); //用于请求的选项 var option ...
- SQLServer 事务隔离级别
MSSQL 事务级别 分类: 数据库2012-12-28 11:17 1050人阅读 评论(0) 收藏 举报 事务 级别 等级优化数据库 一个系统项目做大了,就会遇到性能问题.数据库的优化将是解决性能 ...
- gulp和grunt的区别
1. Grunt -> Gulp 早些年提到构建工具,难免会让人联想到历史比较悠久的Make,Ant,以及后来为了更方便的构建结构类似的Java项目而出现的Maven.Node催生了一批自动化工 ...
- chrome livestyle插件
1.sublime 安装 >step1: ctrl+shift+p >step2:ip >step3:livestyle >step4:配置ho ...
- Sql总结之Sql--常用函数
控制流函数 IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境 ...
- 你是否经常忘记网站上的各种密码?分享个密码管理软件LastPass
现在网络那么发达,我们上网的每个人势必会在各个网站上登陆,那势必会有一堆密码需要管理,那怎么能记住那么多网站的密码呢?我之前的做法是设置几个常用的密码,好多不重要的网站用一个,重要的网站用一个,然 ...
- 《SSM框架搭建》一.构建maven web项目
一.创建maven工程File-New-other-Maven Project 二.设置项目工作空间,取消默认勾选,手动设置 三.选择internal,输入web,选择maven.archetypes ...
- highCharts的多图导出
已实现HighChart的多图导出,不能上传文件,所以需要call我735734485.
- react使用过程记录
1, webpack使用,如果发现浏览器打不开,检查是不是 端口冲突 2, webpack报错,如下,加粗是不是 lodash加载的问题 >> A special character wa ...