CUDA:了解PTX信息

Dou*_*oug 8 cuda

我没有找到有关PTX信息的有用信息--ptxas-options=-v 我发现2008 NVCC pdf有一个小的模糊,但没有细节.
1)什么64 bytes cmem[0], 12 bytes cmem[16]意思?我收集它指的是不断的记忆.我不在代码中使用任何常量mem,因此这必须来自编译器.(什么进入RO mem?)
2)什么49152+0 bytes smem意思?是的,它是共享内存,但这两个#是什么意思?
3)是否有一份文件可以帮助我解决这个问题?(它叫什么?)
4)我在哪里可以找到解释*.ptx文件的文档?(我希望能够阅读/理解cuda assy代码.)

ala*_*and 7

  1. cmem这里讨论.在您的情况下,它意味着64个字节用于将参数传递给内核,12个字节由编译器生成的常量占用.

  2. 如果是smem,第一个数字是代码请求的数据量,第二个数字(0)表示用于系统目的的内存量.

  3. 我不知道有关详细ptxas输出格式的任何官方信息.例如,在"CUDA占用计算器"中,他们只是简单地说,在smem没有任何探索的情况下对值进行求和.

  4. nVidia网站上有几个PTX文档.最基本的是PTX:并行线程执行ISA 3.0版.