CUDA C状态, 就为了使用后者的>>语法, 然后再切换回PTX,实际上将会很折腾人, 而本章节中的讲述的做法, 以及, 较多的范例代码,可以让你保持在PTX状态, 直接利用动态并行能力启动kernel...本章节的内容实际上很少, 主要都是范例的代码, 我稍微说一下要点:
参数的设定方式不同.CUDA中实际上长期总有3种参数的设定方式的,最简单的是>>()语法, 这个语法能自动推导参数, 放入合适的位置...具体说是你需要在特定的一个缓冲区中, 在特定的位置上, 讲参数放置在上面.这里面的主要容易出错的点在于放置的位置....这个特性有的时候和本章节说的不同,在PTX中可能不容易看出来,
但是直接编译成目标代码(例如你的exe),
然后直接用cuobjdump看的时候, 会看到类似这种:
st [R0 + 0], ......(本章节内容), 先尝试在CUDA C里进行手工启动(不使用>>语法),确定自己明确了具体参数在缓冲区中的放置位置后, 能从CUDA C中启动kernel了,再切换到PTX.这样有时候可以少走一些弯路