PTX代码性能

PTX code performance

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

根据我的个人经验,PTX 有助于解决 debugging/inspecting 一个重要的问题。然而,我只这样做过一次。另外,请记住,PTX 只是编译器生成的即时代码,不是 在 GPU 上执行的实际汇编语言。

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

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

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