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这个第三方库就可以了,其实就 ...
随机推荐
- [转载]http协议 文件下载原理及多线程断点续传
最近研究了一下关于文件下载的相关内容,觉得还是写些东西记下来比较好.起初只是想研究研究,但后来发现写个可重用性比较高的模块还是很有必要的,我想这也是大多数开发人员的习惯吧.对于HTTP协议,向服务器请 ...
- tr:even 与tr:odd
:even匹配所有索引值为偶数的元素,从 0 开始计数查找表格的1.3.5...行(即索引值0.2.4...)<table> <tr><td>Header 1< ...
- WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default i
jdbc连接数据库候,对数据进行访问,访问正常当出现如下警告: WARN: Establishing SSL connection without server's identity verifica ...
- 1,SFDC 开发篇 - 类对象和SOQL查询
1,类对象 & 接口 & 属性 2, Object & SOQL
- python模块之subprocess
可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen* --废弃 popen2.* --废弃 commands.* ...
- Linux:添加永久路由
没有以下文件时,可创建 vim /etc/sysconfig/network-scripts/route-eth0添加如下信息:192.168.142.100/32 via 192.168.142.1 ...
- MS - 1 - 把二元查找树转变成排序的双向链表
## 1. 把二元查找树转变成排序的双向链表 ## ### 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表. ### 要求不能创建任何新的结点,只调整指针的指向. 10 ...
- 将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法
获得对象的所有属性名 || 将对象o的所有属性名放到数组中 var o = {x:1,y:2,z:3}; var arr = []; var i = 0; for(arr[i++] in o){};/ ...
- C#正则提取html图片等
去除html标记,比较实用,分享给大家. /// <summary> /// 去除HTML标记 /// </summary> /// <par ...
- Java程序员必须知道的10个调试技巧
调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序. 但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...