close

最近腦袋越來越差,記憶力實在靠不住,所以決定老實一點做個記錄,以後要查也方便

話說近來因為需要,有空便在嗑CUDA (平行運算的威力好驚人啊啊)

想練CUDA遇到的第一個挑戰便是撰寫平台的各種安裝設定

因為我是在Linux Ubuntu底下做事,所以選了Code::Blocks

Code::Blocks安裝事小,去Software搜尋後下載便可安裝完事

接下來在Code::Blocks安裝nvcc compiler才是重頭戲

以下內容參考自這篇文章

 

 

STEP 1 -- 在Code::Blocks建立新compiler

1. 從上排標籤列點選 Settings --> Compiler

2. 先確認上方<Selected compiler>中的<GNU GCC Compiler>是被選取的,然後按下<Copy>

1  

 

3. 輸入compiler的名字,比如 NVIDIA NVCC CUDA Compiler,按OK

2

 

 

 

4. 接著在新增的compiler底下點開標籤<Toolchain executables> (4,5,6參考同一張圖)

5. 於Compiler's installation directory中輸入nvcc所在的路徑(每個人的路徑可能不盡相同)

6. 在C、C++ compiler、Linker等空格中填入nvcc,Debugger選GDB

3  

 

7. 完成上述步驟後,接著點開標籤<Search directories>

8. 在次標籤<Compiler>底下的空格輸入 "/common/inc" 的完整路徑

4  

 

9. 在<Compiler>的隔壁標籤<Linker>下方的空格填入 "/lib""/common/lib/(你用的系統)" 的完整路徑,完成後點OK

5  

 

STEP 2 -- 建立CUDA檔(*.cu)的分類標籤

1. 依次點選選項 Project --> Project tree --> Edit file types & categories

2. 點選新視窗中的 Add,輸入名稱"CUDA sources",完成後點選該名稱並在下方空格鍵入"*.cu;",按OK

6  

 

STEP 3 -- 到目前為止基本設定已經完成,這個步驟關於如何編譯 .cu 檔

1. 首先你已有一份寫好的 .cu 檔,比如說"add.cu",在Code::Blocks視窗的資源列表中點選 add.cu,然後按右鍵選 Properties

2. 在標籤<Build>中勾選 "Compile file" 和 "Link file",按OK

7  

 

STEP 4 -- 其他設定

1. 從上排標籤列點選 Settings --> Compiler

2. 選擇 NVIDIA NVCC CUDA Compiler

3. 選取標籤 <Other settings>,再點選右下方<Advanced options...>

8  

 

4. 按 Yes

9  

 

5. 首先在彈出視窗點選標籤<Commands>,選擇 "compile single file to object file"

6. 將 command line macro 中的字替換成  $compiler --compiler-options "$options" $includes -c $file -o $object

10  

 

7. 下一步進入標籤<Ouput parsing>

8. 在左側<Parsing expressions>選單中選取 'Instantiated from' info,接著將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ]+([iI]nstantiated from .*)  (直接複製貼上)

11  

 

9. 同樣在標籤<Ouput parsing>,於<Parsing expressions>選單中選取 Compiler warning將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ]([Ww]arning:[ ].*)  (直接複製貼上)

12  

10. 同樣在標籤<Ouput parsing>,於<Parsing expressions>選單中選取 Compiler error將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ](.*)  (直接複製貼上)

13  

11. 按OK之後完成

 

完成了啊啊啊啊啊 

 

之後就可以用NVCC來做專案了

至於CUDA的撰寫...有機會再來分享 (欸)

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 CCCharles 的頭像
    CCCharles

    CCCharles的部落格

    CCCharles 發表在 痞客邦 留言(0) 人氣()