0
讓我們假設我有一個代碼,讓用戶通過threads_per_block
來調用內核。然後我想檢查一下,如果輸入有效(例如< = 512,計算能力CC < 2.0和1024(對於CC> = 2.0))。編譯時的CUDA設備屬性和計算能力
現在我想知道如果我在使用CC2.0的計算機上顯示圖形卡時使用nvcc -arch=sm_13
編寫代碼時,如果用戶通過threads_per_block == 1024
,會發生什麼情況?是這樣的:
- 有效的輸入 - 因爲我運行該顯卡擁有CC2.0,或...
- 無效的,因爲我編譯它CC1.3?
或者nvcc -arch=sm_13
只是意味着CC1.3至少需要,但在較高的CC上運行它時,儘管可以使用那些較高的功能?
好的,謝謝so -arch選項只是指定了最低要求的計算上限。該程序是專爲......但是,當使用較高的CC,我也可以使用較高的CC的功能,對不對? – tim 2011-05-18 17:20:47
是的,當使用較高的CC時,編譯器可以使用在較低CC中不可用的PTX指令。 – Kris 2011-05-18 18:49:32