CUDA代碼的高亮設置

如下基於「WIN7(64位)+Visual Studio 2010+CUDA7.5」函數

 

  語法高亮除了看起來舒服以外,還可使用F11尋找函數、變量定義,輸入函數的時候也會有相應的提示。下面就是關於CUDA代碼的高亮設置。spa

  在搭建好CUDA開發環境後,當打開.cu文件時會發現,其中的CUDA C/C++關鍵字並無高亮顯示,如__global__、__device__等,並且還有下劃曲線。這是由於編譯器並無將它們識別爲關鍵字。如下就逐一介紹CUDA C/C++關鍵字和函數的語法高亮顯示、配置Visual AssistX函數高亮、代碼提示等,涉及三部分設置:.net

 

一、.cu文件中C/C++關鍵字高亮orm

  這個設置是爲了當編輯.cu文件時,讓Visual Studio 2010把.cu文件裏的C/C++語法高亮。其餘的Visual Studio 20十二、Visual Studio 2013也與此相似。
  設置方法:blog

在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關鍵字高亮顯示。開發

 

二、CUDA關鍵字高亮文檔

  爲了讓CUDA中的關鍵字,如__global__、__device__、dim3等之類的文字高亮,須要以下操做:字符串

  把「SDK_PATH\C\doc\syntax_highlighting\usertype.dat」該文件複製到「X:\Program Files (X86)\Microsoft Visual Studio 10.0\Common7\IDE\」目錄下get

這裏「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、char一、char2等等。這樣的話,一個解決方案就是,直接用低版本里的usertype.dat文件,而另一個解決辦法,就是本身直接寫一個usertype.dat文件,這樣能夠隨意添加遇到的關鍵字,方法就是:新建一個txt文檔,按一個關鍵字一行的方式,把全部本身想高亮的關鍵字手動敲進去,完了把後綴.txt改成.dat便可。

  按上述方法將usertype.dat放到指定目錄下後,重啓Visual Studio 2010,從新打開.cu文件,CUDA的關鍵字應該就高亮成藍色的了。 


三、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

CUDA高亮顯示

相關文章
相關標籤/搜索