PTX代码性能
PTX code performance
我知道 CUDA(不错),但我不知道 PTX,所以我的问题是:
- 学习ptx代码是否有助于提高gpu(CUDA)的性能
代码?
- 如果有,有没有办法写一个ptx代码,可以结合
CUDA代码提升性能?
根据我的个人经验,PTX 有助于解决 debugging/inspecting 一个重要的问题。然而,我只这样做过一次。另外,请记住,PTX 只是编译器生成的即时代码,不是 在 GPU 上执行的实际汇编语言。
如果真要看机器码,是PTX后汇编的,NVIDA提供cuobjdump
。我认为 PTX 有很多有用的信息和很好的文档,所以学习它会有所帮助。但是,CUDA 的一般优化策略包括:
- 最小化内存事务,尤其是 device/host
之间的数据传输
- 合并全局内存访问
- 通过内核配置提高设备利用率
- 避免扭曲发散
关于你的第二个问题,是的,你可以通过 inline PTX 在 CUDA 中编写 PTX。不过我从来没有这样做过。
我知道 CUDA(不错),但我不知道 PTX,所以我的问题是:
- 学习ptx代码是否有助于提高gpu(CUDA)的性能 代码?
- 如果有,有没有办法写一个ptx代码,可以结合 CUDA代码提升性能?
根据我的个人经验,PTX 有助于解决 debugging/inspecting 一个重要的问题。然而,我只这样做过一次。另外,请记住,PTX 只是编译器生成的即时代码,不是 在 GPU 上执行的实际汇编语言。
如果真要看机器码,是PTX后汇编的,NVIDA提供cuobjdump
。我认为 PTX 有很多有用的信息和很好的文档,所以学习它会有所帮助。但是,CUDA 的一般优化策略包括:
- 最小化内存事务,尤其是 device/host 之间的数据传输
- 合并全局内存访问
- 通过内核配置提高设备利用率
- 避免扭曲发散
关于你的第二个问题,是的,你可以通过 inline PTX 在 CUDA 中编写 PTX。不过我从来没有这样做过。