2011年9月2日 星期五

在 Linux 下直接使用 NVCC 編譯 CUDA SDK 程式

CUDA SDK 不僅提供使用者一些範例程式,使用者也可透過修改 template 範例來設計自己的程式。以往使用者在 Linux 下,都是透過該範例提供的 Makefile 進行編譯,並載入 CUDA SDK 提供的 common.mk 來設定相關編譯參數。然而使用者有時會依需求來決定編譯參數,但在不了解 common.mk 的參數設定之情況下,很難修改其內容。

關於修改 Makefile 來設定 Compute Capability 版本,可參考此篇:

於是,本篇將提供在 CUDA SDK 下直接使用 NVCC 編譯:
  1. 先切換至欲編譯的檔案位置。 (SDK 程式範例為 test )
    •  cd /home/使用者/NVIDIA_GPU_Computing_SDK/C/src/test/
  2. 使用 NVCC 進行編譯。  (本環境之 Linux 使用 64 位元)
    •  nvcc test.cu -o test -arch sm_13 -I ../../common/inc -L ../../lib -lcutil_x86_64
  3. 執行程式
    •  ./test
其中,這次編譯的參數分別為:
  • -o test
    • 輸出檔名為 test
  • -arch sm_13
    • Compute Capability 使用 1.3 版本
  • -I ../../common/inc
    • 指定連結的 include 檔案位置
  • -L ../../lib
    • 指定連結的函數庫檔案位置
  • -lcutil_x86_64
    • Linux 為 32 位元則直接使用 -lcutil 即可

參考資料:

沒有留言:

張貼留言