2012-07-13 110 views
10

有誰知道如何用新的LLVM後端將C/C++代碼註釋爲PTX組裝器?如何在CUDA 4.1/4.2/5.0中輸出C/C++註釋的PTX

使用CUDA 4.0或更早版本可以輕鬆獲得它,但在將CUDA工具包升級到4.2版後,NVCC會拒絕所有標誌。

+0

我不知道用nvvm做到這一點的方法。儘管如此,文檔仍然非常粗略,所以可能有一種方法。 – talonmies 2012-07-14 14:25:19

回答

4

NVCC支持選項--source-in-ptx.

3

請問 nvcc.exe --opencc-options -LIST:source = on -ptx kernel.cu工作嗎?我已經安裝了cuda 4.2,並且該命令生成帶有註釋的ptx彙編程序行之間的C代碼的* .ptx文件。從CUDA 6.0預覽

+0

不要爲我工作:'nvcc警告:選項'--opencc-options(-Xopencc)'已過時並被忽略,當針對compute_20,sm_20或更高時' – 2012-07-18 17:58:41

+4

[Here](http://webcache.googleusercontent .com/search?q = cache:7IFbmpUoYdMJ:forums.nvidia.com/index.php%3Fshowtopic%3D217257%26view%3Dold+&cd=4&hl=ru&ct=clnk&client=firefox-a)由nvidia回答。簡而言之,該功能即「混合列表」功能與特定於組件的標誌相關聯。由於CUDA 4.1及更高版本引入了sm_2x及更高版本的新前端,該組件已被替換,因此該標誌不再被接受。如果你只是想用它們作爲標記,你可以通過插入內聯PTX-「彙編器」註釋來創建你自己的'asm volatile(「// this is line ...」);'' – Insomnious 2012-07-18 18:24:04

2

您可能需要使用--source-in-ptx-G NVCC標誌來看到PTX文件的原代碼。