我知道 CUDA (不错),但我不知道PTX,所以我的问题是:
- 学习ptx代码是否有助于提高gpu(CUDA)代码的性能?
- 如果是的话,有没有办法写一个ptx代码,可以结合CUDA代码来提升性能?
根据我的个人经验,PTX 有助于调试/检查一个重要的问题。然而,我只做过一次。另外,请记住,PTX 只是编译器生成的直接代码,而不是在 GPU 上执行的实际汇编语言。
如果你真的想看机器码,它是在 PTX 之后组装的,NVIDA 提供了cuobjdump
. 我认为 PTX 有很多有用的信息和良好的文档,所以学习它会有所帮助。但是,CUDA 的一般优化策略包括:
对于第二个问题,是的,您可以通过inline PTX 在 CUDA 中编写 PTX。我从来没有这样做过。