最近腦袋越來越差,記憶力實在靠不住,所以決定老實一點做個記錄,以後要查也方便
話說近來因為需要,有空便在嗑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>
3. 輸入compiler的名字,比如 NVIDIA NVCC CUDA Compiler,按OK
4. 接著在新增的compiler底下點開標籤<Toolchain executables> (4,5,6參考同一張圖)
5. 於Compiler's installation directory中輸入nvcc所在的路徑(每個人的路徑可能不盡相同)
6. 在C、C++ compiler、Linker等空格中填入nvcc,Debugger選GDB
7. 完成上述步驟後,接著點開標籤<Search directories>
8. 在次標籤<Compiler>底下的空格輸入 "/common/inc" 的完整路徑
9. 在<Compiler>的隔壁標籤<Linker>下方的空格填入 "/lib" 和 "/common/lib/(你用的系統)" 的完整路徑,完成後點OK
STEP 2 -- 建立CUDA檔(*.cu)的分類標籤
1. 依次點選選項 Project --> Project tree --> Edit file types & categories
2. 點選新視窗中的 Add,輸入名稱"CUDA sources",完成後點選該名稱並在下方空格鍵入"*.cu;",按OK
STEP 3 -- 到目前為止基本設定已經完成,這個步驟關於如何編譯 .cu 檔
1. 首先你已有一份寫好的 .cu 檔,比如說"add.cu",在Code::Blocks視窗的資源列表中點選 add.cu,然後按右鍵選 Properties
2. 在標籤<Build>中勾選 "Compile file" 和 "Link file",按OK
STEP 4 -- 其他設定
1. 從上排標籤列點選 Settings --> Compiler
2. 選擇 NVIDIA NVCC CUDA Compiler
3. 選取標籤 <Other settings>,再點選右下方<Advanced options...>鈕
4. 按 Yes
5. 首先在彈出視窗點選標籤<Commands>,選擇 "compile single file to object file"
6. 將 command line macro 中的字替換成 $compiler --compiler-options "$options" $includes -c $file -o $object
7. 下一步進入標籤<Ouput parsing>
8. 在左側<Parsing expressions>選單中選取 'Instantiated from' info,接著將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ]+([iI]nstantiated from .*) (直接複製貼上)
9. 同樣在標籤<Ouput parsing>,於<Parsing expressions>選單中選取 Compiler warning,將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ]([Ww]arning:[ ].*) (直接複製貼上)
10. 同樣在標籤<Ouput parsing>,於<Parsing expressions>選單中選取 Compiler error,將左側<Regular expression>空格中的文字替換成 ([][{}() #%$~A-Za-z0-9_:+/\.-]+)[(:]([0-9]+)\)?:[ ](.*) (直接複製貼上)
11. 按OK之後完成
完成了啊啊啊啊啊
之後就可以用NVCC來做專案了
至於CUDA的撰寫...有機會再來分享 (欸)