2011年9月2日 星期五

在 Linux 下修改 CUDA SDK Makefile 達成 Compute Capability 設定

 一般 CUDA 設計教學,都會要求初學者直接修改 CUDA SDK 的 template 範例。目前我使用的 Device 為 NVIDIA Tesla C1060 ,可支援 Compute Capability 1.3 以下的運算,但若直接使用 make 的指令, Compiler 會預設使用 Compute Capability 1.0 來運行。

然而網路上常看到的設定方式,都是在 Window 下,透過 Microsoft Visual 圖形化介面設定; Linux 上,則都是直接設定 NVCC 編譯器的參數,鮮少有 SDK 範例的修改。因此使用者若想使用 SDK 的範例,並指定 Compute Capability 的版本,可將欲編譯的程式之 Makefile 的主函數描述進行修改:
  • CUFILES_sm_XX    := 主函數檔名.cu
紅色為添加的部份,其中 XX 為 Compute Capability 版本,10 為 1.0 版、11 為 1.1 版,以此類推。使用者可以嘗試在程式中,添加原子函數、Warp Vote 指令來觀察 Compiler 使用的Compute Capability 版本,1.1 版以上才支援原子函數, 1.2 版以上才支援 Warp Vote 指令。

參考資料:

沒有留言:

張貼留言