2014-01-21 94 views
2

僅查看CUDA生成的代碼類型,除了目標文件之外,我還想編譯爲ptx。由於我的一些循環展開可能需要相當長一段時間,我想能夠編譯*.cu*.ptx*.o,而不是浪費時間與兩個*.cu*.ptx*.cu*.o,這我目前這樣做。NVCC使用PTX輸出單獨編譯

只需將-ptx添加到nvcc *.cu行即可獲得所需的ptx輸出。

使用ptxas -c來編譯*.ptx*.o工程,但導致我的可執行文件鏈接錯誤:Relocations in generic ELF (EM: 190)

試圖編譯*.ptxnvcc失敗默默,輸出什麼。

this image is quite helpful: enter image description here

有一些選項,我需要傳遞給ptxas?我應該如何通過單獨編譯通過ptx進行正確編譯?或者,我可以告訴nvcc保留ptx嗎?

回答

5

或者,我可以告訴nvcc保留ptx嗎?

是的,你可以告訴nvcc到keep all intermediate files,其中之一將是.ptx文件。

nvcc -keep ... 

保持所有的中間文件是有點亂,但我相信你能拿出一個腳本來收拾東西,只保存你想要的文件。