我想攔截NVIDIA GPU上的opencl程序的PTX級別。在NVIDIA GPU上編譯ptx代碼?
我想象例程可能看起來像這樣。首先,我編寫一個opencl程序(主機和設備代碼),使用NVIDIA編譯器生成相應的ptx代碼。然後,我通過修改PTX代碼來編寫我想要做的事情(請不要問我爲什麼不在設備C代碼上這麼做 - 我有一些原因)。但問題是,在修改後,如何將這個PTX代碼編譯爲二進制代碼?
我想攔截NVIDIA GPU上的opencl程序的PTX級別。在NVIDIA GPU上編譯ptx代碼?
我想象例程可能看起來像這樣。首先,我編寫一個opencl程序(主機和設備代碼),使用NVIDIA編譯器生成相應的ptx代碼。然後,我通過修改PTX代碼來編寫我想要做的事情(請不要問我爲什麼不在設備C代碼上這麼做 - 我有一些原因)。但問題是,在修改後,如何將這個PTX代碼編譯爲二進制代碼?
您可以使用包含在CUDA工具包中的ptxas。它將.ptx編譯爲.cubin,然後可以使用驅動程序API加載該文件。
使用CUDA工具鏈和CUDA驅動程序API。我不相信有一種方法可以用OpenCL處理彙編代碼或內聯彙編指令。 – talonmies 2012-07-09 07:02:38
這適用於CUDA http://wili.cc/blog/ptx.html。可能也適用於OpenCL – nouveau 2012-07-31 10:34:53