据我所知,CUDA的PTX文件是由设备运行时编译的JIT的虚拟字节码。这意味着该文件是跨平台的,您可以生成PTX文件,并且可以在任何CUDA兼容设备上运行。但是,当我在文本编辑器中读取文件时,我看到这些指令“.file”,它们具有关于我编译它的原始计算机上的文件的信息。所以我不确定这些指令的目的是什么。另外,考虑到我生成的PTX文件不应该依赖这些文件,可以安全地删除它们吗? (就像如果我想开始写我自己的PTX发电机)。在CUDA的PTX文件中,“.file”指令的用途是什么?
1
A
回答
5
如果你检查你的函数体,你很可能会发现形式
指令.loc fileNum fileLine
这表明,这是从线fileLine
从文件fileNum
生成下面的代码。 fileNum
是一个索引整数,用于命名由您要求的.file
指令预先声明的文件。
这可以帮助您将您的源代码与生成的PTX输出关联起来。
在JIT编译期间,PTX被转换为本机GPU机器代码。在那里,那些.loc
和.file
根本不出现。它对最终的机器代码绝对没有影响。
+0
谢谢,那就是我一直在寻找的。作为补充,我注意到有一个.loc的第三个参数,它似乎总是为零。这有什么特别的意义吗? – bmillare
相关问题
- 1. CUDA .ptx文件是否可移植?
- 2. .info中文件[]的用途是什么?
- 3. 在CUDA PTX中,%warpid是什么意思呢?
- 4. x86中“PAUSE”指令的用途是什么?
- 5. C++中#define指令的用途是什么?
- 6. .jd文件的用途是什么?
- 7. Perforce文件“.perforce”的用途是什么?
- 8. Silverlight.js文件的用途是什么?
- 9. vshost文件的用途是什么?
- 10. MonkeyTalkAPI.js文件的用途是什么?
- 11. mdf文件的用途是什么?
- 12. unmanaged.dll.manifest文件的用途是什么?
- 13. .edmx文件的用途是什么?
- 14. features.h头文件的用途是什么?
- 15. CRX文件的用途是什么?
- 16. _p.h文件的用途是什么?
- 17. mongo.lock文件的用途是什么?
- 18. * .pro文件的用途是什么?
- 19. vshost.exe文件的用途是什么?
- 20. Symfony2 bootstrap.php.cache文件的用途是什么?
- 21. Schema.rb文件的用途是什么?
- 22. pdb文件的用途是什么?
- 23. “rawproto”文件的用途是什么?
- 24. cordova:platform_www文件夹的用途是什么?
- 25. .csproj文件的用途是什么?
- 26. File对象中webkitRelativePath属性的用途是什么?
- 27. “刷新令牌”的用途是什么?
- 28. 控制器在angularJS中的指令有什么用途
- 29. Apache认证指令AuthName的用途是什么?
- 30. 如何在CUDA C++代码中使用“红色”和“原子”PTX指令?
根据PTX规范,这些是调试指令。他们确实可以安全地移除AFAIK。我不是100%肯定,也不是100%确切的用途(虽然我能想象),所以只是一个评论。会对答案感兴趣。 – Bart