據我所知,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