我想开始学习PTX,我应该从哪里开始呢?有没有好的书/资源可以做到这一点?
我已经知道x86/x64 ASM (或多或少),如果这可能会有帮助
发布于 2013-07-09 21:45:25
熟悉一些其他汇编语言将会有所帮助。
最权威的参考是PTX guide。尽管它是指令集的参考手册,但它的可读性相当好,前7章从对并行线程执行的相对基本的介绍开始,描述了所有的概念。
您可能还会对较短的文档感兴趣:
/usr/local/cuda/doc/pdf/Inline_PTX_Assembly.pdf
(在标准linux安装上。在windows上,只需搜索"Inline_PTX_Assembly.pdf“,PTX ISA 3.2文档也在那里)
本文档讨论了足够多的PTX,以便您可以尝试一些小片段,而不必构建一个完整的内核,如果您不想这样做的话。
您还应该知道可能有用的nvcc options,例如用于生成ptx代码的-ptx,用于消除大多数优化的-G (这会使生成的ptx难以理解),以及将使您的内核源代码行与生成的ptx交错的-src-in-ptx,以帮助您更好地理解。
最后,请注意,PTX实际上并不是机器运行的东西,尽管它很接近它。PTX是一个中间代码,它将经过额外的编译步骤来创建SASS代码,这是实际的机器码。您也可以使用cuobjdump实用程序(cuobjdump -sass mycode)检查SASS代码,但是SASS没有与PTX相同级别的文档。所以你应该从理解PTX开始。
https://stackoverflow.com/questions/17549504
复制相似问题