Rob*_*lla 12
这将有助于熟悉其他一些汇编语言.
最终参考是PTX指南.虽然它可以作为指令集的参考手册,但它具有相当的可读性,前7章左右的章节从相对基本的并行线程执行介绍开始,以描述所有概念.
您可能还对较短的文档感兴趣:
/usr/local/cuda/doc/pdf/Inline_PTX_Assembly.pdf
(在标准的linux安装上.在Windows上,只搜索"Inline_PTX_Assembly.pdf"PTX ISA 3.2文档也在那里)
本文档讨论了足够多的PTX,以便您可以尝试使用小片段而无需构建完整的内核,如果您不想这样做的话.
您还应该了解可能有用的nvcc选项,例如-ptx生成ptx代码,-G消除大多数优化(可能使生成的ptx难以理解),以及-src-in-ptx将内核源代码行与生成的内容交错ptx,另外有助于理解.
最后,请注意PTX实际上并不是机器运行的,尽管它接近它.PTX是一个中间代码,它将通过一个额外的编译步骤来创建SASS代码,这是实际的机器代码.您也可以使用cuobjdump实用程序(cuobjdump -sass mycode)检查SASS代码,但SASS与PTX的文档级别不同.所以你应该先了解一下PTX.