我嘗試使用CUDA SDK中的ptxjit樣本作爲儀器與GPU設備的交互基礎。加載PTX以CUDA功能運行時,以編程方式返回錯誤209.0
我已經成功地編譯了檢測代碼,並控制設備加載並執行具有CUDA功能2.0的Geforce GT440的PTX模塊。
在使用具有CUDA功能5.0的Geforce 830M(使用大黃蜂控制獨立GPU的筆記本電腦)系統上編譯相同的工具代碼時,代碼會編譯但會提供209(CUDA_ERROR_NO_BINARY_FOR_GPU)。
我試圖編譯內核以與CUDA功能5.0兼容,但沒有成功,仍然是相同的錯誤。
任何想法?
沒有[MCVE],很難說出什麼問題。通常情況下''CUDA_ERROR_NO_BINARY_FOR_GPU'意味着你要麼沒有代碼的CUBIN沒有正確的體系結構,要麼你的PTX包含語法錯誤,或者在JIT編譯過程中包含其他內容,導致編譯調用失敗。 – talonmies
正如我所提到的,我使用CUDA SDK上提供的代碼,但我會將它的一部分與ptx一起復制。 – prmottajr
你真的在構建和運行CUDA SDK附帶的ptxjit示例項目嗎?或者你是否將這個ptxjit示例代碼放入你自己的項目中?你正在使用哪種CUDA版本? –