据我所知,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. .info中文件[]的用途是什么?
- 2. C++中#define指令的用途是什么?
- 3. * .pro文件的用途是什么?
- 4. .edmx文件的用途是什么?
- 5. Perforce文件“.perforce”的用途是什么?
- 6. unmanaged.dll.manifest文件的用途是什么?
- 7. vshost.exe文件的用途是什么?
- 8. cordova:platform_www文件夹的用途是什么?
- 9. _p.h文件的用途是什么?
- 10. Silverlight.js文件的用途是什么?
- 11. pdb文件的用途是什么?
- 12. vshost文件的用途是什么?
- 13. “刷新令牌”的用途是什么?
- 14. 如何在CUDA C++代码中使用“红色”和“原子”PTX指令?
- 15. 当使用内联PTX asm()指令时,'volatile'会做什么?
- 16. ASP.NET Handler(.ashx)文件的用途和用途是什么?
- 17. 什么是GPX文件?它的用途是什么?
- 18. VB中CLS文件和DLL文件的用途是什么?
- 19. 在Rust中,mod.rs文件的用途是什么?
- 20. prefetch和prefetchu ptx指令有什么区别?
- 21. jar的META-INF文件夹中的pom.xml的用途是什么?
- 22. 我的文件中该代码的用途是什么?
- 23. 为什么FILE指针不能读取文件中的内容?
- 24. Silverlight应用程序中AppManifest.xaml文件的用途是什么?
- 25. `$ .support.ownLast`的用途是什么?
- 26. TPopupActionBar的用途是什么?
- 27. _GLOBAL__I_的用途是什么?
- 28. $ _POST的用途是什么?
- 29. “$ this”的用途是什么?
- 30. CreateSilverlight.js的用途是什么?
根据PTX规范,这些是调试指令。他们确实可以安全地移除AFAIK。我不是100%肯定,也不是100%确切的用途(虽然我能想象),所以只是一个评论。会对答案感兴趣。 – Bart