【问题标题】:Learning PTX from scratch [closed]从头开始学习 PTX [关闭]
【发布时间】:2013-07-09 13:30:19
【问题描述】:

我想开始学习 PTX,我应该从哪里开始?有什么好书/资源可以做到这一点吗?

如果这可能有帮助,我已经知道 x86/x64 ASM(或多或少)

【问题讨论】:

    标签: cuda nvidia ptx


    【解决方案1】:

    熟悉一些其他的汇编语言会有所帮助。

    最终参考是PTX guide。虽然它作为指令集的参考手册,但它的可读性相当好,前 7 章左右从并行线程执行的相对基本介绍开始,描述了所有概念。

    您可能还对较短的文档感兴趣:

    /usr/local/cuda/doc/pdf/Inline_PTX_Assembly.pdf

    (在标准的 linux 安装上。在 Windows 上,只需搜索“Inline_PTX_Assembly.pdf”,PTX ISA 3.2 文档也在那里)

    本文档讨论了足够多的 PTX,因此如果您不想这样做,您可以尝试使用小 sn-ps,而无需使用它构建完整的内核。

    您还应该注意可能有用的nvcc options,例如-ptx 用于生成ptx 代码,-G 用于消除大多数优化(这会使生成的ptx 难以理解),以及@987654325 @ 这会将您的内核源代码行与生成的 ptx 交错,以进一步帮助您理解。

    最后,请注意 PTX 实际上并不是机器运行的,尽管它接近它。 PTX 是一个中间代码,它将经过额外的编译步骤来创建 SASS 代码,这是实际的机器代码。您也可以使用 cuobjdump 实用程序 (cuobjdump -sass mycode) 检查 SASS 代码,但 SASS 没有与 PTX 相同级别的文档。所以你应该从了解 PTX 开始。

    【讨论】:

    • 感谢您的帮助! :)
    猜你喜欢
    • 1970-01-01
    • 2010-09-13
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多