0

我知道 CUDA (不错),但我不知道PTX,所以我的问题是:

  • 学习ptx代码是否有助于提高gpu(CUDA)代码的性能?
  • 如果是的话,有没有办法写一个ptx代码,可以结合CUDA代码来提升性能?
4

1 回答 1

4

根据我的个人经验,PTX 有助于调试/检查一个重要的问题。然而,我只做过一次。另外,请记住,PTX 只是编译器生成的直接代码,而不是在 GPU 上执行的实际汇编语言。

如果你真的想看机器码,它是在 PTX 之后组装的,NVIDA 提供了cuobjdump. 我认为 PTX 有很多有用的信息和良好的文档,所以学习它会有所帮助。但是,CUDA 的一般优化策略包括:

  • 最小化内存事务,尤其是设备/主机之间的数据传输
  • 合并全局内存访问
  • 通过内核配置提高设备利用率
  • 避免翘曲发散

对于第二个问题,是的,您可以通过inline PTX 在 CUDA 中编写 PTX。我从来没有这样做过。

于 2016-03-29T21:02:19.673 回答