代码之家  ›  专栏  ›  技术社区  ›  Jack Lloyd

CUDA设备如何处理即时操作数?

  •  0
  • Jack Lloyd  · 技术社区  · 16 年前

    用即时(整数)操作数编译CUDA代码,它们是保存在指令流中,还是放在内存中?具体来说,我考虑的是24或32位无符号整数操作数。

    到目前为止,我还没有在任何我检查过的CUDA文档中找到这方面的信息。因此,对任何关于特定UARCH细节的文档的引用都是完美的,因为我目前没有一个很好的模型来解释CUDA在这个级别上的工作方式。

    2 回复  |  直到 16 年前
        1
  •  3
  •   mch    16 年前

    Nvidia没有发布任何关于设备如何在这个级别工作的信息。有一个叫做decuda的工具,它可以反编译cubins,所以你可以看到机器代码。如果我记得,立即进入指令流,至少在德库达可以推断的范围内。德库达的问题是它只适用于CUDA 2.3或更低版本。他们将CUDA3.0中的可执行文件格式改为ELF,而Decuda的维护时间很长。

    最好的官方文件是 PTX documentation 但这记录了虚拟机isa,而不是真正的设备。

        2
  •  0
  •   Nils    16 年前

    如果我记得正确的整数除法(例如)是非常昂贵的,有些浮点运算(如sinf(..)完全在硬件中实现,因此速度很快。

    这篇演讲给了我一些启发:“计算物理的CUDA技巧” http://physics.bu.edu/~kbarros/talks/